meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb
Yoann Congal 5bfc081d8f
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>
2025-03-15 23:05:31 -07:00

29 lines
807 B
BlitzBasic

SUMMARY = "PipeWire Media Session is an example session manager for PipeWire"
HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/media-session"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a"
DEPENDS = " \
pipewire \
alsa-lib \
dbus \
"
SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master \
file://0001-pass-right-types-to-methods.patch \
"
S = "${WORKDIR}/git"
SRCREV = "80dae7e24bec02b2befe09a72fbac6e2b38ccb5c"
inherit meson pkgconfig
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2952
CFLAGS += "-DPW_ENABLE_DEPRECATED"
FILES:${PN} += " \
${systemd_user_unitdir}/pipewire-media-session.service \
${datadir}/pipewire/media-session.d/* \
"
RRECOMMENDS:${PN} += "pipewire"