diff options
| author | Yoann Congal <yoann.congal@smile.fr> | 2025-03-15 23:22:06 +0100 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2025-03-15 23:05:31 -0700 |
| commit | 5bfc081d8ff34f66acdab3d2b3f8883596951b13 (patch) | |
| tree | cb42dd9672bfebb8cb9117735d55ff3ae64495cf /meta-multimedia/recipes-multimedia | |
| parent | e3a6de1f940cc9454703f97263d9b2cac87b44cb (diff) | |
| download | meta-openembedded-5bfc081d8ff34f66acdab3d2b3f8883596951b13.tar.gz | |
pipewire-media-session: Fix for incompatible-pointer-types build errors
Backport a fix from master branch to fix these errors:
| FAILED: src/pipewire-media-session.p/access-flatpak.c.o
| x86_64-poky-linux-gcc [...] -o src/pipewire-media-session.p/access-flatpak.c.o -c ../git/src/access-flatpak.c
| ../git/src/access-flatpak.c: In function 'object_update':
| ../git/src/access-flatpak.c:117:62: error: passing argument 1 of 'pw_client_update_permissions' from incompatible pointer type [-Wincompatible-pointer-types]
| 117 | pw_client_update_permissions(client->obj->obj.proxy,
| | ~~~~~~~~~~~~~~~~^~~~~~
| | |
| | struct pw_proxy *
| In file included from .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/pipewire.h:15,
| from ../git/src/access-flatpak.c:35:
| .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/client.h:191:71: note: expected 'struct pw_client *' but argument is of type 'struct pw_proxy *'
| 191 | PW_API_CLIENT_IMPL int pw_client_update_permissions(struct pw_client *object, uint32_t n_permissions,
| | ~~~~~~~~~~~~~~~~~~^~~~~~
| FAILED: src/pipewire-media-session.p/default-routes.c.o
| x86_64-poky-linux-gcc [...] -o src/pipewire-media-session.p/default-routes.c.o -c ../git/src/default-routes.c
| ../git/src/default-routes.c: In function 'restore_route_params':
| ../git/src/default-routes.c:482:29: error: passing argument 1 of 'pw_device_set_param' from incompatible pointer type [-Wincompatible-pointer-types]
| 482 | pw_device_set_param((struct pw_node*)dev->obj->obj.proxy,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | |
| | struct pw_node *
| In file included from .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/pipewire.h:18,
| from ../git/src/default-routes.c:43:
| .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/device.h:179:62: note: expected 'struct pw_device *' but argument is of type 'struct pw_node *'
| 179 | PW_API_DEVICE_IMPL int pw_device_set_param(struct pw_device *object, uint32_t id, uint32_t flags,
| | ~~~~~~~~~~~~~~~~~~^~~~~~
| FAILED: src/pipewire-media-session.p/access-portal.c.o
| x86_64-poky-linux-gcc [...] -o src/pipewire-media-session.p/access-portal.c.o -c ../git/src/access-portal.c
| ../git/src/access-portal.c: In function 'set_global_permissions':
| ../git/src/access-portal.c:268:62: error: passing argument 1 of 'pw_client_update_permissions' from incompatible pointer type [-Wincompatible-pointer-types]
| 268 | pw_client_update_permissions(client->obj->obj.proxy,
| | ~~~~~~~~~~~~~~~~^~~~~~
| | |
| | struct pw_proxy *
| In file included from .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/pipewire.h:15,
| from ../git/src/access-portal.c:39:
| .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/client.h:191:71: note: expected 'struct pw_client *' but argument is of type 'struct pw_proxy *'
| 191 | PW_API_CLIENT_IMPL int pw_client_update_permissions(struct pw_client *object, uint32_t n_permissions,
| | ~~~~~~~~~~~~~~~~~~^~~~~~
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-multimedia/recipes-multimedia')
2 files changed, 56 insertions, 1 deletions
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session/0001-pass-right-types-to-methods.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session/0001-pass-right-types-to-methods.patch new file mode 100644 index 0000000000..e7a3e52617 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session/0001-pass-right-types-to-methods.patch | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | From 97e0d7646c873ea3badfa604b3f084ed6208af97 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Wim Taymans <wtaymans@redhat.com> | ||
| 3 | Date: Tue, 26 Nov 2024 13:37:06 +0100 | ||
| 4 | Subject: [PATCH] pass right types to methods | ||
| 5 | |||
| 6 | |||
| 7 | Upstream-Status: Backport [https://gitlab.freedesktop.org/pipewire/media-session/-/commit/e6243381cf2b7d0d33707627b4186f5580908752] | ||
| 8 | Signed-off-by: Yoann Congal <yoann.congal@smile.fr> | ||
| 9 | --- | ||
| 10 | src/access-flatpak.c | 2 +- | ||
| 11 | src/access-portal.c | 2 +- | ||
| 12 | src/default-routes.c | 2 +- | ||
| 13 | 3 files changed, 3 insertions(+), 3 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/src/access-flatpak.c b/src/access-flatpak.c | ||
| 16 | index afe780b2d..dd802d6eb 100644 | ||
| 17 | --- a/src/access-flatpak.c | ||
| 18 | +++ b/src/access-flatpak.c | ||
| 19 | @@ -114,7 +114,7 @@ static void object_update(void *data) | ||
| 20 | pw_log_info("%p: flatpak client %d granted 0x%08x permissions" | ||
| 21 | , impl, client->id, perms); | ||
| 22 | permissions[0] = PW_PERMISSION_INIT(PW_ID_ANY, perms); | ||
| 23 | - pw_client_update_permissions(client->obj->obj.proxy, | ||
| 24 | + pw_client_update_permissions((struct pw_client*)client->obj->obj.proxy, | ||
| 25 | 1, permissions); | ||
| 26 | client->active = true; | ||
| 27 | } | ||
| 28 | diff --git a/src/access-portal.c b/src/access-portal.c | ||
| 29 | index 92d95a26b..4e3a9f52a 100644 | ||
| 30 | --- a/src/access-portal.c | ||
| 31 | +++ b/src/access-portal.c | ||
| 32 | @@ -265,7 +265,7 @@ set_global_permissions(void *data, struct sm_object *object) | ||
| 33 | permissions[n_permissions++] = | ||
| 34 | PW_PERMISSION_INIT(object->id, allowed ? PW_PERM_ALL : 0); | ||
| 35 | pw_log_info("%p: object %d allowed:%d", impl, object->id, allowed); | ||
| 36 | - pw_client_update_permissions(client->obj->obj.proxy, | ||
| 37 | + pw_client_update_permissions((struct pw_client*)client->obj->obj.proxy, | ||
| 38 | n_permissions, permissions); | ||
| 39 | } | ||
| 40 | return 0; | ||
| 41 | diff --git a/src/default-routes.c b/src/default-routes.c | ||
| 42 | index 5a842faf7..86f9e217b 100644 | ||
| 43 | --- a/src/default-routes.c | ||
| 44 | +++ b/src/default-routes.c | ||
| 45 | @@ -479,7 +479,7 @@ static int restore_route_params(struct device *dev, const char *val, const struc | ||
| 46 | if (pw_log_level_enabled(SPA_LOG_LEVEL_DEBUG)) | ||
| 47 | spa_debug_pod(2, NULL, param); | ||
| 48 | |||
| 49 | - pw_device_set_param((struct pw_node*)dev->obj->obj.proxy, | ||
| 50 | + pw_device_set_param((struct pw_device*)dev->obj->obj.proxy, | ||
| 51 | SPA_PARAM_Route, 0, param); | ||
| 52 | |||
| 53 | sm_media_session_schedule_rescan(dev->impl->session); | ||
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb index 8ae0624135..184ed45d2d 100644 --- a/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb | |||
| @@ -10,7 +10,9 @@ DEPENDS = " \ | |||
| 10 | dbus \ | 10 | dbus \ |
| 11 | " | 11 | " |
| 12 | 12 | ||
| 13 | SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master" | 13 | SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master \ |
| 14 | file://0001-pass-right-types-to-methods.patch \ | ||
| 15 | " | ||
| 14 | 16 | ||
| 15 | S = "${WORKDIR}/git" | 17 | S = "${WORKDIR}/git" |
| 16 | SRCREV = "80dae7e24bec02b2befe09a72fbac6e2b38ccb5c" | 18 | SRCREV = "80dae7e24bec02b2befe09a72fbac6e2b38ccb5c" |
