Skip to content
Snippets Groups Projects
Commit a85455d7 authored by Dylan Aïssi's avatar Dylan Aïssi Committed by Dylan Aïssi
Browse files

Import Debian changes 0.4.2-5

parent 4304b247
No related branches found
No related tags found
1 merge request!8Update from debian/bookworm for apertis/v2022pre
wireplumber (0.4.2-5) unstable; urgency=medium
* Add upstream patches to prevent a failure to start when
the SPA plugin is not available (Closes: #994085)
-- Dylan Aïssi <daissi@debian.org> Wed, 15 Sep 2021 16:04:57 +0200
wireplumber (0.4.2-4) unstable; urgency=medium
* Team upload.
* Wireplumber is ready for an upload to unstable.
-- Dylan Aïssi <daissi@debian.org> Wed, 01 Sep 2021 11:04:02 +0200
wireplumber (0.4.2-3+apertis2) apertis; urgency=medium
[ Dylan Aïssi ]
......
From 32d96189b807ab53317a33217c661ce4b1ac8e49 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
<89q1r14hd@relay.firefox.com>
Date: Wed, 15 Sep 2021 12:21:40 +0300
Subject: [PATCH 1/3] bluez: add basic check for nil monitor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If PipeWire is built without Bluetooth support, then
`monitor = SpaDevice("api.bluez5.enum.dbus", monitor_props)`
will result in a nil monitor. This commit adds a basic sanity check
to avoid further using the nil variable.
Thanks-to: Pascal Flöschel (initial bug report)
Thanks-to: George Kiagiadakis <george.kiagiadakis@collabora.com>
Bug: https://bugs.gentoo.org/813043
---
src/scripts/monitors/bluez.lua | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/scripts/monitors/bluez.lua b/src/scripts/monitors/bluez.lua
index fc229faa..4066536b 100644
--- a/src/scripts/monitors/bluez.lua
+++ b/src/scripts/monitors/bluez.lua
@@ -129,5 +129,9 @@ local monitor_props = config.properties or {}
monitor_props["api.bluez5.connection-info"] = true
monitor = SpaDevice("api.bluez5.enum.dbus", monitor_props)
-monitor:connect("create-object", createDevice)
-monitor:activate(Feature.SpaDevice.ENABLED)
+if monitor then
+ monitor:connect("create-object", createDevice)
+ monitor:activate(Feature.SpaDevice.ENABLED)
+else
+ Log.message("PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.")
+end
--
GitLab
From 3b41df35a885b4db04528d839b87e88bf1345240 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
<89q1r14hd@relay.firefox.com>
Date: Wed, 15 Sep 2021 13:08:04 +0300
Subject: [PATCH 2/3] v4l: add basic check for nil monitor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If PipeWire is built without V4L support, then
`monitor = SpaDevice("api.v4l2.enum.udev", config.properties or {})`
will result in a nil monitor. This commit adds a basic sanity check
to avoid further using the nil variable.
Thanks-to: Pascal Flöschel (initial bug report)
Thanks-to: George Kiagiadakis <george.kiagiadakis@collabora.com>
Bug: https://bugs.gentoo.org/813043
---
src/scripts/monitors/v4l2.lua | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/scripts/monitors/v4l2.lua b/src/scripts/monitors/v4l2.lua
index e698cd77..fd9a20db 100644
--- a/src/scripts/monitors/v4l2.lua
+++ b/src/scripts/monitors/v4l2.lua
@@ -131,5 +131,9 @@ function createDevice(parent, id, type, factory, properties)
end
monitor = SpaDevice("api.v4l2.enum.udev", config.properties or {})
-monitor:connect("create-object", createDevice)
-monitor:activate(Feature.SpaDevice.ENABLED)
+if monitor then
+ monitor:connect("create-object", createDevice)
+ monitor:activate(Feature.SpaDevice.ENABLED)
+else
+ Log.message("PipeWire's V4L SPA missing or broken. Video4Linux not supported.")
+end
--
GitLab
From 05334c1ec72af68f915ea18e32b230857918f600 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
<89q1r14hd@relay.firefox.com>
Date: Wed, 15 Sep 2021 13:23:45 +0300
Subject: [PATCH 3/3] lib/wp/device: demote missing SPA warning to message
Warnings can be scary, so best not to scare users with what's likely
intentional omission of a particular SPA plugin (currently V4L & BlueZ).
---
lib/wp/device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/wp/device.c b/lib/wp/device.c
index f0c32af1..9a0b995f 100644
--- a/lib/wp/device.c
+++ b/lib/wp/device.c
@@ -617,7 +617,7 @@ wp_spa_device_new_from_spa_factory (WpCore * core,
handle = pw_context_load_spa_handle (pw_context, factory_name,
props ? wp_properties_peek_dict (props) : NULL);
if (!handle) {
- wp_warning ("SPA handle '%s' could not be loaded; is it installed?",
+ wp_message ("SPA handle '%s' could not be loaded; is it installed?",
factory_name);
return NULL;
}
--
GitLab
From 2a5f9c51f2f8dd29cd19a14f165ca2b425a172fc Mon Sep 17 00:00:00 2001
From: George Kiagiadakis <george.kiagiadakis@collabora.com>
Date: Wed, 15 Sep 2021 12:51:47 +0300
Subject: [PATCH] lua/api: fix object constructors to fail gracefully
---
modules/module-lua-scripting/api.c | 35 ++++++++++++++++++------------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/modules/module-lua-scripting/api.c b/modules/module-lua-scripting/api.c
index 5691b633..28304779 100644
--- a/modules/module-lua-scripting/api.c
+++ b/modules/module-lua-scripting/api.c
@@ -836,8 +836,9 @@ device_new (lua_State *L)
WpDevice *d = wp_device_new_from_factory (get_wp_export_core (L),
factory, properties);
- wplua_pushobject (L, d);
- return 1;
+ if (d)
+ wplua_pushobject (L, d);
+ return d ? 1 : 0;
}
/* WpSpaDevice */
@@ -855,8 +856,9 @@ spa_device_new (lua_State *L)
WpSpaDevice *d = wp_spa_device_new_from_spa_factory (get_wp_export_core (L),
factory, properties);
- wplua_pushobject (L, d);
- return 1;
+ if (d)
+ wplua_pushobject (L, d);
+ return d ? 1 : 0;
}
static int
@@ -903,8 +905,9 @@ node_new (lua_State *L)
WpNode *d = wp_node_new_from_factory (get_wp_export_core (L),
factory, properties);
- wplua_pushobject (L, d);
- return 1;
+ if (d)
+ wplua_pushobject (L, d);
+ return d ? 1 : 0;
}
static int
@@ -1011,8 +1014,9 @@ impl_node_new (lua_State *L)
WpImplNode *d = wp_impl_node_new_from_pw_factory (get_wp_export_core (L),
factory, properties);
- wplua_pushobject (L, d);
- return 1;
+ if (d)
+ wplua_pushobject (L, d);
+ return d ? 1 : 0;
}
/* Port */
@@ -1045,8 +1049,9 @@ link_new (lua_State *L)
}
WpLink *l = wp_link_new_from_factory (get_wp_core (L), factory, properties);
- wplua_pushobject (L, l);
- return 1;
+ if (l)
+ wplua_pushobject (L, l);
+ return l ? 1 : 0;
}
/* Client */
@@ -1124,8 +1129,9 @@ session_item_new (lua_State *L)
{
const char *type = luaL_checkstring (L, 1);
WpSessionItem *si = wp_session_item_make (get_wp_core (L), type);
- wplua_pushobject (L, si);
- return 1;
+ if (si)
+ wplua_pushobject (L, si);
+ return si ? 1 : 0;
}
static int
@@ -1135,8 +1141,9 @@ session_item_get_associated_proxy (lua_State *L)
const char *typestr = luaL_checkstring (L, 2);
WpProxy *proxy = wp_session_item_get_associated_proxy (si,
parse_gtype (typestr));
- wplua_pushobject (L, proxy);
- return 1;
+ if (proxy)
+ wplua_pushobject (L, proxy);
+ return proxy ? 1 : 0;
}
static int
--
GitLab
fix_object_constructors_to_fail_gracefully.patch
add_basic_check_for_nil_monitor.patch
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment