<?xml version="1.0" encoding="UTF-8"?>
<otherdata xmlns="http://linux.duke.edu/metadata/other" packages="45">
<package pkgid="3ebb42331f62ca7423935bb6d0024d6d2dcc4abe3cb813d5032b8c7e27d16f99" name="libwireplumber-0_5-0" arch="aarch64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="ac829a1dd937a0462d97f7e1205b2487ff36769da215b64b0cbbdaf7034737c3" name="libwireplumber-0_5-0" arch="i586">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="e0adc65f60b44e7fcddc67d55cfe477d228be42a5290ead50d0c79d2e970a993" name="libwireplumber-0_5-0" arch="ppc64le">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="bcda8d894354f7118c42dbd21f926230fd8389d409de3471ac96db8a629de90b" name="libwireplumber-0_5-0" arch="s390x">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="6e81f4a6ef48cfc15cd850a255c6f22f7e082bee680d66cae611d6224192a341" name="libwireplumber-0_5-0" arch="x86_64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="bd38098e9637ca712dd856c0168cf47df2bc7ed9df31e3255036c6dd2321f87b" name="libwireplumber-0_5-0-debuginfo" arch="aarch64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="71a2f8cfa605c93d72e57957a03037737d82f450e6425493a376da26669c5bcd" name="libwireplumber-0_5-0-debuginfo" arch="i586">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="906efb9152c419718a145a5ccfa77c1bb276015765ec5f3c8c38d45aecd72f4b" name="libwireplumber-0_5-0-debuginfo" arch="ppc64le">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="4499e3fdc9b4641c24ebbcbefb241527ff0c723fd5d0aa38ff61777d4c79525f" name="libwireplumber-0_5-0-debuginfo" arch="s390x">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="3327c487af8b93cd25f3df42070f690063a19f9b17728dfab7f2e90f0ea44f0e" name="libwireplumber-0_5-0-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="756e49e4804d233de45596f8123f2a7679a2a641868ae63246bbcbe503d55d73" name="typelib-1_0-Wp-0_5" arch="aarch64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="b712a2fe01ae5c4ef9f8f2db33f3b5a3e75b2a886cfe6b1842a3b552ec3fabcc" name="typelib-1_0-Wp-0_5" arch="i586">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="bcb0db51c603446db5c600e7929101d797959b6a3613ecd8916e9926792eb180" name="typelib-1_0-Wp-0_5" arch="ppc64le">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="2e13d037db11ebe0bd94817cc8f315c8d1f4ce57dce063f4540c9acc9d2d6c1c" name="typelib-1_0-Wp-0_5" arch="s390x">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="6c992d84e26f4cfea305396f821564c433ea0caf504be05b03b031e8e1e174aa" name="typelib-1_0-Wp-0_5" arch="x86_64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="dec678d4cca0688491df651201373be1817fcbf03a9dfc2c010555a2c6aff1d0" name="wireplumber" arch="aarch64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="66f6c620d7ff3168268bdae6465b838f405ceeedfc146385e1c4a1eb88f9a863" name="wireplumber" arch="i586">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="3b910b4cea6acd79f689ab9462903326999f7b2e38867fe776fe45e18433d188" name="wireplumber" arch="ppc64le">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="44eda296fb64f97bf4f9cbbde1a5eda31f65e180c2432a553baed2ea39b10561" name="wireplumber" arch="s390x">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="cc58eb9f4b57a8b90ed514089e38c0f24366501508895de8fd781a15f7a9c793" name="wireplumber" arch="src">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="e7b19975f113b05c9a5d6160493d3d35fc27e367ad5951d4bc2f4706094d4f25" name="wireplumber" arch="x86_64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="2ddaf23faad7a3db0298be4b238c4c3c35b481f51d83463b1deabc25091b520b" name="wireplumber-bash-completion" arch="aarch64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="2d2229bf92b41409fa34ccab0be1a95d271e8e7565519461e471d1d6a0228a75" name="wireplumber-bash-completion" arch="i586">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="bb8b570b2cb91d55ada2f3b71ff510abce5a5a67eb7119b266f7295a4a7e1141" name="wireplumber-bash-completion" arch="ppc64le">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="c6f5f092de747b1ada581acc05d3522ad5dbb1ffee31ef706023a75094685ad9" name="wireplumber-bash-completion" arch="s390x">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="51ec943be7df6eb79ed1ff875d93b368c333f4e1cbf55180388659d7bc46a8af" name="wireplumber-bash-completion" arch="x86_64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="16e830244ec3ebe933a4309cbb1d68b355b51baa245b5521174a365b693c36f0" name="wireplumber-debuginfo" arch="aarch64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="37c2e9665547cbfa58d2ea35a1f7d77bc60fd19300474d9f2a7d6ce550f4d087" name="wireplumber-debuginfo" arch="i586">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="856532b9882cf47bb1c96f41cba707bd0fb205d91fa93014d7d016efe1abae51" name="wireplumber-debuginfo" arch="ppc64le">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="fab03e9efee628ce2401280ac7dcd7116b3f8e65c97449afc4748606ae4780e0" name="wireplumber-debuginfo" arch="s390x">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="1e95cf319c469f2ece067e0ca04763560bccbc3e62d6b3e97325d9c1c96c64aa" name="wireplumber-debuginfo" arch="x86_64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="2e2494114e6fa46cdeaa11a54b68e72a1726c7da675dc0711bc343af6496941b" name="wireplumber-debugsource" arch="aarch64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="ac6b691c0de2842aab68f115a713dc21fa0d2d266bd69a61ba616e547293314e" name="wireplumber-debugsource" arch="i586">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="ea9fb99f5a4f050e29e070ecb77aea0a286a04f4ea4863cd599c216105d2108b" name="wireplumber-debugsource" arch="ppc64le">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="6a357e1aebdff0b85ee9fe38f2ffffecaf31248c837121fef5be6527b2a5279b" name="wireplumber-debugsource" arch="s390x">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="05ce6a6a962112ec4d36d10efd25c732858c6d3e18fb8c2de307c8a405962d90" name="wireplumber-debugsource" arch="x86_64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="5f304201181eaee48d69bd3090f2c3cc6dd48622a1bbcfdd21d6accfaafa49eb" name="wireplumber-devel" arch="aarch64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="a3b74d4af2086012c7a09156dc0ca3842c9a25e9d9d2ccd3ffbab7245f21aa19" name="wireplumber-devel" arch="i586">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="50064d4f7cee9eaf3a0b67adc711198e777c78de2e360b6f25d757defb08f861" name="wireplumber-devel" arch="ppc64le">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="e1fa22f82f30ebae229a51e36035666aa0e9937f71e9159be32566ce76bc79b8" name="wireplumber-devel" arch="s390x">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="0cb0dea4c4a330f1d2066da9e3e29fc73d12562452e39818f8f9ed1cb3955def" name="wireplumber-devel" arch="x86_64">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="979fb6961c9b6e74ab27411c151916a553b137a68bf6ba39d979e9209c3d8dce" name="wireplumber-doc" arch="noarch">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="b5f73dd337aa67b9cabb9d0b146bc3ea034bb7ba0ddf2c333a4843271b669dd9" name="wireplumber-lang" arch="noarch">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="a3d9b5fe1bdcd3cb6a83d77ee9a192fb933b8433f8fb2bb0c6c37f9c4138953b" name="wireplumber-video-only-profile" arch="noarch">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
<package pkgid="0c1c408de921a8c6589f6a8c3c0c73ea499f9ad1442670f02cf33f6d3530d7dd" name="wireplumber-zsh-completion" arch="noarch">
  <version epoch="0" ver="0.5.13" rel="bp156.6.1"/>
  <changelog author="Alexei Sorokin &lt;sor.alexei@meowr.ru&gt;" date="1717502400">- 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 &gt;= 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 &amp; 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</changelog>
  <changelog author="alarrosa@suse.com" date="1719403200">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719576000">- 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)</changelog>
  <changelog author="alarrosa@suse.com" date="1719576001">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1719921600">- 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)</changelog>
  <changelog author="Frederic Crozat &lt;fcrozat@suse.com&gt;" date="1725883200">- 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1729512000">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1733313600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1739188800">- Update to version 0.5.8:
  * Additions &amp; 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1746446400">- Add patches from upstream to fix various issues.
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747137600">- 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747224000">- Use Supplements: pulseaudio in wireplumber-video-only-profile
  to get it automatically installed in systems using pulseaudio.</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747656000">- Update to version 0.5.9:
  * Additions &amp; Enhancements:
  - 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)
