Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wireplumber for openSUSE:Factory 
checked in at 2026-03-03 15:30:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wireplumber (Old)
 and      /work/SRC/openSUSE:Factory/.wireplumber.new.29461 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wireplumber"

Tue Mar  3 15:30:15 2026 rev:52 rq:1335857 version:0.5.13

Changes:
--------
--- /work/SRC/openSUSE:Factory/wireplumber/wireplumber.changes  2026-01-26 
10:59:04.373807803 +0100
+++ /work/SRC/openSUSE:Factory/.wireplumber.new.29461/wireplumber.changes       
2026-03-03 15:30:24.971770190 +0100
@@ -1,0 +2,9 @@
+Mon Mar  2 11:58:30 UTC 2026 - Antonio Larrosa <[email protected]>
+
+- 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
+
+-------------------------------------------------------------------

New:
----
  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

----------(New B)----------
  New:- 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
  New:  * 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
  New:  * 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
  New:  * 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
  * 0006-state-stream-fix-Lua-5.4-compatibility.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wireplumber.spec ++++++
--- /var/tmp/diff_new_pack.nuJeRJ/_old  2026-03-03 15:30:27.059856302 +0100
+++ /var/tmp/diff_new_pack.nuJeRJ/_new  2026-03-03 15:30:27.067856631 +0100
@@ -33,6 +33,10 @@
 # PATCH-FIX-UPSTREAM
 Patch1:         0001-monitors-bluez-request-device-ports-take-loopback-no.patch
 Patch2:         0002-autoswitch-bluetooth-profile-Fix-attempt-to-index-a-.patch
+Patch3:         
0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch
+Patch4:         0004-event-hook-fix-interest-hook-event-type-memory-leak.patch
+Patch5:         
0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch
+Patch6:         0006-state-stream-fix-Lua-5.4-compatibility.patch
 Patch100:       set-profile-in-service.patch
 # docs
 BuildRequires:  doxygen

++++++ 0003-default-nodes-Never-consider-Audio_Sink-nodes-as-best-for.patch 
++++++
>From 80842cbb965608bd76520af91dad40686f202285 Mon Sep 17 00:00:00 2001
From: Julian Bouzas <[email protected]>
Date: Wed, 21 Jan 2026 10:49:13 -0500
Subject: [PATCH] default-nodes: Never consider Audio/Sink nodes as best for
 default audio.source node type

Audio/Sink nodes should only be used as default audio source node type if the
user has explicitly selected it. If the user has not explicitly selected it,
we should always ignore it and instead select the highest priority Audio/Source
node.

Fixes #886
---
 src/scripts/default-nodes/find-best-default-node.lua | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/scripts/default-nodes/find-best-default-node.lua 
b/src/scripts/default-nodes/find-best-default-node.lua
index a8a1262e..08643e8b 100644
--- a/src/scripts/default-nodes/find-best-default-node.lua
+++ b/src/scripts/default-nodes/find-best-default-node.lua
@@ -18,6 +18,8 @@ SimpleEventHook {
     },
   },
   execute = function (event)
+    local props = event:get_properties ()
+    local def_node_type = props ["default-node.type"]
     local available_nodes = event:get_data ("available-nodes")
     local selected_prio = event:get_data ("selected-node-priority") or 0
     local selected_route_prio = event:get_data ("selected-route-priority") or 0
