[alsa-devel] [PATCH] topology: Fix issue in parsing routes when generating topology binary
fuweix.tang at intel.com
fuweix.tang at intel.com
Fri May 5 08:52:02 CEST 2017
From: Fuwei Tang <fuweix.tang at intel.com>
We missed parsing the index value, which is used as a use case indicator, when
processing the route objects.
This patch fixes the bug.
Signed-off-by: Fuwei Tang <fuweix.tang at intel.com>
Tested-by: Subhransu S. Prusty <subhransu.s.prusty at intel.com>
---
src/topology/dapm.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/topology/dapm.c b/src/topology/dapm.c
index 13aa1c4..2fa387f 100644
--- a/src/topology/dapm.c
+++ b/src/topology/dapm.c
@@ -381,7 +381,7 @@ done:
}
-static int tplg_parse_routes(snd_tplg_t *tplg, snd_config_t *cfg)
+static int tplg_parse_routes(snd_tplg_t *tplg, snd_config_t *cfg, int index)
{
snd_config_iterator_t i, next;
snd_config_t *n;
@@ -399,7 +399,7 @@ static int tplg_parse_routes(snd_tplg_t *tplg, snd_config_t *cfg)
elem = tplg_elem_new_route(tplg);
if (!elem)
return -ENOMEM;
-
+ elem->index = index;
line = elem->route;
err = tplg_parse_line(val, line);
@@ -419,7 +419,8 @@ int tplg_parse_dapm_graph(snd_tplg_t *tplg, snd_config_t *cfg,
snd_config_iterator_t i, next;
snd_config_t *n;
int err;
- const char *graph_id;
+ const char *graph_id, *val = NULL;
+ int index;
if (snd_config_get_type(cfg) != SND_CONFIG_TYPE_COMPOUND) {
SNDERR("error: compound is expected for dapm graph definition\n");
@@ -436,8 +437,14 @@ int tplg_parse_dapm_graph(snd_tplg_t *tplg, snd_config_t *cfg,
continue;
}
+ if (strcmp(id, "index") == 0) {
+ if (snd_config_get_string(n, &val) < 0)
+ return NULL;
+ index = atoi(val);
+ }
+
if (strcmp(id, "lines") == 0) {
- err = tplg_parse_routes(tplg, n);
+ err = tplg_parse_routes(tplg, n, index);
if (err < 0) {
SNDERR("error: failed to parse dapm graph %s\n",
graph_id);
--
2.7.4
More information about the Alsa-devel
mailing list