Lines Matching defs:chmap
105 snd_pcm_chmap_t *chmap;
443 free(route->chmap);
730 * - Given a channel name (e g "FL") and a chmap,
731 * it will look this up in the chmap and return all matches
732 * - Given a channel name and no chmap, the result is an array with one element,
737 static int strtochannel(const char *id, snd_pcm_chmap_t *chmap,
748 if (chmap) {
752 for (i = chmap->channels - 1; i >= 0; i--) {
753 if ((int) chmap->pos[i] != ch)
775 snd_pcm_chmap_t *chmap;
778 chmap = malloc(sizeof(snd_pcm_chmap_t) +
781 chmap->channels = 0;
804 for (k = 0; k < (int) chmap->channels; k++)
805 if (ch == (int) chmap->pos[k]) {
812 if (chmap->channels >= MAX_CHMAP_CHANNELS) {
813 SNDERR("Too many channels in ttable chmap");
816 chmap->pos[chmap->channels++] = ch;
820 if (chmap->channels == 0) {
821 free(chmap);
822 chmap = NULL;
824 *tt_chmap = chmap;
829 free(chmap);
842 return 0; /* chmap API not supported for this slave */
889 if (!route->chmap)
894 /* Check if we really need to set the chmap or not.
899 if (current->channels != route->chmap->channels)
902 set_map = memcmp(current->pos, route->chmap->pos,
908 return snd_pcm_set_chmap(route->plug.gen.slave, route->chmap);
1072 snd_pcm_chmap_t *chmap)
1101 err = strtochannel(id, chmap, &schannel, 1);
1147 int schannels, snd_pcm_chmap_t *chmap)
1184 ss = strtochannel(id, chmap, scha, tt_ssize);
1263 [chmap MAP] # Override channel maps; MAP is a string array
1297 snd_pcm_chmap_t *tt_chmap = NULL, *chmap = NULL;
1325 if (strcmp(id, "chmap") == 0) {
1380 err = find_matching_chmap(chmaps, tt_chmap, &chmap,
1390 err = _snd_pcm_route_determine_ttable(tt, &csize, &ssize, chmap);
1392 free(chmap);
1399 free(chmap);
1405 &cused, &sused, schannels, chmap);
1407 free(chmap);
1420 free(chmap);
1426 route->chmap = chmap;