diff options
-rw-r--r-- | include/topology.h | 23 | ||||
-rw-r--r-- | src/topology/data.c | 12 |
2 files changed, 29 insertions, 6 deletions
diff --git a/include/topology.h b/include/topology.h index 644e5489..0675b527 100644 --- a/include/topology.h +++ b/include/topology.h @@ -302,6 +302,29 @@ extern "C" { * } * } * </pre> + * To define multiple vendor tuples of same type, please append some + * characters after the type string ("string", "uuid", "bool", "byte", "short" + * or "word"), to avoid ID duplication in the SectionVendorTuples.<br> + * The parser will check the first few characters in ID to get the tuple type. + * Here is an example: + * <pre> + * SectionVendorTuples."id of the vendor tuples" { + * ... + * tuples."word.module0" { + * VENDOR_TOKEN_PARAM_ID1 "0x00112233" + * VENDOR_TOKEN_PARAM_ID2 "0x44556677" + * ... + * } + * + * tuples."word.module2" { + * VENDOR_TOKEN_PARAM_ID1 "0x11223344" + * VENDOR_TOKEN_PARAM_ID2 "0x55667788" + * ... + * } + * ... + * } + * + * </pre> * * <h5>Mixer Controls</h5> * A mixer control is defined as a new section that can include channel mapping, diff --git a/src/topology/data.c b/src/topology/data.c index 245a8340..e81b7f12 100644 --- a/src/topology/data.c +++ b/src/topology/data.c @@ -534,17 +534,17 @@ static int parse_tuple_set(snd_config_t *cfg, snd_config_get_id(cfg, &id); - if (strcmp(id, "uuid") == 0) + if (strncmp(id, "uuid", 4) == 0) type = SND_SOC_TPLG_TUPLE_TYPE_UUID; - else if (strcmp(id, "string") == 0) + else if (strncmp(id, "string", 5) == 0) type = SND_SOC_TPLG_TUPLE_TYPE_STRING; - else if (strcmp(id, "bool") == 0) + else if (strncmp(id, "bool", 4) == 0) type = SND_SOC_TPLG_TUPLE_TYPE_BOOL; - else if (strcmp(id, "byte") == 0) + else if (strncmp(id, "byte", 4) == 0) type = SND_SOC_TPLG_TUPLE_TYPE_BYTE; - else if (strcmp(id, "short") == 0) + else if (strncmp(id, "short", 5) == 0) type = SND_SOC_TPLG_TUPLE_TYPE_SHORT; - else if (strcmp(id, "word") == 0) + else if (strncmp(id, "word", 4) == 0) type = SND_SOC_TPLG_TUPLE_TYPE_WORD; else { SNDERR("error: invalid tuple type '%s'\n", id); |