@@ -37,6 +39,12 @@ SimpleEventHook {
       -- Highest priority node wins
       local priority = nutils.get_session_priority (node_props)
       local route_priority = nutils.get_route_priority (node_props)
+      local media_class = node_props ["media.class"]
+
+      -- Never consider sink nodes as best if audio.source is the def node type
+      if media_class == "Audio/Sink" and def_node_type == "audio.source" then
+        goto skip_node
+      end
 
       if selected_node == nil or
           priority > selected_prio or
@@ -46,6 +54,8 @@ SimpleEventHook {
         selected_route_prio = route_priority
         selected_node = node_props ["node.name"]
       end
+
+      ::skip_node::
     end
 
     event:set_data ("selected-node-priority", selected_prio)
-- 
GitLab


++++++ 0004-event-hook-fix-interest-hook-event-type-memory-leak.patch ++++++
>From 11af177902550c24497cf120a5481b0ab5ccc981 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <[email protected]>
Date: Fri, 23 Jan 2026 19:44:34 +0100
Subject: [PATCH] event-hook: fix interest hook event type memory leak

In `wp_interest_event_hook_get_matching_event_types()`, the variable
`res` owns the allocated `GPtrArray`, but there is an early return
in the function. Hitting that will leak the allocation, so use
`g_autoptr` to avoid that.

Fixes: b80a0975c747 ("event-dispatcher: Register hooks for defined events in a 
hash table")
---
 lib/wp/event-hook.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/wp/event-hook.c b/lib/wp/event-hook.c
index 921bb934..49db4dcd 100644
--- a/lib/wp/event-hook.c
+++ b/lib/wp/event-hook.c
@@ -367,7 +367,7 @@ wp_interest_event_hook_get_matching_event_types 
(WpEventHook * hook)
   WpInterestEventHook *self = WP_INTEREST_EVENT_HOOK (hook);
   WpInterestEventHookPrivate *priv =
       wp_interest_event_hook_get_instance_private (self);
-  GPtrArray *res = g_ptr_array_new_with_free_func (g_free);
+  g_autoptr (GPtrArray) res = g_ptr_array_new_with_free_func (g_free);
   guint i;
 
   for (i = 0; i < priv->interests->len; i++) {
@@ -393,7 +393,7 @@ wp_interest_event_hook_get_matching_event_types 
(WpEventHook * hook)
     }
   }
 
-  return res;
+  return g_steal_pointer (&res);
 }
 
 static void
-- 
GitLab


++++++ 0005-state-stream-fix-crash-in-case-the-Format-has-a-Choice-for.patch 
++++++
>From de0bca59023ef1cd655ebf5f944f8fd5952df10e Mon Sep 17 00:00:00 2001
From: George Kiagiadakis <[email protected]>
Date: Fri, 6 Feb 2026 11:28:34 +0200
Subject: [PATCH] state-stream: fix crash in case the Format has a Choice for
 the number of channels

Fixes: #903
---
 src/scripts/node/state-stream.lua | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/scripts/node/state-stream.lua 
b/src/scripts/node/state-stream.lua
index e2fc7efe..b4537644 100644
--- a/src/scripts/node/state-stream.lua
+++ b/src/scripts/node/state-stream.lua
@@ -348,8 +348,18 @@ function buildDefaultChannelVolumes (node)
   for pod in node:iterate_params("Format") do
     local pod_parsed = pod:parse()
     if pod_parsed ~= nil then
-      channels = pod_parsed.properties.channels
-      break
+      local t = type(pod_parsed.properties.channels)
+      if t == "number" then
+        channels = pod_parsed.properties.channels
+        break
+      else if t == "table" and #pod_parsed.properties.channels > 0 then
+        -- in some misbehaving clients a non-fixed Format may appear here, 
which means the number of
+        -- channels will be some kind of choice. If this is the case, pick the 
first number in the
+        -- choice (which is either the default in an enum or range, or may 
just happen to be the
+        -- right number in other cases)
+        channels = pod_parsed.properties.channels[1]
+        break
+      end
     end
   end
 
-- 
GitLab


++++++ 0006-state-stream-fix-Lua-5.4-compatibility.patch ++++++
>From 48ed27d11bfd2c952bc9a3138a4df6f81aa01038 Mon Sep 17 00:00:00 2001
From: Julian Bouzas <[email protected]>
Date: Fri, 13 Feb 2026 10:17:02 -0500
Subject: [PATCH] state-stream: fix Lua 5.4 compatibility

The 'elseif' and 'else if' keywords are treated differently in Lua 5.4
---
 src/scripts/node/state-stream.lua | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/scripts/node/state-stream.lua 
b/src/scripts/node/state-stream.lua
index b4537644..6587f26b 100644
--- a/src/scripts/node/state-stream.lua
+++ b/src/scripts/node/state-stream.lua
@@ -352,7 +352,7 @@ function buildDefaultChannelVolumes (node)
       if t == "number" then
         channels = pod_parsed.properties.channels
         break
-      else if t == "table" and #pod_parsed.properties.channels > 0 then
+      elseif t == "table" and #pod_parsed.properties.channels > 0 then
         -- in some misbehaving clients a non-fixed Format may appear here, 
which means the number of
         -- channels will be some kind of choice. If this is the case, pick the 
first number in the
         -- choice (which is either the default in an enum or range, or may 
just happen to be the
-- 
GitLab

Reply via email to