Home | History | Annotate | Download | only in server

Lines Matching refs:elem

21  * elem - ALSA mixer element.
30 snd_mixer_elem_t *elem;
131 snd_mixer_elem_t *elem,
137 if (!elem)
146 c->elem = elem;
151 c->has_mute = snd_mixer_selem_has_playback_switch(elem);
153 if (snd_mixer_selem_has_playback_volume(elem) &&
155 elem, &min, &max) == 0) {
162 c->has_mute = snd_mixer_selem_has_capture_switch(elem);
164 if (snd_mixer_selem_has_capture_volume(elem) &&
166 elem, &min, &max) == 0) {
177 struct mixer_control_element *elem;
182 DL_FOREACH(control->elements, elem) {
183 DL_DELETE(control->elements, elem);
184 free(elem);
205 struct mixer_control_element *elem;
210 elem = mixer_control_element_create(snd_elem, control->dir);
211 if (!elem)
214 DL_APPEND(control->elements, elem);
216 if (elem->has_volume) {
225 control->min_volume_dB = elem->min_volume_dB;
226 control->max_volume_dB = elem->max_volume_dB;
227 } else if (control->min_volume_dB != elem->min_volume_dB ||
228 control->max_volume_dB != elem->max_volume_dB) {
232 snd_mixer_selem_get_name(elem->elem),
234 elem->min_volume_dB, elem->max_volume_dB,
239 if (elem->has_mute && !control->has_mute)
246 snd_mixer_elem_t *elem,
266 if (!name && elem)
267 name = snd_mixer_selem_get_name(elem);
281 if (elem && (rc = mixer_control_add_element(c, elem)))
315 snd_mixer_elem_t *elem;
340 elem = snd_mixer_find_selem(cmix->mixer, sid);
341 if (!elem) {
348 rc = mixer_control_add_element(c, elem);
364 const struct mixer_control_element *elem = NULL;
368 DL_FOREACH(control->elements, elem) {
369 if(elem->has_volume) {
372 elem->elem, to_set, 1);
375 elem->elem, to_set, 1);
380 snd_mixer_selem_get_name(elem->elem),
384 if (rc && elem) {
387 snd_mixer_selem_get_name(elem->elem), rc);
395 const struct mixer_control_element *elem = NULL;
399 DL_FOREACH(control->elements, elem) {
400 if (elem->has_volume) {
403 elem->elem,
408 elem->elem,
416 if (rc && elem) {
419 snd_mixer_selem_get_name(elem->elem), rc);
427 const struct mixer_control_element *elem = NULL;
431 DL_FOREACH(control->elements, elem) {
432 if(elem->has_mute) {
435 elem->elem, !muted);
438 elem->elem, !muted);
443 if (rc && elem) {
446 snd_mixer_selem_get_name(elem->elem), rc);
454 snd_mixer_elem_t *elem)
456 if (snd_mixer_selem_has_playback_volume(elem)) {
459 int rc = mixer_control_create(&c, NULL, elem, CRAS_STREAM_OUTPUT);
481 snd_mixer_selem_has_playback_switch(elem)) {
483 snd_mixer_selem_get_name(elem));
484 cmix->playback_switch = elem;
493 snd_mixer_elem_t *elem)
496 if (snd_mixer_selem_get_index(elem) > 0)
499 if (snd_mixer_selem_has_capture_volume(elem)) {
501 int rc = mixer_control_create(&c, NULL, elem, CRAS_STREAM_INPUT);
512 snd_mixer_selem_has_capture_switch(elem)) {
514 snd_mixer_selem_get_name(elem));
515 cmix->capture_switch = elem;
524 snd_mixer_elem_t *elem,
531 index = snd_mixer_selem_get_index(elem);
536 rc = mixer_control_create(&c, name, elem, dir);
553 snd_mixer_elem_t *elem)
555 return add_control_with_name(cmix, dir, elem,
556 snd_mixer_selem_get_name(elem));
692 snd_mixer_elem_t *elem;
724 for(elem = snd_mixer_first_elem(cmix->mixer);
725 elem != NULL; elem = snd_mixer_elem_next(elem)) {
730 name = snd_mixer_selem_get_name(elem);
757 rc = add_main_volume_control(cmix, elem);
762 cmix, CRAS_STREAM_OUTPUT, elem);
794 rc = add_main_capture_control(cmix, elem);
798 cmix, CRAS_STREAM_INPUT, elem);
814 if (!found && snd_mixer_selem_has_playback_volume(elem)) {
815 /* Temporarily cache one elem whose name is not
819 if (snd_mixer_selem_get_playback_dB_range(elem,
827 other_elem = elem;