diff options
Diffstat (limited to 'meta-openembedded/meta-multimedia/recipes-multimedia')
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb | 6 | ||||
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch | 44 | ||||
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.45.bb) | 15 | ||||
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/files/0001-spa-json-fix-va_list-APIs-for-different-architecture.patch | 217 | ||||
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb) | 5 |
5 files changed, 57 insertions, 230 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb index a7b6b00076..700df2cefb 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb @@ -64,12 +64,6 @@ do_install_ptest() { install -m 0644 ${S}/libopenmpt/libopenmpt_version.mk ${D}${PTEST_PATH}/libopenmpt } -python __anonymous() { - packageconfig = (d.getVar("PACKAGECONFIG") or "").split() - if ("sdl" in packageconfig) and ("sdl2" in packageconfig): - bb.error("sdl and sdl2 packageconfigs cannot be both enabled") -} - PACKAGES =+ "${PN}-openmpt123 ${PN}-openmpt123-doc" FILES:${PN}-openmpt123 = "${bindir}/openmpt123" FILES:${PN}-openmpt123-doc = "${mandir}/man1/openmpt123*" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch new file mode 100644 index 0000000000..61bcdb3dd4 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch @@ -0,0 +1,44 @@ +From b311f9e75f13205fd0738f7e89fd2062b9e7b237 Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani <crg7475@mailbox.org> +Date: Wed, 30 Mar 2022 19:44:38 +0200 +Subject: [PATCH] meson: Add option to enable/disable legacy RTKit module + +The RTKit module is being replaced by the RT module. Currently, it is +always built if D-Bus is present. For packagers, it can be beneficial to +be able to disable the legacy module. Add a Meson option to allow for +exactly that. Make it enabled by default to not change default behavior. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1204] +--- + meson_options.txt | 4 ++++ + src/modules/meson.build | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/meson_options.txt b/meson_options.txt +index 49d5b2203..2687bfe7e 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -237,3 +237,7 @@ option('libcanberra', + description: 'Enable code that depends on libcanberra', + type: 'feature', + value: 'auto') ++option('legacy-rtkit', ++ description: 'Build legacy rtkit module', ++ type: 'boolean', ++ value: 'true') +diff --git a/src/modules/meson.build b/src/modules/meson.build +index ee724bf52..2d26cc459 100644 +--- a/src/modules/meson.build ++++ b/src/modules/meson.build +@@ -139,7 +139,7 @@ pipewire_module_rt = shared_library('pipewire-module-rt', [ 'module-rt.c' ], + dependencies : [dbus_dep, mathlib, dl_lib, pipewire_dep], + ) + +-build_module_rtkit = dbus_dep.found() ++build_module_rtkit = dbus_dep.found() and (get_option('legacy-rtkit') == true) + if build_module_rtkit + # TODO: This serves as a temporary alias to prevent breaking existing setups + # while `module-rtkit` is being migrated to `module-rt` +-- +2.32.0 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.45.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb index 6ba3124846..b821f4400b 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.45.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb @@ -13,8 +13,10 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "dbus ncurses" -SRCREV = "bdd407fe66cc9e46d4bc4dcc989d50679000482b" -SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" +SRCREV = "075e7b266876802eab0077afd13ea8e1cee5e1fd" +SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https \ + file://0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch \ + " S = "${WORKDIR}/git" @@ -49,6 +51,10 @@ SYSTEMD_PACKAGES = "${PN}" # # AptX and LDAC are not available in OE. Currently, neither # are lv2 and ROC. +# +# The RTKit module is deprecated in favor of the newer RT module. +# It still exists for legacy setups that still include it in +# their PipeWire configuration files. EXTRA_OEMESON += " \ -Devl=disabled \ -Dtests=disabled \ @@ -62,6 +68,7 @@ EXTRA_OEMESON += " \ -Droc=disabled \ -Dbluez5-codec-aptx=disabled \ -Dbluez5-codec-ldac=disabled \ + -Dlegacy-rtkit=false \ " PACKAGECONFIG ??= "\ @@ -306,8 +313,8 @@ FILES:${PN}-spa-tools = " \ FILES:${PN}-modules = "" RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" -CONFFILES:${PN}-modules-rtkit = "${datadir}/pipewire/client-rt.conf" -FILES:${PN}-modules-rtkit += " \ +CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf" +FILES:${PN}-modules-rt += " \ ${datadir}/pipewire/client-rt.conf \ " diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/files/0001-spa-json-fix-va_list-APIs-for-different-architecture.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/files/0001-spa-json-fix-va_list-APIs-for-different-architecture.patch deleted file mode 100644 index 75c7b850f4..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/files/0001-spa-json-fix-va_list-APIs-for-different-architecture.patch +++ /dev/null @@ -1,217 +0,0 @@ -From e429db7e8c266045aee25e153fb2308bd61fe233 Mon Sep 17 00:00:00 2001 -From: Julian Bouzas <julian.bouzas@collabora.com> -Date: Wed, 9 Feb 2022 07:59:59 -0500 -Subject: [PATCH] spa-json: fix va_list APIs for different architectures - -The va_list type might not always be a pointer in some architectures, so we -cannot guarantee it will be modified after using it for a second time in another -function. This fixes the issue by using macros so args does not get copied, and -always gets modified when using it more than once. - -Upstream-Status: Backport [https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/e429db7e8c266045aee25e153fb2308bd61fe233] - -Signed-off-by: Peter Bergin <peter@berginkonsult.se> - ---- - lib/wp/spa-json.c | 156 ++++++++++++++++++++++++---------------------- - 1 file changed, 80 insertions(+), 76 deletions(-) - -diff --git a/lib/wp/spa-json.c b/lib/wp/spa-json.c -index f14f395..c5e59a3 100644 ---- a/lib/wp/spa-json.c -+++ b/lib/wp/spa-json.c -@@ -363,33 +363,33 @@ wp_spa_json_new_string (const gchar *value) - wp_spa_json_builder_new_formatted ("\"%s\"", value)); - } - --static void --wp_spa_json_builder_add_value (WpSpaJsonBuilder *self, const gchar *fmt, -- va_list args) --{ -- switch (*fmt) { -- case 'n': -- wp_spa_json_builder_add_null (self); -- break; -- case 'b': -- wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean)); -- break; -- case 'i': -- wp_spa_json_builder_add_int (self, va_arg(args, gint)); -- break; -- case 'f': -- wp_spa_json_builder_add_float (self, (float)va_arg(args, double)); -- break; -- case 's': -- wp_spa_json_builder_add_string (self, va_arg(args, const gchar *)); -- break; -- case 'J': -- wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *)); -- break; -- default: -- return; -- } --} -+/* Args is not a pointer in some architectures, so this needs to be a macro to -+ * avoid args being copied */ -+#define wp_spa_json_builder_add_value(self,fmt,args) \ -+do { \ -+ switch (*fmt) { \ -+ case 'n': \ -+ wp_spa_json_builder_add_null (self); \ -+ break; \ -+ case 'b': \ -+ wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean)); \ -+ break; \ -+ case 'i': \ -+ wp_spa_json_builder_add_int (self, va_arg(args, gint)); \ -+ break; \ -+ case 'f': \ -+ wp_spa_json_builder_add_float (self, (float)va_arg(args, double)); \ -+ break; \ -+ case 's': \ -+ wp_spa_json_builder_add_string (self, va_arg(args, const gchar *)); \ -+ break; \ -+ case 'J': \ -+ wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *)); \ -+ break; \ -+ default: \ -+ break; \ -+ } \ -+} while(false) - - /*! - * \brief Creates a spa json of type array -@@ -724,48 +724,46 @@ wp_spa_json_parse_object_valist (WpSpaJson *self, va_list args) - return res; - } - --static gboolean --wp_spa_json_parse_value (const gchar *data, int len, const gchar *fmt, -- va_list args) --{ -- switch (*fmt) { -- case 'n': -- if (!spa_json_is_null (data, len)) -- return FALSE; -- break; -- case 'b': -- if (!wp_spa_json_parse_boolean_internal (data, len, -- va_arg(args, gboolean *))) -- return FALSE; -- break; -- case 'i': -- if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0) -- return FALSE; -- break; -- case 'f': -- if (spa_json_parse_float (data, len, -- (float *)va_arg(args, double *)) < 0) -- return FALSE; -- break; -- case 's': { -- gchar *str = wp_spa_json_parse_string_internal (data, len); -- if (!str) -- return FALSE; -- *va_arg(args, gchar **) = str; -- break; -- } -- case 'J': { -- WpSpaJson *j = wp_spa_json_new (data, len); -- if (!j) -- return FALSE; -- *va_arg(args, WpSpaJson **) = j; -- break; -- } -- default: -- return FALSE; -- } -- return TRUE; --} -+/* Args is not a pointer in some architectures, so this needs to be a macro to -+ * avoid args being copied */ -+#define wp_spa_json_parse_value(data,len,fmt,args) \ -+do { \ -+ switch (*fmt) { \ -+ case 'n': \ -+ if (!spa_json_is_null (data, len)) \ -+ return FALSE; \ -+ break; \ -+ case 'b': \ -+ if (!wp_spa_json_parse_boolean_internal (data, len, \ -+ va_arg(args, gboolean *))) \ -+ return FALSE; \ -+ break; \ -+ case 'i': \ -+ if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0) \ -+ return FALSE; \ -+ break; \ -+ case 'f': \ -+ if (spa_json_parse_float (data, len, va_arg(args, float *)) < 0) \ -+ return FALSE; \ -+ break; \ -+ case 's': { \ -+ gchar *str = wp_spa_json_parse_string_internal (data, len); \ -+ if (!str) \ -+ return FALSE; \ -+ *va_arg(args, gchar **) = str; \ -+ break; \ -+ } \ -+ case 'J': { \ -+ WpSpaJson *j = wp_spa_json_new (data, len); \ -+ if (!j) \ -+ return FALSE; \ -+ *va_arg(args, WpSpaJson **) = j; \ -+ break; \ -+ } \ -+ default: \ -+ return FALSE; \ -+ } \ -+} while(false) - - /*! - * \brief Parses the object property values of a spa json object -@@ -827,8 +825,7 @@ wp_spa_json_object_get_valist (WpSpaJson *self, va_list args) - value = g_value_get_boxed (&item); - - if (g_strcmp0 (key_str, lookup_key) == 0) { -- if (!wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args)) -- return FALSE; -+ wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args); - lookup_key = va_arg(args, const gchar *); - if (!lookup_key) - return TRUE; -@@ -1366,9 +1363,12 @@ gboolean - wp_spa_json_parser_get_value (WpSpaJsonParser *self, const gchar *fmt, - va_list args) - { -- return wp_spa_json_parser_advance (self) && -- wp_spa_json_parse_value (self->curr.cur, -- self->curr.end - self->curr.cur, fmt, args); -+ if (wp_spa_json_parser_advance (self)) { -+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur, -+ fmt, args); -+ return TRUE; -+ } -+ return FALSE; - } - - /*! -@@ -1419,9 +1419,13 @@ wp_spa_json_parser_get_valist (WpSpaJsonParser *self, va_list args) - if (!format) - return TRUE; - -- /* parse value */ -- if (!wp_spa_json_parser_get_value (self, format, args)) -+ /* advance */ -+ if (!wp_spa_json_parser_advance (self)) - return FALSE; -+ -+ /* parse value */ -+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur, -+ format, args); - } while (TRUE); - - return FALSE; --- -2.32.0 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb index ed7417c280..0a2ca3b6f7 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.8.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb @@ -11,11 +11,10 @@ DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ " -SRCREV = "e14bb72dcc85e2130d0ea96768e5ae3b375a041e" +SRCREV = "8b97b40c4467951fbd4181afb47e4175361365a6" SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ file://90-OE-disable-session-dbus-dependent-features.lua \ - file://0001-spa-json-fix-va_list-APIs-for-different-architecture.patch \ - " + " S = "${WORKDIR}/git" |