Lines Matching defs:loop

214 static int oss_set(struct loopback *loop,
221 if (loop->capt->card_number < 0)
228 sprintf(file, "/proc/asound/card%i/oss_mixer", loop->capt->card_number);
230 snd_output_printf(loop->output, "%s: Initialize OSS volume %s: %s", loop->id, file, buf);
238 logit(LOG_INFO, "%s: Unable to initialize OSS Mixer ID '%s'\n", loop->id, ossmix->oss_id);
242 static int control_init2(struct loopback *loop,
255 snd_ctl_elem_remove(loop->capt->ctl, mix->dst.id);
258 err = snd_ctl_elem_add_boolean(loop->capt->ctl,
263 err = snd_ctl_elem_add_integer(loop->capt->ctl,
279 err = snd_ctl_elem_unlock(loop->capt->ctl, mix->dst.id);
284 err = snd_ctl_elem_info(loop->capt->ctl, mix->dst.info);
291 err = snd_ctl_elem_tlv_read(loop->play->ctl,
298 err = snd_ctl_elem_tlv_write(loop->capt->ctl,
306 err = snd_ctl_elem_write(loop->capt->ctl, mix->dst.value);
314 int control_init(struct loopback *loop)
320 for (ossmix = loop->oss_controls; ossmix; ossmix = ossmix->next)
321 oss_set(loop, ossmix, 0);
322 for (mix = loop->controls; mix; mix = mix->next) {
323 err = control_init1(loop->play, &mix->src);
325 logit(LOG_WARNING, "%s: Disabling playback control '%s'\n", loop->id, id_str(mix->src.id));
329 err = control_init2(loop, mix);
333 for (ossmix = loop->oss_controls; ossmix; ossmix = ossmix->next) {
334 err = oss_set(loop, ossmix, 1);
337 logit(LOG_WARNING, "%s: Disabling OSS mixer ID '%s'\n", loop->id, ossmix->oss_id);
343 int control_done(struct loopback *loop)
349 if (loop->capt->ctl == NULL)
351 for (ossmix = loop->oss_controls; ossmix; ossmix = ossmix->next) {
352 err = oss_set(loop, ossmix, 0);
354 logit(LOG_WARNING, "%s: Unable to remove OSS control '%s'\n", loop->id, ossmix->oss_id);
356 for (mix = loop->controls; mix; mix = mix->next) {
359 err = snd_ctl_elem_remove(loop->capt->ctl, mix->dst.id);
361 logit(LOG_WARNING, "%s: Unable to remove control '%s': %s\n", loop->id, id_str(mix->dst.id), snd_strerror(err));
366 static int control_event1(struct loopback *loop,
380 err = snd_ctl_elem_read(loop->play->ctl, mix->src.value);
386 err = snd_ctl_elem_write(loop->capt->ctl, mix->dst.value);
392 err = snd_ctl_elem_read(loop->capt->ctl, mix->dst.value);
398 err = snd_ctl_elem_write(loop->play->ctl, mix->src.value);