diff options
Diffstat (limited to 'meta-pipewire/recipes-multimedia/wireplumber')
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch (renamed from meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-tests-add-pipewire-env-variables-when-running.patch) | 17 | ||||
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch (renamed from meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-wp-uninstalled-build-this-script-with-the-mes.patch) | 13 | ||||
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch | 214 | ||||
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb | 11 |
4 files changed, 235 insertions, 20 deletions
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-tests-add-pipewire-env-variables-when-running.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch index 7a24d1554..88301d56f 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-tests-add-pipewire-env-variables-when-running.patch +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch @@ -1,8 +1,8 @@ -From 4ea8ddc256df636208479a5b64bf8bdc6e413aca Mon Sep 17 00:00:00 2001 +From 1197f31d2b681d0cf0ca1309d50c8ab8ea80ac5e Mon Sep 17 00:00:00 2001 From: Ashok Sidipotu <ashok.sidipotu@collabora.com> Date: Thu, 2 Dec 2021 16:57:54 +0530 -Subject: [PATCH] Revert "tests: add pipewire env variables when running tests, - tidy up common_env" +Subject: [PATCH 1/2] Revert "tests: add pipewire env variables when running + tests, tidy up common_env" This reverts commit c24db9f3539f9b7ebe9e74c991cc3037f28ea22c. @@ -75,7 +75,7 @@ index ffab80b..2fc46dc 100644 '-DG_LOG_USE_STRUCTURED', ] diff --git a/tests/wp/meson.build b/tests/wp/meson.build -index adc9cef..e75640c 100644 +index 178564d..b64ccae 100644 --- a/tests/wp/meson.build +++ b/tests/wp/meson.build @@ -1,7 +1,11 @@ @@ -94,7 +94,7 @@ index adc9cef..e75640c 100644 '-DG_LOG_USE_STRUCTURED', ] diff --git a/tests/wplua/meson.build b/tests/wplua/meson.build -index 128cc30..cd45c1c 100644 +index a7ff033..fcf4b51 100644 --- a/tests/wplua/meson.build +++ b/tests/wplua/meson.build @@ -1,13 +1,18 @@ @@ -120,19 +120,20 @@ index 128cc30..cd45c1c 100644 ) script_tester = executable('script-tester', -@@ -20,10 +25,12 @@ test( +@@ -20,6 +25,7 @@ test( script_tester, args: ['pod.lua'], env: common_env, + workdir : meson.current_source_dir(), ) test( - 'test-lua-monitor-rules', + 'test-lua-json', +@@ -32,4 +38,5 @@ test( script_tester, args: ['monitor-rules.lua'], env: common_env, + workdir : meson.current_source_dir(), ) -- -2.33.1 +2.35.1 diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-wp-uninstalled-build-this-script-with-the-mes.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch index 658b89946..d20634d8b 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-wp-uninstalled-build-this-script-with-the-mes.patch +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch @@ -1,11 +1,10 @@ -From 78cde5e91ba5d9aa7bfe918ce6bad3b4af30c796 Mon Sep 17 00:00:00 2001 +From 8e959b7894047030edca21a04dd91994e8868a1f Mon Sep 17 00:00:00 2001 From: Ashok Sidipotu <ashok.sidipotu@collabora.com> -Date: Fri, 14 Jan 2022 20:14:56 +0530 -Subject: [PATCH] Revert "wp-uninstalled: build this script with the meson dirs - filled in" +Date: Fri, 25 Feb 2022 06:05:43 +0530 +Subject: [PATCH 2/2] Revert "wp-uninstalled: build this script with the meson + dirs filled in" This reverts commit 52aaf96179584292f493c4b329bc2c409e6d3dee. - Upstream-Status: Inappropriate[meson version dependent] --- meson.build | 31 ------------------------------- @@ -13,7 +12,7 @@ Upstream-Status: Inappropriate[meson version dependent] 2 files changed, 2 insertions(+), 40 deletions(-) diff --git a/meson.build b/meson.build -index 1f9c9d8..7e02b29 100644 +index e4323dc..185248f 100644 --- a/meson.build +++ b/meson.build @@ -120,34 +120,3 @@ subdir('src') @@ -74,5 +73,5 @@ index 79e53f2..d6279ff 100755 while getopts ":b:c:" opt; do -- -2.33.1 +2.35.1 diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch new file mode 100644 index 000000000..9d0c68d58 --- /dev/null +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch @@ -0,0 +1,214 @@ +From ae6c9a5e612c343dd307fe34a1a282b7a4f17a5c 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 3/3] 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 +--- + 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.35.1 + diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb index a08ebbbed..f42b12770 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb @@ -14,16 +14,17 @@ DEPENDS = "glib-2.0 glib-2.0-native pipewire lua" SRC_URI = "\ git://gitlab.freedesktop.org/pipewire/wireplumber.git;protocol=https;branch=master \ " -# v0.4.7 -SRCREV = "afb177b5e0840d54dc41d02920702c3c9580ce02" +# v0.4.8 +SRCREV = "e14bb72dcc85e2130d0ea96768e5ae3b375a041e" # patches to be able to compile with lower version of meson that is available in AGL. SRC_URI += "\ - file://0001-Revert-wp-uninstalled-build-this-script-with-the-mes.patch \ - file://0002-Revert-tests-add-pipewire-env-variables-when-running.patch \ + file://0001-Revert-tests-add-pipewire-env-variables-when-running.patch \ + file://0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch \ + file://0003-spa-json-fix-va_list-APIs-for-different-architecture.patch \ " -PV = "0.4.5" +PV = "0.4.8" S = "${WORKDIR}/git" WPAPI="0.4" |