Lines Matching refs:tuples
528 /* get the vendor tokens referred by the vendor tuples */
553 /* check if a data element has tuples */
586 /* Add a tuples object to the private buffer of its parent data element */
588 struct tplg_vendor_tuples *tuples,
604 /* scan each tuples set (one set per type) */
605 for (i = 0; i < tuples->num_sets ; i++) {
606 tuple_set = tuples->set[i];
673 /* build a data element from its tuples */
678 struct tplg_elem *tuples, *tokens;
689 tplg_dbg("tuples '%s' used by data '%s'", ref->id, elem->id);
694 tuples = ref->elem;
695 if (!tuples) {
696 SNDERR("cannot find tuples %s", ref->id);
700 tokens = get_tokens(tplg, tuples);
706 /* a data object can have multiple tuples objects */
707 err = copy_tuples(elem, tuples->tuples, tokens->tokens);
807 tplg_dbg("\t %d %s tuples:", num_tuples, id);
889 static int tplg_save_tuple_set(struct tplg_vendor_tuples *tuples,
900 set = tuples->set[set_index];
906 if (tuples->num_sets < 10)
908 else if (tuples->num_sets < 100)
910 else if (tuples->num_sets < 1000)
915 snprintf(buf, sizeof(buf), "tuples.%s%%s {\n", fmt);
923 snprintf(buf, sizeof(buf), "tuples.%s%%s.'%%s' ", fmt);
969 struct tplg_vendor_tuples *tuples)
990 tuples->set = calloc(1, num_tuple_sets * sizeof(void *));
991 if (!tuples->set)
1002 err = parse_tuple_set(n, &tuples->set[tuples->num_sets]);
1007 if (tuples->set[tuples->num_sets])
1008 tuples->num_sets++;
1019 struct tplg_vendor_tuples *tuples = elem->tuples;
1023 for (i = 0; i < tuples->num_sets; i++) {
1027 err = tplg_save_tuple_set(tuples, i, dst, pfx);
1110 /* Parse vendor tuples.
1119 struct tplg_vendor_tuples *tuples;
1128 tuples = calloc(1, sizeof(*tuples));
1129 if (!tuples)
1131 elem->tuples = tuples;
1146 if (strcmp(id, "tuples") == 0) {
1147 err = parse_tuple_sets(n, tuples);
1156 /* save vendor tuples */
1164 if (!elem->tuples)
1179 /* Free handler of tuples */
1182 struct tplg_vendor_tuples *tuples = (struct tplg_vendor_tuples *)obj;
1185 if (!tuples || !tuples->set)
1188 for (i = 0; i < tuples->num_sets; i++)
1189 free(tuples->set[i]);
1191 free(tuples->set);
1342 * words, tuples.
1400 if (strcmp(id, "tuples") == 0) {
1485 "tuples", dst,
1550 /* check data objects and build those with tuples */
1700 tplg_log(tplg, 'A', pos, "tuple set verify: tuples overflow %d", va->num_elems);
1721 SNDERR("tuples: wrong size %zd", size);
1734 SNDERR("tuples: unknown array type %d", va->type);
1740 SNDERR("tuples: wrong vendor array size %d "
1747 SNDERR("tuples: tuples overflow %d", va->num_elems);
1758 tplg_log(tplg, 'A', pos, "tuple set: type %d (%s) tuples %d size %d", set->type,
1800 /* verify tuples from the binary input */
1808 tplg_log(tplg, 'A', pos, "tuples: small size %zd", size);
1815 tplg_log(tplg, 'A', pos, "tuples: unexpected vendor arry size %zd", size);
1832 /* add tuples from the binary input */
1836 struct tplg_vendor_tuples *tuples,
1844 SNDERR("tuples: small size %zd", size);
1851 SNDERR("tuples: unexpected vendor arry size %zd", size);
1855 if (tuples->num_sets >= tuples->alloc_sets) {
1856 SNDERR("tuples: index overflow (%d)", tuples->num_sets);
1863 tuples->set[tuples->num_sets++] = set;
1882 struct tplg_vendor_tuples *tuples = NULL;
1901 if (tuples) {
1911 tuples = NULL;
1917 if (!tuples) {
1927 tuples = calloc(1, sizeof(*tuples));
1928 if (!tuples)
1930 elem->tuples = tuples;
1932 tuples->alloc_sets = (size / sizeof(*va)) + 1;
1933 tuples->set = calloc(1, tuples->alloc_sets * sizeof(void *));
1934 if (!tuples->set) {
1935 tuples->alloc_sets = 0;
1939 tplg_log(tplg, 'A', pos, "decode tuples: size %d", tp->size);
1940 err = tplg_decode_tuples(tplg, pos, parent, tuples, tp->array, tp->size);
1952 if (tuples && elem && elem2) {