Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: wireplumber | Distribution: openSUSE Tumbleweed |
Version: 0.5.7 | Vendor: openSUSE |
Release: 1.2 | Build date: Wed Dec 4 11:29:34 2024 |
Group: Development/Libraries/C and C++ | Build host: reproducible |
Size: 865761 | Source RPM: wireplumber-0.5.7-1.2.src.rpm |
Packager: http://bugs.opensuse.org | |
Url: https://gitlab.freedesktop.org/pipewire/wireplumber | |
Summary: Session / policy manager implementation for PipeWire |
WirePlumber is a modular session / policy manager for PipeWire and a GObject-based high-level library that wraps PipeWire's API, providing convenience for writing the daemon's modules as well as external tools for managing PipeWire.
MIT
* Wed Dec 04 2024 Antonio Larrosa <alarrosa@suse.com> - Update to version 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) - Remove patches that are already included in 0.5.7: * 0001-autoswitch-bluetooth-profile-switch-only-Bluetooth-devices.patch * 0002-autoswitch-bluetooth-profile-Switch-to-HSP_HFP-on-timeout.patch * 0003-m-mixer-api-Fix-memory-in-leak-wp_mixer_api_set_volume.patch * 0004-module-dbus-connection-fix-GCancellable-leak.patch * Mon Oct 21 2024 Antonio Larrosa <alarrosa@suse.com> - Add patch from upstream to fix switching automatically the profile of non-bluetooth devices (boo#1231815): * 0001-autoswitch-bluetooth-profile-switch-only-Bluetooth-devices.patch - Add patch from upstream to fix switching automatically the profile when starting some apps and then switching to the previous profile: * 0002-autoswitch-bluetooth-profile-Switch-to-HSP_HFP-on-timeout.patch - Add patches from upstream to fix a couple of memory leaks: * 0003-m-mixer-api-Fix-memory-in-leak-wp_mixer_api_set_volume.patch * 0004-module-dbus-connection-fix-GCancellable-leak.patch * Mon Sep 09 2024 Frederic Crozat <fcrozat@suse.com> - Update to version 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) * Tue Jul 02 2024 Antonio Larrosa <alarrosa@suse.com> - Update to version 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) * Fri Jun 28 2024 alarrosa@suse.com - Update to version 0.5.4+git2.96dc045: * l/find-best-target: Allow regular filters to be best targets * linking-utils: fallback to role priority 0 if none is defined * Fri Jun 28 2024 Antonio Larrosa <alarrosa@suse.com> - Update to version 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) * Wed Jun 26 2024 alarrosa@suse.com - Update to version 0.5.3+git11.4868b3c: * get-filter-from-target: Don't bypass the hook if the session item is a regular filter * filter-utils: Allow smart filters to have as target filters that are not smart * tests: skip some tests when audiotestsrc is unavailable * scripts/device: avoid crashing if the device.name is not set * tests/examples: add example on how to set node "params" under Props * autoswitch-bluetooth-profile: Always destroy the restore timeout source before switching * node/software-dsp: ensure that filter chains are properly unloaded * scripts: Fix autoswitch BT profile when using filters * bluez: Don't create loopback source if autoswitch setting is disabled * conf: further improve how top-level objects are handled * conf: skip empty configuration files to avoid crashing * Tue Jun 04 2024 Alexei Sorokin <sor.alexei@meowr.ru> - Update to version 0.5.3: * Fixes: - Fix 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. - Fix 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. - Fix an occasional crash that could sometimes be triggered by hovering the volume icon on the KDE taskbar, and possibly other similar actions. - Fix camera device deduplication logic when the same device is available through both V4L2 and libcamera, and the libcamera one groups multiple V4L2 devices together. - Fix applying the default volume on streams that have no volume previously stored in the state file. - Fix an issue that would prevent some camera nodes, in some cases, from being destroyed when the camera device is removed. - Fix an issue that would cause video stream nodes to be linked with audio smart filters, if smart audio filters were configured. - Fix an issue that would cause WP to re-activate device profiles even though they were already active. - Configuration files in standard JSON format (starting with a '{', among other things) are now correctly parsed. - Fix overriding non-container values when merging JSON objects. - Functions marked with WP_PRIVATE_API are now also marked as non-introspectable in the gobject-introspection metadata. * 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. - Add a video-only profile in wireplumber.conf, for systems where only camera & screensharing are to be used. - Improve 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. - Improve how main filter nodes are detected for the smart filters. - Add Lua method to merge JSON containers. - Remove patch already included upstream: * 0001-lua-json-fix-error-ouput.patch * 0002-lua-json-add-method-to-merge-json-containers.patch * 0003-json-utils-fix-overriding-of-non-container-values-when.patch * 0004-transition-fix-memleak-when-error-set.patch * 0005-transition-ensure-single-completion-and-finish.patch * 0006-linking-return-after-aborting-transition.patch * 0007-state-stream-fix-using-default-volume.patch * Sat May 25 2024 Alexei Sorokin <sor.alexei@meowr.ru> - Add patches from upstream to fix a crash for aborted links: * 0004-transition-fix-memleak-when-error-set.patch * 0005-transition-ensure-single-completion-and-finish.patch * 0006-linking-return-after-aborting-transition.patch - Add patch from upstream to fix default playback volume ignore: * 0007-state-stream-fix-using-default-volume.patch * Mon May 06 2024 Antonio Larrosa <alarrosa@suse.com> - Better fix for (bsc#1223916) that basically turns the main profile into the (to be in 0.5.3) video-only profile unless wireplumber-audio is installed which now turns the main profile into exactly upstream's main profile. * Mon May 06 2024 Antonio Larrosa <alarrosa@suse.com> - Add patch from upstream to fix a json log issue: * 0001-lua-json-fix-error-ouput.patch - Add patch from upstream to add a method to merge json containers: * 0002-lua-json-add-method-to-merge-json-containers.patch - Add patch from upstream to fix merging a particular case of configuration options: * 0003-json-utils-fix-overriding-of-non-container-values-when.patch - Fix wireplumber not starting successfully when audio support is not enabled since the main profile now requires it. The best option would be to use a video-only profile but it's too late to change the way wireplumber is started in SLE/Leap, so the solution just makes audio/bluetooth optional for now (bsc#1223916) * split-config-file.py * Tue Apr 23 2024 Antonio Larrosa <alarrosa@suse.com> - Update to version 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) - Remove patches from upstream that are already in 0.5.2: * 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch * 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch * 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch * Mon Apr 15 2024 Antonio Larrosa <alarrosa@suse.com> - Add patch from upstream to silence a warning on pipewire (since 1.0.5): * 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch - Add patch from upstream to fix a dangling reference to a device: * 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch - Add patch from upstream to fix BAP node naming: * 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch * Mon Apr 01 2024 Antonio Larrosa <alarrosa@suse.com> - Update to version 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. Installing the wireplumber-doc subpackage, this file can be read by running: xdg-open /usr/share/doc/wireplumber/html/daemon/configuration/migration.html * 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) - Remove patch already included upstream: * 0001-filter-utils-fix-handling-of-targetless-smart-filters.patch - Enable documentation generation and create new doc subpackage including the documentation that can be read by running: xdg-open /usr/share/doc/wireplumber/html/index.html * Fri Mar 22 2024 Antonio Larrosa <alarrosa@suse.com> - Add patch from upstream to fix all input sources only working when bluetooth profile is set to HSF/HFP, which was a regression in 0.5.0 (glfo#pipewire/wireplumber#598): * 0001-filter-utils-fix-handling-of-targetless-smart-filters.patch * Tue Mar 19 2024 Richard Biener <rguenther@suse.com> - Avoid %if %{pkg_vcmp gcc < 8}, instead replicate the condition from the BuildRequires section. * Mon Mar 18 2024 Antonio Larrosa <alarrosa@suse.com> - Update to version 0.5.0: * Changes: - Bumped the minimum required version of PipeWire to 1.0.2, because we make use of the 'api.bluez5.internal' property of the BlueZ monitor (!613) - Improved the naming of Bluetooth nodes when the auto-switching loopback node is present (!614) - Updated the documentation on "settings", the Bluetooth monitor, the Access configuration, the file search locations and added a document on how to modify the configuration file (#595, !616) * Fixes: - Fixed checking for available routes when selecting the default node (!609) - Fixed an issue that was causing an infinite loop storing routes in the state file (!610) - Fixed the interpretation of boolean values in the alsa monitor rules (#586, !611) - Fixes a Lua crash when we have 2 smart filters, one with a target and one without (!612) - Fixed an issue where the default nodes would not be updated when the currently selected default node became unavailable (#588, !615) - Fixed an issue that would cause the Props (volume, mute, etc) of loopbacks and other filter nodes to not be restored at startup (#577, !617) - Fixed how some constants were represented in the gobject-introspection file, mostly by converting them from defines to enums (#540, #591) - Fixed an issue using WirePlumber headers in other projects due to redefinition of G_LOG_DOMAIN (#571) * Tue Mar 12 2024 alarrosa@suse.com - 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 * docs: update the documentation around file search locations * scripts: rescan linkables when device EnumRoute param changes * scripts: fix available routes check when selecting the default node * scripts: fix typo in rescan-virtual-links.lua - Remove patch already included in the upstream version * 0001-scripts-fix-typo-in-rescan-virtual-links.lua.patch - Set minimum pipewire version to 1.0.2 * Wed Mar 06 2024 Antonio Larrosa <alarrosa@suse.com> - Revert that last change. Obsoletes shouldn't be used for that. * Wed Mar 06 2024 Antonio Larrosa <alarrosa@suse.com> - Obsolete libwireplumber-0_4-0 from libwireplumber-0_5-0 * Tue Mar 05 2024 Antonio Larrosa <alarrosa@suse.com> - Add patch from upstream to fix a typo a lua script: * 0001-scripts-fix-typo-in-rescan-virtual-links.lua.patch * Tue Mar 05 2024 Antonio Larrosa <alarrosa@suse.com> - 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 done early at startup. Finally, WpConf loads all sections lazily, keeping the underlying files memory mapped until it is closed and merging them on demand (!601, !606) - Remove patch that's already included: * 0001-wpctl-add-settings-subcomand-to-show_-delete-or-change.patch * Mon Feb 19 2024 Antonio Larrosa <alarrosa@suse.com> - 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 * Thu Feb 15 2024 Antonio Larrosa <alarrosa@suse.com> - 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 parameter of devices, which includes volume state - Smart filters can now be targetted by specific streams directly when the filter.smart.targetable property is set - Ported the mechanism to override device profile priorities in the configuration, which is used to re-prioritize Bluetooth codecs - WpSettings is no longer a singleton class and there is a built-in component to preload an instance of it * Mon Feb 05 2024 Antonio Larrosa <alarrosa@suse.com> - Update to version 0.4.81 * Highlights: - Lua scripts have been refactored to use the new event dispatcher API, which allows them to be split into multiple small fragments that react to events in a specified order. This allows scripts to be more modular and easier to maintain, as well as more predictable in terms of execution order. - The configuration system has been refactored to use a single SPA-JSON file, like PipeWire does, with support for fragments that can override options. This file is also now loaded using PipeWire's configuration API, which effectively means that the file is now loaded from the PipeWire configuration directories, such as /etc/pipewire and $XDG_CONFIG_HOME/pipewire. - The configuration system now has the concept of profiles, which are groups of components that can be loaded together, with the ability to mark certain components as optional. This allows having multiple configurations that can be loaded using the same configuration file. Optional components also allow loading the same profile gracefully on different setups, where some components may not be available (ex, loading of the session D-Bus plugin on a system-wide PipeWire setup now does not fail). - Many configuration options are now exposed in the sm-settings metadata, which allows changing them at runtime. This can be leveraged in the future to implement configuration tools that can modify WirePlumber's behaviour dynamically, without restarting. - A new "filters" system has been implemented, which allows specifying chains of "filter" nodes to be dynamically linked in-between streams and devices. This is achieved with certain properties and metadata that can be set on the filter nodes themselves. - The default linking policy now reads some more target.* properties from nodes, which allows fine-tuning some aspects of their linking behaviour, such as whether they are allowed to be re-linked or whether an error should be sent to the client if they cannot be linked. - Some state files have been renamed and some have changed format to use JSON for storing complex values, such as arrays. This may cause some of the old state to be lost on upgrade, as there is no transition path implemented. - The libcamera and V4L2 monitors have a "device deduplication" logic built-in, which means that for each physical camera device, only one node will be created, either from libcamera or V4L2, depending on which one is considered better for the device. This is mainly to avoid having multiple nodes for the same camera device, which can cause confusion when looking at the list of available cameras in applications. - Bump apiver to 0.5 - Rewrite split-config-file.py to work with the new config subsystem - Remove patch which isn't applying anymore and whose fix is now handled by the split-config-file.py script: * fix-bsc1219411.patch * Mon Feb 05 2024 Antonio Larrosa <alarrosa@suse.com> - Add patch to only enable bluetooth when audio support is enabled by installing wireplumber-audio (bsc#1219411): * fix-bsc1219411.patch * Tue Dec 05 2023 Alexei Sorokin <sor.alexei@meowr.ru> - Update to version 0.4.17: * Fixes: - Fix a reference counting issue in the object managers that could cause crashes due to memory corruption. - Fix an issue with filters linking to wrong targets, often with two sets of links. - Fix a crash in the endpoints policy that would show up when log messages were enabled at level 3 or higher. * Sun Nov 26 2023 Antonio Larrosa <alarrosa@suse.com> - 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 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 - Remove patches included upstream: * 0001-object-manager-reduce-the-amount-of-globals-that-initially.patch * 0002-object-manager-use-an-idle-callback-to-expose-tmp-globals.patch * 0001-policy-dsp-add-ability-to-hide-parent-nodes.patch - Update split-config-file.py * Tue Oct 31 2023 Antonio Larrosa <alarrosa@suse.com> - 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 * Fri Oct 13 2023 Antonio Larrosa <alarrosa@suse.com> - 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 - 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 - Fixed a JSON encoding bug with empty strings - 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 - Add zsh-completion subpackage * Fri May 19 2023 Alexei Sorokin <sor.alexei@meowr.ru> - Require wireplumber-audio if pipewire-jack is installed. - Recommend pipewire-jack in wireplumber-audio. * Fri Mar 10 2023 Alexei Sorokin <sor.alexei@meowr.ru> - 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 * Fri Jan 13 2023 Antonio Larrosa <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 Antonio Larrosa <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 Alexei Sorokin <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 Antonio Larrosa <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 Alexei Sorokin <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 Atri Bhattacharya <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 Fabian Vogt <fvogt@suse.com> - Add patch to fix crash on session end: * 0001-dbus-fix-crash-when-trying-to-reconnect.patch * Fri Jul 08 2022 Fabian Vogt <fvogt@suse.com> - Add patch to fix alsa device creation: * fix-alsa.patch * Tue Jul 05 2022 Alexei Sorokin <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 Alexei Sorokin <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 * Wed Mar 30 2022 Antonio Larrosa <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 Antonio Larrosa <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 Antonio Larrosa <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 Alexei Sorokin <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 Antonio Larrosa <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 Antonio Larrosa <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 Callum Farmer <gmbr3@opensuse.org> - Use the default lua instead of hardcoding 5.3 * Tue Jan 25 2022 Antonio Larrosa <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 Antonio Larrosa <alarrosa@suse.com> - Reformat .changes file to limit lines to 67 chars when possible. * Sat Jan 08 2022 Alexei Sorokin <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
/usr/bin/wireplumber /usr/bin/wpctl /usr/bin/wpexec /usr/lib/systemd/user/wireplumber.service /usr/lib/systemd/user/wireplumber@.service /usr/lib/wireplumber-0.5 /usr/lib/wireplumber-0.5/libwireplumber-module-dbus-connection.so /usr/lib/wireplumber-0.5/libwireplumber-module-default-nodes-api.so /usr/lib/wireplumber-0.5/libwireplumber-module-file-monitor-api.so /usr/lib/wireplumber-0.5/libwireplumber-module-log-settings.so /usr/lib/wireplumber-0.5/libwireplumber-module-logind.so /usr/lib/wireplumber-0.5/libwireplumber-module-lua-scripting.so /usr/lib/wireplumber-0.5/libwireplumber-module-mixer-api.so /usr/lib/wireplumber-0.5/libwireplumber-module-portal-permissionstore.so /usr/lib/wireplumber-0.5/libwireplumber-module-reserve-device.so /usr/lib/wireplumber-0.5/libwireplumber-module-settings.so /usr/lib/wireplumber-0.5/libwireplumber-module-si-audio-adapter.so /usr/lib/wireplumber-0.5/libwireplumber-module-si-node.so /usr/lib/wireplumber-0.5/libwireplumber-module-si-standard-link.so /usr/lib/wireplumber-0.5/libwireplumber-module-standard-event-source.so /usr/share/doc/wireplumber /usr/share/doc/wireplumber/examples /usr/share/doc/wireplumber/examples/wireplumber.conf.d /usr/share/doc/wireplumber/examples/wireplumber.conf.d/access.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/alsa.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/bluetooth.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/device.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/libcamera.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/linking.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/log.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/media-role-nodes.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/profile.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/smart-equalizer.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/stream.conf /usr/share/doc/wireplumber/examples/wireplumber.conf.d/v4l2.conf /usr/share/wireplumber /usr/share/wireplumber/scripts /usr/share/wireplumber/scripts/client /usr/share/wireplumber/scripts/client/access-default.lua /usr/share/wireplumber/scripts/client/access-portal.lua /usr/share/wireplumber/scripts/client/access-snap.lua /usr/share/wireplumber/scripts/default-nodes /usr/share/wireplumber/scripts/default-nodes/apply-default-node.lua /usr/share/wireplumber/scripts/default-nodes/find-best-default-node.lua /usr/share/wireplumber/scripts/default-nodes/find-selected-default-node.lua /usr/share/wireplumber/scripts/default-nodes/rescan.lua /usr/share/wireplumber/scripts/default-nodes/state-default-nodes.lua /usr/share/wireplumber/scripts/device /usr/share/wireplumber/scripts/device/apply-profile.lua /usr/share/wireplumber/scripts/device/apply-routes.lua /usr/share/wireplumber/scripts/device/autoswitch-bluetooth-profile.lua /usr/share/wireplumber/scripts/device/find-best-profile.lua /usr/share/wireplumber/scripts/device/find-best-routes.lua /usr/share/wireplumber/scripts/device/find-preferred-profile.lua /usr/share/wireplumber/scripts/device/select-profile.lua /usr/share/wireplumber/scripts/device/select-routes.lua /usr/share/wireplumber/scripts/device/state-profile.lua /usr/share/wireplumber/scripts/device/state-routes.lua /usr/share/wireplumber/scripts/fallback-sink.lua /usr/share/wireplumber/scripts/lib /usr/share/wireplumber/scripts/lib/common-utils.lua /usr/share/wireplumber/scripts/lib/device-info-cache.lua /usr/share/wireplumber/scripts/lib/filter-utils.lua /usr/share/wireplumber/scripts/lib/linking-utils.lua /usr/share/wireplumber/scripts/lib/monitor-utils.lua /usr/share/wireplumber/scripts/lib/node-utils.lua /usr/share/wireplumber/scripts/linking /usr/share/wireplumber/scripts/linking/find-best-target.lua /usr/share/wireplumber/scripts/linking/find-default-target.lua /usr/share/wireplumber/scripts/linking/find-defined-target.lua /usr/share/wireplumber/scripts/linking/find-filter-target.lua /usr/share/wireplumber/scripts/linking/find-media-role-target.lua /usr/share/wireplumber/scripts/linking/find-user-target.lua.example /usr/share/wireplumber/scripts/linking/get-filter-from-target.lua /usr/share/wireplumber/scripts/linking/link-target.lua /usr/share/wireplumber/scripts/linking/prepare-link.lua /usr/share/wireplumber/scripts/linking/rescan-media-role-links.lua /usr/share/wireplumber/scripts/linking/rescan.lua /usr/share/wireplumber/scripts/metadata.lua /usr/share/wireplumber/scripts/monitors /usr/share/wireplumber/scripts/monitors/alsa-midi.lua /usr/share/wireplumber/scripts/monitors/alsa.lua /usr/share/wireplumber/scripts/monitors/bluez-midi.lua /usr/share/wireplumber/scripts/monitors/bluez.lua /usr/share/wireplumber/scripts/monitors/libcamera /usr/share/wireplumber/scripts/monitors/libcamera/create-device.lua /usr/share/wireplumber/scripts/monitors/libcamera/create-node.lua /usr/share/wireplumber/scripts/monitors/libcamera/enumerate-device.lua /usr/share/wireplumber/scripts/monitors/libcamera/name-device.lua /usr/share/wireplumber/scripts/monitors/libcamera/name-node.lua /usr/share/wireplumber/scripts/monitors/v4l2 /usr/share/wireplumber/scripts/monitors/v4l2/create-device.lua /usr/share/wireplumber/scripts/monitors/v4l2/create-node.lua /usr/share/wireplumber/scripts/monitors/v4l2/enumerate-device.lua /usr/share/wireplumber/scripts/monitors/v4l2/name-device.lua /usr/share/wireplumber/scripts/monitors/v4l2/name-node.lua /usr/share/wireplumber/scripts/node /usr/share/wireplumber/scripts/node/create-item.lua /usr/share/wireplumber/scripts/node/filter-forward-format.lua /usr/share/wireplumber/scripts/node/software-dsp.lua /usr/share/wireplumber/scripts/node/state-stream.lua /usr/share/wireplumber/scripts/node/suspend-node.lua /usr/share/wireplumber/scripts/sm-objects.lua /usr/share/wireplumber/wireplumber.conf /usr/share/wireplumber/wireplumber.conf.d /usr/share/wireplumber/wireplumber.conf.d/alsa-vm.conf
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Jan 12 02:11:34 2025