From: Keyon Jie Date: Thu, 1 Aug 2019 09:15:06 +0000 (+0800) Subject: topology: add support to parse private data for pcm X-Git-Tag: v1.2.1~38 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=66a2d53f42e34ba1ee7ac8aff16773c5b81363ec;p=alsa-lib.git topology: add support to parse private data for pcm 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 Signed-off-by: Takashi Iwai --- 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;