[alsa-devel] [PATCH] topology: add support to parse private data for pcm
Keyon Jie
yang.jie at linux.intel.com
Thu Aug 1 11:15:06 CEST 2019
We have private data section in struct snd_soc_tplg_pcm, but alsatplg
doesn't support handling it yet, here add handling in tplg_parse_pcm()
to enable it.
Signed-off-by: Keyon Jie <yang.jie at linux.intel.com>
---
src/topology/data.c | 3 +++
src/topology/pcm.c | 8 ++++++++
2 files changed, 11 insertions(+)
diff --git a/src/topology/data.c b/src/topology/data.c
index b3f4421f..729ce1f4 100644
--- a/src/topology/data.c
+++ b/src/topology/data.c
@@ -53,6 +53,9 @@ struct snd_soc_tplg_private *get_priv_data(struct tplg_elem *elem)
case SND_TPLG_TYPE_BE:
priv = &elem->link->priv;
break;
+ case SND_TPLG_TYPE_PCM:
+ priv = &elem->pcm->priv;
+ break;
default:
SNDERR("error: '%s': no support for private data for type %d\n",
elem->id, elem->type);
diff --git a/src/topology/pcm.c b/src/topology/pcm.c
index 5f586dc1..c533ee68 100644
--- a/src/topology/pcm.c
+++ b/src/topology/pcm.c
@@ -732,6 +732,14 @@ int tplg_parse_pcm(snd_tplg_t *tplg,
return err;
continue;
}
+
+ /* private data */
+ if (strcmp(id, "data") == 0) {
+ err = tplg_parse_data_refs(n, elem);
+ if (err < 0)
+ return err;
+ continue;
+ }
}
return 0;
--
2.20.1
More information about the Alsa-devel
mailing list