pipewire: update patches
[AGL/meta-agl-devel.git] / meta-pipewire / recipes-multimedia / pipewire / pipewire / 0008-audio-dsp-allow-mode-to-be-set-with-a-property.patch
diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire/0008-audio-dsp-allow-mode-to-be-set-with-a-property.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0008-audio-dsp-allow-mode-to-be-set-with-a-property.patch
new file mode 100644 (file)
index 0000000..681bae6
--- /dev/null
@@ -0,0 +1,45 @@
+From 0c85e1110e32720785f861c7a85cf0636394eee4 Mon Sep 17 00:00:00 2001
+From: Julian Bouzas <julian.bouzas@collabora.com>
+Date: Thu, 27 Jun 2019 12:44:39 -0400
+Subject: [PATCH] audio-dsp: allow mode to be set with a property
+
+Upstream-Status: Submitted [https://github.com/PipeWire/pipewire/pull/167]
+---
+ src/modules/module-audio-dsp/audio-dsp.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/modules/module-audio-dsp/audio-dsp.c b/src/modules/module-audio-dsp/audio-dsp.c
+index be8a7592..68249307 100644
+--- a/src/modules/module-audio-dsp/audio-dsp.c
++++ b/src/modules/module-audio-dsp/audio-dsp.c
+@@ -264,7 +264,7 @@ struct pw_node *pw_audio_dsp_new(struct pw_core *core,
+ {
+       struct pw_node *node;
+       struct node *n;
+-      const char *api, *alias, *str, *factory;
++      const char *api, *alias, *str, *factory, *mode;
+       char node_name[128];
+       struct pw_properties *pr;
+       int i;
+@@ -279,6 +279,7 @@ struct pw_node *pw_audio_dsp_new(struct pw_core *core,
+               pw_log_error("missing audio-dsp.name property");
+               goto error;
+       }
++      mode = pw_properties_get(pr, "audio-dsp.mode");
+       snprintf(node_name, sizeof(node_name), "system_%s", alias);
+       for (i = 0; node_name[i]; i++) {
+@@ -296,7 +297,9 @@ struct pw_node *pw_audio_dsp_new(struct pw_core *core,
+       if ((str = pw_properties_get(pr, "node.id")) != NULL)
+               pw_properties_set(pr, "node.session", str);
+-      if (direction == PW_DIRECTION_OUTPUT) {
++      if (mode) {
++              factory = mode;
++      } else if (direction == PW_DIRECTION_OUTPUT) {
+               pw_properties_set(pr, "merger.monitor", "1");
+               factory = "merge";
+       } else {
+-- 
+2.20.1
+