Lines Matching defs:slaves
60 snd_pcm_multi_slave_t *slaves;
73 snd_pcm_multi_slave_t *slave = &multi->slaves[i];
80 free(multi->slaves);
94 snd_pcm_t *slave_0 = multi->slaves[multi->master_slave].pcm;
101 snd_pcm_t *slave_0 = multi->slaves[multi->master_slave].pcm;
109 snd_pcm_t *slave_0 = multi->slaves[multi->master_slave].pcm;
114 slave = multi->slaves[i].pcm;
128 snd_pcm_t *slave_0 = multi->slaves[multi->master_slave].pcm;
139 err = snd_pcm_info(multi->slaves[n].pcm, info);
169 snd_pcm_multi_slave_t *slave = &multi->slaves[slave_idx];
252 snd_pcm_t *slave = multi->slaves[slave_idx].pcm;
302 snd_pcm_t *slave = multi->slaves[slave_idx].pcm;
319 * slave #1-(N-1) = trigger slaves, linked is set to #0
326 if (multi->slaves[i].linked)
327 snd_pcm_unlink(multi->slaves[i].linked);
328 multi->slaves[0].linked = NULL;
331 if (snd_pcm_link(multi->slaves[0].pcm, multi->slaves[i].pcm) >= 0)
332 multi->slaves[i].linked = multi->slaves[0].pcm;
363 snd_pcm_t *slave = multi->slaves[i].pcm;
367 if (!multi->slaves[i].linked)
372 multi->slaves[i].linked = NULL;
383 snd_pcm_t *slave = multi->slaves[i].pcm;
395 snd_pcm_t *slave = multi->slaves[multi->master_slave].pcm;
411 snd_pcm_t *slave = multi->slaves[multi->master_slave].pcm;
420 /* the logic is really simple, choose the lowest hw_ptr from slaves */
424 slave_hw_ptr = *multi->slaves[i].pcm->hw.ptr;
434 slave_hw_ptr = *multi->slaves[i].pcm->hw.ptr;
451 err = snd_pcm_hwsync(multi->slaves[i].pcm);
466 err = snd_pcm_delay(multi->slaves[i].pcm, &d);
483 avail = snd_pcm_avail_update(multi->slaves[i].pcm);
497 snd_pcm_t *slave = multi->slaves[multi->master_slave].pcm;
510 err = snd_pcm_prepare(multi->slaves[i].pcm);
525 err = snd_pcm_reset(multi->slaves[i].pcm);
542 if (multi->slaves[0].linked)
543 return snd_pcm_start(multi->slaves[0].linked);
545 if (multi->slaves[i].linked)
547 err = snd_pcm_start(multi->slaves[i].pcm);
559 if (multi->slaves[0].linked)
560 return snd_pcm_drop(multi->slaves[0].linked);
562 if (multi->slaves[i].linked)
564 err = snd_pcm_drop(multi->slaves[i].pcm);
576 if (multi->slaves[0].linked)
577 return snd_pcm_drain(multi->slaves[0].linked);
579 if (multi->slaves[i].linked)
581 err = snd_pcm_drain(multi->slaves[i].pcm);
593 if (multi->slaves[0].linked)
594 return snd_pcm_pause(multi->slaves[0].linked, enable);
596 if (multi->slaves[i].linked)
598 err = snd_pcm_pause(multi->slaves[i].pcm, enable);
614 err = snd_pcm_channel_info(multi->slaves[c->slave_idx].pcm, info);
626 snd_pcm_sframes_t f = snd_pcm_rewindable(multi->slaves[i].pcm);
644 snd_pcm_sframes_t f = snd_pcm_forwardable(multi->slaves[i].pcm);
662 snd_pcm_t *slave_i = multi->slaves[i].pcm;
671 snd_pcm_t *slave_i = multi->slaves[i].pcm;
693 snd_pcm_t *slave_i = multi->slaves[i].pcm;
702 snd_pcm_t *slave_i = multi->slaves[i].pcm;
722 if (multi->slaves[0].linked)
723 return snd_pcm_resume(multi->slaves[0].linked);
725 if (multi->slaves[i].linked)
727 err = snd_pcm_resume(multi->slaves[i].pcm);
734 /* if a multi plugin instance is linked as slaves, every slave PCMs
744 snd_pcm_unlink(multi->slaves[i].pcm);
745 multi->slaves[i].linked = NULL;
746 err = snd_pcm_link(master, multi->slaves[i].pcm);
751 multi->slaves[i].linked = master;
757 * slave element as its own slaves are already linked.
762 snd_pcm_t *main_pcm = multi->slaves[0].pcm;
774 if (multi->slaves[i].linked)
775 snd_pcm_unlink(multi->slaves[i].linked);
776 multi->slaves[0].linked = NULL;
791 slave = multi->slaves[i].pcm;
833 slave = multi->slaves[chan->slave_idx].pcm;
848 if (snd_pcm_may_wait_for_avail_min(multi->slaves[i].pcm, avail))
873 slave_maps[i] = snd_pcm_query_chmaps(multi->slaves[i].pcm);
881 multi->slaves[bind->slave_idx].channels_count;
922 slave_maps[i] = snd_pcm_get_chmap(multi->slaves[i].pcm);
957 slave_maps[i] = calloc(multi->slaves[i].channels_count + 1,
974 err = snd_pcm_set_chmap(multi->slaves[i].pcm, slave_maps[i]);
1005 snd_pcm_dump(multi->slaves[k].pcm, out);
1063 * \param slaves_count Count of slaves
1068 * \param sidxs Array with channels indexes to slaves
1103 multi->slaves = calloc(slaves_count, sizeof(*multi->slaves));
1104 if (!multi->slaves) {
1111 free(multi->slaves);
1116 snd_pcm_multi_slave_t *slave = &multi->slaves[i];
1134 multi->slaves[0].pcm->mode);
1136 free(multi->slaves);
1146 pcm->poll_fd = multi->slaves[master_slave].pcm->poll_fd;
1147 pcm->poll_events = multi->slaves[master_slave].pcm->poll_events;
1148 pcm->tstamp_type = multi->slaves[master_slave].pcm->tstamp_type;
1164 slaves { # Slaves definition
1190 slaves.a.pcm "hw:0,0"
1191 slaves.a.channels 2
1192 slaves.b.pcm "hw:0,1"
1193 slaves.b.channels 2
1248 snd_config_t *slaves = NULL;
1268 if (strcmp(id, "slaves") == 0) {
1273 slaves = n;
1294 if (!slaves) {
1295 SNDERR("slaves is not defined");
1302 snd_config_for_each(i, inext, slaves) {
1341 snd_config_for_each(i, inext, slaves) {