- Drop patches that are already included in this version:
  * 0001-internal-comp-loader-generate-a-provides-for-components.patch
  * 0002-wpctl-fix-default-device-name-leak.patch
  * 0003-wpctl-fix-types-in-variadic-arguments.patch
  * 0004-monitor-utils-Support-devices-without-any-device-ids.patch
  * 0005-v4l2_monitor-scripts-fix-for-deduplicate-devices-with-the.patch
  * 0006-monitors_libcamera-fix-deduplicating-devices-with-the-same.patch
  * 0007-monitors_alsa-fix-nil-table-indexing.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1747828800">- Update to version 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)</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1756814400">- Update to version 0.5.11:
  * Additions &amp; 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
    (#808)
  - Fixed GObject introspection closure annotation</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1760616000">- Update to version 0.5.12:
  * Additions &amp; 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</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1768219200">- Update to version 0.5.13:
  * Additions &amp; 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
    registration for event hooks, eliminating performance
    degradation as more hooks are registered (!765 (merged))
  - Increased audio headroom for VMware and VirtualBox virtual
    machines (!756 (merged))
  - Added setting to prevent restoring "Off" profiles via
    session.dont-restore-off-profile property (!753 (merged))
  - Added support for 128 audio channels when compiled with a
    recent version of PipeWire (pipewire#4995 (closed))
  * Fixes:
  - Fixed memory leaks and issues in the modem manager module
    (!770 (merged), !764 (merged))
  - Fixed MPRIS module incorrectly treating GHashTable as
    GObject (!759 (merged))
  - Fixed warning messages when process files in /proc/&lt;pid&gt;/*
    don't exist, particularly when processes are removed quickly
    (#816 (closed), !717 (merged))
  - Fixed MONO audio configuration to only apply to device sink
    nodes, allowing multi-channel mixing in the graph (!769)
  - Fixed event dispatcher hook registration and removal to avoid
    spurious errors (!747 (merged))
  - Improved logging for standard-link activation failures (!744)
  - Simplified event-hook interest matching for better
    performance (!758 (merged))
- Remove patch already included by upstream:
  * 0001-automute-alsa-routes.lua-Dont-register_remove-hooks-if.patch</changelog>
  <changelog author="Takashi Iwai &lt;tiwai@suse.com&gt;" date="1768737600">- Backport upstream fixes:
  0001-monitors-bluez-request-device-ports-take-loopback-no.patch
  0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch</changelog>
  <changelog author="Antonio Larrosa &lt;alarrosa@suse.com&gt;" date="1772452800">- Backport more upstream fixes:
  * 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
  * 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch</changelog>
  <changelog author="Alynx Zhou &lt;alynx.zhou@suse.com&gt;" date="1774008000">- Add 808.patch: Fix bluetooth profile autoswitch when using both
  microphone and headphone with HSP/HFP in meeting.</changelog>
</package>
</otherdata>