Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wireplumber for openSUSE:Factory 
checked in at 2024-07-02 18:15:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wireplumber (Old)
 and      /work/SRC/openSUSE:Factory/.wireplumber.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wireplumber"

Tue Jul  2 18:15:31 2024 rev:41 rq:1184890 version:0.5.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/wireplumber/wireplumber.changes  2024-06-29 
15:16:42.114641370 +0200
+++ /work/SRC/openSUSE:Factory/.wireplumber.new.18349/wireplumber.changes       
2024-07-02 18:15:34.817510180 +0200
@@ -1,0 +2,13 @@
+Tue Jul  2 08:14:44 UTC 2024 - Antonio Larrosa <alarr...@suse.com>
+
+- Update to version 0.5.5:
+  * Highlights:
+    - Hotfix release to address crashes in the Bluetooth HSP/HFP
+      autoswitch functionality that were side-effects of some
+      changes that were part of the role-based linking policy
+      (#682)
+  * Improvements:
+    - wpctl will now properly show a '*' in front of sink filters
+      when they are selected as the default sink (!660) 
+
+-------------------------------------------------------------------

Old:
----
  wireplumber-0.5.4+git2.96dc045.obscpio

New:
----
  wireplumber-0.5.5.obscpio

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

Other differences:
------------------
++++++ wireplumber.spec ++++++
--- /var/tmp/diff_new_pack.gIY8c1/_old  2024-07-02 18:15:35.557537260 +0200
+++ /var/tmp/diff_new_pack.gIY8c1/_new  2024-07-02 18:15:35.561537406 +0200
@@ -22,7 +22,7 @@
 %define sover 0
 %define libwireplumber libwireplumber-%{apiver_str}-%{sover}
 Name:           wireplumber
-Version:        0.5.4+git2.96dc045
+Version:        0.5.5
 Release:        0
 Summary:        Session / policy manager implementation for PipeWire
 License:        MIT
@@ -150,6 +150,7 @@
 Requires:       %{name} = %{version}
 Requires:       zsh
 Supplements:    (wireplumber and zsh)
+BuildArch:      noarch
 
 %description zsh-completion
 Optional dependency offering zsh completion for various wpctl parameters.

++++++ _service ++++++
--- /var/tmp/diff_new_pack.gIY8c1/_old  2024-07-02 18:15:35.585538284 +0200
+++ /var/tmp/diff_new_pack.gIY8c1/_new  2024-07-02 18:15:35.589538431 +0200
@@ -3,13 +3,13 @@
   <service name="obs_scm" mode="manual">
     <param name="scm">git</param>
     <param 
name="url">https://gitlab.freedesktop.org/pipewire/wireplumber.git</param>
-<!--
-    <param name="revision">0.5.4</param>
+    <param name="revision">0.5.5</param>
     <param name="versionformat">@PARENT_TAG@</param>
--->
+<!--    
     <param name="revision">master</param>
     <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param>
     <param name="changesgenerate">enable</param>
+-->
 <!--
     <param name="revision">master</param>
     <param name="versionformat">@PARENT_TAG@+git%cd.%h</param>

++++++ wireplumber-0.5.4+git2.96dc045.obscpio -> wireplumber-0.5.5.obscpio 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireplumber-0.5.4+git2.96dc045/NEWS.rst 
new/wireplumber-0.5.5/NEWS.rst
--- old/wireplumber-0.5.4+git2.96dc045/NEWS.rst 2024-06-27 17:36:42.000000000 
+0200
+++ new/wireplumber-0.5.5/NEWS.rst      2024-06-28 17:18:02.000000000 +0200
@@ -1,8 +1,25 @@
-WirePlumber 0.5.4
+WirePlumber 0.5.5
 ~~~~~~~~~~~~~~~~~
 
 Highlights:
 
+  - Hotfix release to address crashes in the Bluetooth HSP/HFP autoswitch
+    functionality that were side-effects of some changes that were part
+    of the role-based linking policy (#682)
+
+Improvements:
+
+  - wpctl will now properly show a '*' in front of sink filters when they are
+    selected as the default sink (!660)
+
+Past releases
+~~~~~~~~~~~~~
+
+WirePlumber 0.5.4
+.................
+
+Highlights:
+
   - Refactored the role-based linking policy (previously known also as
     "endpoints" or "virtual items" policy) to blend in with the standard 
desktop
     policy. It is now possible use role-based sinks alongside standard desktop
@@ -34,9 +51,6 @@
   - 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)
 
-Past releases
-~~~~~~~~~~~~~
-
 WirePlumber 0.5.3
 .................
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireplumber-0.5.4+git2.96dc045/lib/wp/core.c 
new/wireplumber-0.5.5/lib/wp/core.c
--- old/wireplumber-0.5.4+git2.96dc045/lib/wp/core.c    2024-06-27 
17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/lib/wp/core.c 2024-06-28 17:18:02.000000000 +0200
@@ -886,13 +886,6 @@
   /* Add the registry listener */
   wp_registry_attach (&self->registry, self->pw_core);
 
-  /* Set the export core to be the one shared between pipewire modules */
-  if (pw_properties_get_bool (pw_core_get_properties (self->pw_core),
-          "wireplumber.export-core", false)) {
-    wp_debug_object (self, "set export core to be shared in pipewire modules");
-    pw_context_set_object (self->pw_context, PW_TYPE_INTERFACE_Core, 
self->pw_core);
-  }
-
   return TRUE;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireplumber-0.5.4+git2.96dc045/meson.build 
new/wireplumber-0.5.5/meson.build
--- old/wireplumber-0.5.4+git2.96dc045/meson.build      2024-06-27 
17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/meson.build   2024-06-28 17:18:02.000000000 +0200
@@ -1,5 +1,5 @@
 project('wireplumber', ['c'],
-  version : '0.5.4',
+  version : '0.5.5',
   license : 'MIT',
   meson_version : '>= 0.59.0',
   default_options : [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/config/wireplumber.conf.d.examples/media-role-nodes.conf
 
new/wireplumber-0.5.5/src/config/wireplumber.conf.d.examples/media-role-nodes.conf
--- 
old/wireplumber-0.5.4+git2.96dc045/src/config/wireplumber.conf.d.examples/media-role-nodes.conf
     2024-06-27 17:36:42.000000000 +0200
+++ 
new/wireplumber-0.5.5/src/config/wireplumber.conf.d.examples/media-role-nodes.conf
  2024-06-28 17:18:02.000000000 +0200
@@ -36,6 +36,11 @@
       merge = {
         arguments = {
           capture.props = {
+            # Explicitly mark all these sinks as valid role-based policy
+            # targets, meaning that any links between streams and these sinks
+            # will be managed by the role-based policy
+            policy.role-based.target = true
+
             audio.position = [ FL, FR ]
             media.class = Audio/Sink
           }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/lib/linking-utils.lua 
new/wireplumber-0.5.5/src/scripts/lib/linking-utils.lua
--- old/wireplumber-0.5.4+git2.96dc045/src/scripts/lib/linking-utils.lua        
2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/lib/linking-utils.lua     2024-06-28 
17:18:02.000000000 +0200
@@ -63,7 +63,7 @@
   for l in cutils.get_object_manager ("session-item"):iterate {
     type = "SiLink",
     Constraint { "item.factory.name", "=", "si-standard-link", type = 
"pw-global" },
-    Constraint { "is.media.role.link", "=", true },
+    Constraint { "is.role.policy.link", "=", true },
     Constraint { "target.media.class", "=", lmc },
   } do
     local props = l.properties
@@ -122,6 +122,17 @@
   end
 end
 
+function lutils.is_role_policy_target (si_props, target_props)
+  -- role-based policy links are those that link to targets with
+  -- policy.role-based.target = true, unless the stream is a monitor
+  -- (usually pavucontrol) or the stream is linking to the monitor ports
+  -- of a sink (both are "input")
+  return Core.test_feature ("hooks.linking.role-based.rescan")
+      and cutils.parseBool (target_props["policy.role-based.target"])
+      and not cutils.parseBool (si_props ["stream.monitor"])
+      and si_props["item.node.direction"] ~= 
target_props["item.node.direction"]
+end
+
 function lutils.unwrap_select_target_event (self, event)
   local source = event:get_source ()
   local si = event:get_subject ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-best-target.lua 
new/wireplumber-0.5.5/src/scripts/linking/find-best-target.lua
--- old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-best-target.lua 
2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/find-best-target.lua      
2024-06-28 17:18:02.000000000 +0200
@@ -13,7 +13,11 @@
 
 SimpleEventHook {
   name = "linking/find-best-target",
-  after = "linking/find-default-target",
+  after = { "linking/find-defined-target",
+            "linking/find-filter-target",
+            "linking/find-media-role-target",
+            "linking/find-default-target" },
+  before = "linking/prepare-link",
   interests = {
     EventInterest {
       Constraint { "event.type", "=", "select-target" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-default-target.lua 
new/wireplumber-0.5.5/src/scripts/linking/find-default-target.lua
--- 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-default-target.lua  
    2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/find-default-target.lua   
2024-06-28 17:18:02.000000000 +0200
@@ -11,7 +11,10 @@
 
 SimpleEventHook {
   name = "linking/find-default-target",
-  after = "linking/find-media-role-target",
+  after = { "linking/find-defined-target",
+            "linking/find-filter-target",
+            "linking/find-media-role-target" },
+  before = "linking/prepare-link",
   interests = {
     EventInterest {
       Constraint { "event.type", "=", "select-target" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-defined-target.lua 
new/wireplumber-0.5.5/src/scripts/linking/find-defined-target.lua
--- 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-defined-target.lua  
    2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/find-defined-target.lua   
2024-06-28 17:18:02.000000000 +0200
@@ -15,6 +15,7 @@
 
 SimpleEventHook {
   name = "linking/find-defined-target",
+  before = "linking/prepare-link",
   interests = {
     EventInterest {
       Constraint { "event.type", "=", "select-target" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-filter-target.lua 
new/wireplumber-0.5.5/src/scripts/linking/find-filter-target.lua
--- 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-filter-target.lua   
    2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/find-filter-target.lua    
2024-06-28 17:18:02.000000000 +0200
@@ -34,6 +34,7 @@
 SimpleEventHook {
   name = "linking/find-filter-target",
   after = "linking/find-defined-target",
+  before = "linking/prepare-link",
   interests = {
     EventInterest {
       Constraint { "event.type", "=", "select-target" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-media-role-target.lua
 new/wireplumber-0.5.5/src/scripts/linking/find-media-role-target.lua
--- 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/find-media-role-target.lua
   2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/find-media-role-target.lua        
2024-06-28 17:18:02.000000000 +0200
@@ -12,7 +12,9 @@
 
 SimpleEventHook {
   name = "linking/find-media-role-target",
-  after = "linking/find-filter-target",
+  after = { "linking/find-defined-target",
+            "linking/find-filter-target" },
+  before = "linking/prepare-link",
   interests = {
     EventInterest {
       Constraint { "event.type", "=", "select-target" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/get-filter-from-target.lua
 new/wireplumber-0.5.5/src/scripts/linking/get-filter-from-target.lua
--- 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/get-filter-from-target.lua
   2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/get-filter-from-target.lua        
2024-06-28 17:18:02.000000000 +0200
@@ -13,7 +13,12 @@
 
 SimpleEventHook {
   name = "linking/get-filter-from-target",
-  after = "linking/find-best-target",
+  after = { "linking/find-defined-target",
+            "linking/find-filter-target",
+            "linking/find-media-role-target",
+            "linking/find-default-target",
+            "linking/find-best-target" },
+  before = "linking/prepare-link",
   interests = {
     EventInterest {
       Constraint { "event.type", "=", "select-target" },
@@ -23,8 +28,8 @@
     local source, om, si, si_props, si_flags, target =
         lutils:unwrap_select_target_event (event)
 
-    -- bypass the hook if the target was not found or if the target is media 
role node
-    if target == nil or target.properties["device.intended-roles"] then
+    -- bypass the hook if the target was not found or if it is a role-based 
policy target
+    if target == nil or lutils.is_role_policy_target (si_props, 
target.properties) then
       return
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/link-target.lua 
new/wireplumber-0.5.5/src/scripts/linking/link-target.lua
--- old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/link-target.lua      
2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/link-target.lua   2024-06-28 
17:18:02.000000000 +0200
@@ -63,13 +63,7 @@
           out_item = target
         end
 
-        -- role links are those that link to targets with intended-roles
-        -- unless the stream is a monitor (usually pavucontrol) or the stream
-        -- is linking to the monitor ports of a sink (both are "input")
-        local is_media_role_link = Core.test_feature 
("hooks.linking.role-based.rescan")
-            and target_props["device.intended-roles"] ~= nil
-            and not cutils.parseBool (si_props ["stream.monitor"])
-            and si_props["item.node.direction"] ~= 
target_props["item.node.direction"]
+        local is_role_policy_link = lutils.is_role_policy_target (si_props, 
target_props)
 
         log:info (si,
           string.format ("link %s <-> %s passthrough:%s, exclusive:%s, media 
role link:%s",
@@ -77,7 +71,7 @@
             tostring (target_props ["node.name"]),
             tostring (passthrough),
             tostring (exclusive),
-            tostring (is_media_role_link)))
+            tostring (is_role_policy_link)))
 
         -- create and configure link
         si_link = SessionItem ("si-standard-link")
@@ -93,7 +87,7 @@
           ["policy.role-based.priority"] = 
target_props["policy.role-based.priority"],
           ["policy.role-based.action.same-priority"] = 
target_props["policy.role-based.action.same-priority"],
           ["policy.role-based.action.lower-priority"] = 
target_props["policy.role-based.action.lower-priority"],
-          ["is.media.role.link"] = is_media_role_link,
+          ["is.role.policy.link"] = is_role_policy_link,
           ["main.item.id"] = si.id,
           ["target.item.id"] = target.id,
         } then
@@ -129,9 +123,9 @@
         log:debug (si_link, "registered link between "
             .. tostring (si) .. " and " .. tostring (target))
 
-        -- only activate non media role links because their activation is
+        -- only activate non role-based policy links because their activation 
is
         -- handled by rescan-media-role-links.lua
-        if not is_media_role_link then
+        if not is_role_policy_link then
           si_link:activate (Feature.SessionItem.ACTIVE, function (l, e)
             if e then
               transition:return_error (tostring (l) .. " link failed: "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/prepare-link.lua 
new/wireplumber-0.5.5/src/scripts/linking/prepare-link.lua
--- old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/prepare-link.lua     
2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/prepare-link.lua  2024-06-28 
17:18:02.000000000 +0200
@@ -14,7 +14,6 @@
 
 SimpleEventHook {
   name = "linking/prepare-link",
-  after = "linking/get-filter-from-target",
   interests = {
     EventInterest {
       Constraint { "event.type", "=", "select-target" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/rescan-media-role-links.lua
 new/wireplumber-0.5.5/src/scripts/linking/rescan-media-role-links.lua
--- 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/rescan-media-role-links.lua
  2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/rescan-media-role-links.lua       
2024-06-28 17:18:02.000000000 +0200
@@ -85,7 +85,7 @@
       -- on media client link added and removed
       Constraint { "event.type", "c", "session-item-added", 
"session-item-removed" },
       Constraint { "event.session-item.interface", "=", "link" },
-      Constraint { "is.media.role.link", "=", true },
+      Constraint { "is.role.policy.link", "=", true },
     },
     EventInterest {
       -- on default metadata suspend.playback changed
@@ -140,7 +140,7 @@
 
         for link in om:iterate {
           type = "SiLink",
-          Constraint { "is.media.role.link", "=", true },
+          Constraint { "is.role.policy.link", "=", true },
           Constraint { "target.media.class", "=", mc },
         } do
           -- deactivate all links if suspend playback metadata is present
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/rescan.lua 
new/wireplumber-0.5.5/src/scripts/linking/rescan.lua
--- old/wireplumber-0.5.4+git2.96dc045/src/scripts/linking/rescan.lua   
2024-06-27 17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/scripts/linking/rescan.lua        2024-06-28 
17:18:02.000000000 +0200
@@ -82,7 +82,7 @@
         out_flags.peer_id = nil
       end
 
-      if cutils.parseBool (silink.properties["is.media.role.link"]) then
+      if cutils.parseBool (silink.properties["is.role.policy.link"]) then
         lutils.clearPriorityMediaRoleLink(silink)
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wireplumber-0.5.4+git2.96dc045/src/tools/wpctl.c 
new/wireplumber-0.5.5/src/tools/wpctl.c
--- old/wireplumber-0.5.4+git2.96dc045/src/tools/wpctl.c        2024-06-27 
17:36:42.000000000 +0200
+++ new/wireplumber-0.5.5/src/tools/wpctl.c     2024-06-28 17:18:02.000000000 
+0200
@@ -299,6 +299,7 @@
 print_filter_node (const GValue *item, gpointer data)
 {
   struct print_context *context = data;
+  g_autoptr (WpPlugin) def_nodes_api = NULL;
   WpPipewireObject *obj = g_value_get_object (item);
   g_autoptr (WpIterator) it = NULL;
   g_auto (GValue) val = G_VALUE_INIT;
@@ -309,6 +310,8 @@
   if (g_hash_table_contains (context->printed_filters, link_group))
     return;
 
+  def_nodes_api = wp_plugin_find (context->self->core, "default-nodes-api");
+
   /* Print all nodes for this link_group */
   printf (TREE_INDENT_LINE "  - %-60s\n", link_group);
   it = wp_object_manager_new_filtered_iterator (context->self->om,
@@ -329,6 +332,11 @@
       name = wp_pipewire_object_get_property (node, PW_KEY_NODE_DESCRIPTION);
     media_class = wp_pipewire_object_get_property (node, PW_KEY_MEDIA_CLASS);
 
+    context->default_node = -1;
+    if (def_nodes_api)
+      g_signal_emit_by_name (def_nodes_api, "get-default-node", media_class,
+          &context->default_node);
+
     printf (TREE_INDENT_LINE "%c %4u. %-60s [%s]\n",
         context->default_node == id ? '*' : ' ', id, name, media_class);
   }

++++++ wireplumber.obsinfo ++++++
--- /var/tmp/diff_new_pack.gIY8c1/_old  2024-07-02 18:15:35.873548824 +0200
+++ /var/tmp/diff_new_pack.gIY8c1/_new  2024-07-02 18:15:35.873548824 +0200
@@ -1,5 +1,5 @@
 name: wireplumber
-version: 0.5.4+git2.96dc045
-mtime: 1719502602
-commit: 96dc04538210da6df121b064af8bd5e1c78e9d0a
+version: 0.5.5
+mtime: 1719587882
+commit: 43e939c0e3c71ff0e6cc384cef901a50237f8144
 

Reply via email to