e262060d9b
Accepting request 1326789 from multimedia:libs
Ana Guerrero2026-01-13 20:23:22 +00:00
cbf015235d
- Update to version 0.5.13: * Additions & Enhancements: - Added internal filter graph support for audio nodes, allowing users to create audio preprocessing and postprocessing chains without exposing filters to applications, useful for software DSP (!743 (merged)) - Added new Lua Properties API that significantly improves performance by avoiding constant serialization between WpProperties and Lua tables, resulting in approximately 40% faster node linking (!757 (merged)) - Added WpIterator Lua API for more efficient parameter enumeration (!746 (merged)) - Added bash completions for wpctl command (!762 (merged)) - Added script to find suitable volume control when using role-based policy, allowing volume sliders to automatically adjust the volume of the currently active role (e.g., ringing, call, media) (!711 (merged)) - Added experimental HDMI channel detection setting to use HDMI ELD information for channel configuration (!749 (merged)) - Enhanced role-based policy to allow setting preferred target sinks for media role loopbacks via policy.role-based.preferred-target (!754 (merged)) - Enhanced Bluetooth profile autoswitch logic to be more robust and handle saved profiles correctly, including support for loopback sink nodes (!739 (merged)) - Enhanced ALSA monitor to include alsa.* device properties on nodes for rule matching (!761 (merged)) - Optimized stream node linking for common cases to reduce latency when new audio/video streams are added (!760) - Improved event dispatcher performance by using hash table
Antonio Larrosa2026-01-12 13:16:38 +00:00
0d87607110
- Update to version 0.5.12: * Additions & Enhancements: - Added mono audio configuration support via node.features.audio.mono setting that can be changed at runtime with wpctl (!721) - Added automatic muting of ALSA devices when a running node is removed, helping prevent loud audio on speakers when headsets are unplugged (!734) - Added notifications API module for sending system notifications (!734) - Added comprehensive wpctl man page and documentation (!735, #825) - Enhanced object interest handling for PipeWire properties on session items (!738) * Fixes: - Fixed race condition during shutdown in the permissions portal module that could cause crashes in GDBus signal handling (!748). - Added device validity check in state-routes handling to prevent issues when devices are removed during async operations (!737, #844) - Fixed Log.critical undefined function error in device-info-cache (!733) - Improved device hook documentation and configuration (!736) - Add patch from upstream to avoid dispatcher errors in the log when registering/removing hooks that were already registered/removed before: * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch
Antonio Larrosa2025-10-16 11:24:31 +00:00
4b020f977c
Accepting request 1302476 from multimedia:libs
Ana Guerrero2025-09-03 19:07:14 +00:00
c207b0e44b
- Update to version 0.5.11: * Additions & Enhancements: - Added modem manager module for tracking voice call status and voice call device profile selection hooks to improve phone call audio routing on mobile devices (!722, !729, #819) - Added MPRIS media player pause functionality that automatically pauses media playback when the audio target (e.g. headphones) is removed (!699, #764) - Added support for human-readable names and localization of settings in wireplumber.conf with wpctl displaying localized setting descriptions (!712) - Improved default node selection logic to use both session and route priorities when nodes have equal session priorities (!720) - Increased USB device priority in the ALSA monitor (!719) * Fixes: - Fixed multiple Lua runtime issues including type confusion bugs, stack overflow prevention, and SPA POD array/choice builders (!723, !728) - Fixed proxy object lifecycle management by properly clearing the OWNED_BY_PROXY flag when proxies are destroyed to prevent dangling pointers (!732) - Fixed state-routes handling to prevent saving unavailable routes and eliminate race conditions during profile switching (!730, #762) - Fixed some memory leaks in the script tester and the settings iterator (!727, !726) - Fixed a potential crash caused by module-loopback destroying itself when the pipewire connection is closed (#812) - Fixed profile saving behavior in wpctl set-profile command
Antonio Larrosa2025-09-02 17:11:07 +00:00
80dab34f4f
- Use Supplements: pulseaudio in wireplumber-video-only-profile to get it automatically installed in systems using pulseaudio.
Antonio Larrosa2025-05-14 07:25:05 +00:00
57ab4b4c5b
- Add patch and rework how we enable/disable audio support in pipewire/wireplumber to use upstream provided profiles instead of custom config files modifications. We now support audio with the default wireplumber package and only when the wireplumber-video-only-profile package is installed, wireplumber will not use audio (allowing to use pulseaudio instead). This means we now set the profile using an environment variable in the wireplumber user service that has a default value of "main" and is set in /usr/etc/wireplumber.conf to "video-only" by the mentioned package . A user can override the value in /etc/wireplumber.conf. * set-profile-in-service.patch
Antonio Larrosa2025-05-14 06:46:01 +00:00
375d48ec41
Accepting request 1244811 from multimedia:libs
Ana Guerrero2025-02-11 20:21:09 +00:00
56aeee93ab
- Update to version 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)
Antonio Larrosa2025-02-10 16:37:19 +00:00
dcfc9f1ada
Accepting request 1228288 from multimedia:libs
Ana Guerrero2024-12-05 16:05:16 +00:00
4208d2399f
- 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
Antonio Larrosa2024-12-04 11:44:23 +00:00
1da9900317
Accepting request 1216777 from multimedia:libs
Ana Guerrero2024-10-22 12:50:39 +00:00
61e522ecbd
- 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
Antonio Larrosa2024-10-21 16:00:28 +00:00
f669e2ef2f
Accepting request 1199874 from multimedia:libs
Ana Guerrero2024-09-10 19:12:55 +00:00
8be65e914c
Remove old source, which was forgotten during the update
Antonio Larrosa2024-09-10 11:30:28 +00:00
b8e5f6d90f
- 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)
Takashi Iwai2024-09-10 08:07:33 +00:00
e85f472bbc
Accepting request 1184890 from multimedia:libs
Ana Guerrero2024-07-02 16:15:31 +00:00
a62e97d55b
Accepting request 1184889 from home:alarrosa:branches:multimedia:libs
Antonio Larrosa2024-07-02 14:35:25 +00:00
a8da928474
Accepting request 1184790 from home:alarrosa:branches:multimedia:libs
Antonio Larrosa2024-07-02 08:21:28 +00:00
8721d33a73
Accepting request 1183792 from multimedia:libs
Ana Guerrero2024-06-29 13:16:32 +00:00
890a40c5be
- 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
Antonio Larrosa2024-06-28 06:32:57 +00:00
0898a0589a
Accepting request 1183419 from multimedia:libs
Ana Guerrero2024-06-27 13:58:05 +00:00
7e7968abfc
- 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
Antonio Larrosa2024-06-26 11:36:12 +00:00
821058301c
Accepting request 1179668 from multimedia:libs
Ana Guerrero2024-06-11 16:27:14 +00:00