Accepting request 966061 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/966061
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wireplumber?expand=0&rev=11
This commit is contained in:
Dominique Leuenberger 2022-04-02 16:20:39 +00:00 committed by Git OBS Bridge
commit 63791b7e2f
4 changed files with 134 additions and 0 deletions

View File

@ -0,0 +1,31 @@
From 82856f8643402d56b62d62b0eea4debfae1cd16e Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pav@iki.fi>
Date: Mon, 28 Mar 2022 20:16:52 +0300
Subject: [PATCH] scripts: policy-device-profile: clear tables when devices
removed
When device ids are invalidated, clear all local tables about them,
because the id may be reused by different object, or the same object
reappearing.
---
src/scripts/policy-device-profile.lua | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/scripts/policy-device-profile.lua b/src/scripts/policy-device-profile.lua
index d0aa2696..9daeafaa 100644
--- a/src/scripts/policy-device-profile.lua
+++ b/src/scripts/policy-device-profile.lua
@@ -229,4 +229,10 @@ self.om:connect("object-added", function (_, device)
handleProfiles (device, true)
end)
+self.om:connect("object-removed", function (_, device)
+ local dev_id = device["bound-id"]
+ self.active_profiles[dev_id] = nil
+ self.best_profiles[dev_id] = nil
+end)
+
self.om:activate()
--
GitLab

View File

@ -0,0 +1,85 @@
From 7e6e0e9ba044ca95365f6ceb9f8ae301aac994ae Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pav@iki.fi>
Date: Tue, 22 Mar 2022 20:51:02 +0200
Subject: [PATCH] src: setlocale in main() for tools and the daemon
Previously, pw_init calls setlocale(), but this will change in future.
Setting the locale should be done by the main application, and is needed
in wireplumber for e.g. for translated UI elements.
Set the locale in main() for wireplumber daemon and tools, to have the
locale set also with the new pw_init behavior.
Set also LC_NUMERIC to C, to match old pw_init behavior.
---
src/main.c | 3 +++
src/tools/wpctl.c | 3 +++
src/tools/wpexec.c | 3 +++
3 files changed, 9 insertions(+)
diff --git a/src/main.c b/src/main.c
index 3bfaf98e..7e12d29e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -10,6 +10,7 @@
#include <glib-unix.h>
#include <pipewire/pipewire.h>
#include <spa/utils/json.h>
+#include <locale.h>
#define WP_DOMAIN_DAEMON (wp_domain_daemon_quark ())
static G_DEFINE_QUARK (wireplumber-daemon, wp_domain_daemon);
@@ -402,6 +403,8 @@ main (gint argc, gchar **argv)
g_autoptr (WpProperties) properties = NULL;
g_autofree gchar *config_file_path = NULL;
+ setlocale (LC_ALL, "");
+ setlocale (LC_NUMERIC, "C");
wp_init (WP_INIT_ALL);
context = g_option_context_new ("- PipeWire Session/Policy Manager");
diff --git a/src/tools/wpctl.c b/src/tools/wpctl.c
index 8b0fe0aa..81aa936f 100644
--- a/src/tools/wpctl.c
+++ b/src/tools/wpctl.c
@@ -8,6 +8,7 @@
#include <wp/wp.h>
#include <stdio.h>
+#include <locale.h>
#include <spa/utils/defs.h>
#include <pipewire/keys.h>
#include <pipewire/extensions/session-manager/keys.h>
@@ -1114,6 +1115,8 @@ main (gint argc, gchar **argv)
g_autoptr (GError) error = NULL;
g_autofree gchar *summary = NULL;
+ setlocale (LC_ALL, "");
+ setlocale (LC_NUMERIC, "C");
wp_init (WP_INIT_ALL);
ctl.context = g_option_context_new (
diff --git a/src/tools/wpexec.c b/src/tools/wpexec.c
index 5e7a4b52..79d90e51 100644
--- a/src/tools/wpexec.c
+++ b/src/tools/wpexec.c
@@ -10,6 +10,7 @@
#include <glib-unix.h>
#include <pipewire/keys.h>
#include <stdio.h>
+#include <locale.h>
#define WP_DOMAIN_DAEMON (wp_domain_daemon_quark ())
static G_DEFINE_QUARK (wireplumber-daemon, wp_domain_daemon);
@@ -219,6 +220,8 @@ main (gint argc, gchar **argv)
g_autoptr (GOptionContext) context = NULL;
g_autoptr (GError) error = NULL;
+ setlocale (LC_ALL, "");
+ setlocale (LC_NUMERIC, "C");
wp_init (WP_INIT_ALL);
context = g_option_context_new ("- WirePlumber script interpreter");
--
GitLab

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Wed Mar 30 16:12:03 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
- Add patch from upstream to fix no sound on reconnection of
bluetooth device (glfo#pipewire/wireplumber#234):
* 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch
-------------------------------------------------------------------
Tue Mar 29 12:04:24 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
- Add patch from upstream to set locale in apps now that pw_init
doesn't call it by itself anymore in pipewire 0.3.49:
* 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch
-------------------------------------------------------------------
Fri Mar 25 07:47:09 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -30,6 +30,10 @@ Group: Development/Libraries/C and C++
URL: https://gitlab.freedesktop.org/pipewire/wireplumber
Source0: wireplumber-%{version}.tar.xz
Source1: split-config-file.py
# PATCH-FIX-UPSTREAM
Patch0: 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch
# PATCH-FIX-UPSTREAM
Patch1: 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch
# PATCH-FIX-OPENSUSE reduce-meson-dependency.patch
Patch100: reduce-meson-required-version.patch
# docs