Lines Matching refs:slv

376 static int snd_pcm_plug_change_rate(snd_pcm_t *pcm, snd_pcm_t **new, snd_pcm_plug_params_t *clt, snd_pcm_plug_params_t *slv)
380 if (clt->rate == slv->rate)
382 assert(snd_pcm_format_linear(slv->format));
383 err = snd_pcm_rate_open(new, NULL, slv->format, slv->rate, plug->rate_converter,
387 slv->access = clt->access;
388 slv->rate = clt->rate;
390 slv->format = clt->format;
396 static int snd_pcm_plug_change_channels(snd_pcm_t *pcm, snd_pcm_t **new, snd_pcm_plug_params_t *clt, snd_pcm_plug_params_t *slv)
402 if (clt->channels == slv->channels &&
405 if (clt->rate != slv->rate &&
406 clt->channels > slv->channels)
408 assert(snd_pcm_format_linear(slv->format));
409 tt_ssize = slv->channels;
411 tt_sused = slv->channels;
438 if (clt->channels == 1 || slv->channels == 1)
444 if (clt->channels > slv->channels) {
447 n = slv->channels;
453 clt->channels > slv->channels) {
454 int srcs = clt->channels / slv->channels;
455 if (s < clt->channels % slv->channels)
459 slv->channels > clt->channels) {
460 int srcs = slv->channels / clt->channels;
461 if (s < slv->channels % clt->channels)
469 if (++s == slv->channels)
474 if (clt->channels < slv->channels) {
477 n = slv->channels;
487 err = snd_pcm_route_open(new, NULL, slv->format, (int) slv->channels, ttable, tt_ssize, tt_cused, tt_sused, plug->gen.slave, plug->gen.slave != plug->req_slave);
490 slv->channels = clt->channels;
491 slv->access = clt->access;
493 slv->format = clt->format;
510 static int snd_pcm_plug_change_format(snd_pcm_t *pcm, snd_pcm_t **new, snd_pcm_plug_params_t *clt, snd_pcm_plug_params_t *slv)
518 if (clt->format == slv->format &&
519 clt->rate == slv->rate &&
520 clt->channels == slv->channels &&
524 if (snd_pcm_format_linear(slv->format)) {
526 if (clt->rate != slv->rate ||
527 clt->channels != slv->channels ||
564 } else if (snd_pcm_format_float(slv->format)) {
568 } else if (clt->rate != slv->rate || clt->channels != slv->channels ||
577 switch (slv->format) {
608 err = f(new, NULL, slv->format, plug->gen.slave, plug->gen.slave != plug->req_slave);
611 slv->format = cfmt;
612 slv->access = clt->access;
616 static int snd_pcm_plug_change_access(snd_pcm_t *pcm, snd_pcm_t **new, snd_pcm_plug_params_t *clt, snd_pcm_plug_params_t *slv)
620 if (clt->access == slv->access)
625 slv->access = clt->access;
632 snd_pcm_plug_params_t *slv)
637 if (clt->access == slv->access)
640 switch (slv->access) {
653 switch (slv->access) {
655 slv->access = SND_PCM_ACCESS_MMAP_INTERLEAVED;
658 slv->access = SND_PCM_ACCESS_MMAP_NONINTERLEAVED;