Added I/O classes

This commit is contained in:
Abramo Bagnara 2001-01-17 11:00:32 +00:00
parent da4d6f5ee8
commit e283a3f642
32 changed files with 1882 additions and 226 deletions

View file

@ -633,42 +633,42 @@ static snd_pcm_sframes_t snd_pcm_route_read_areas(snd_pcm_t *pcm,
return err;
}
static void snd_pcm_route_dump(snd_pcm_t *pcm, FILE *fp)
static void snd_pcm_route_dump(snd_pcm_t *pcm, snd_output_t *out)
{
snd_pcm_route_t *route = pcm->private;
unsigned int dst;
if (route->sformat < 0)
fprintf(fp, "Route conversion PCM\n");
snd_output_printf(out, "Route conversion PCM\n");
else
fprintf(fp, "Route conversion PCM (sformat=%s)\n",
snd_output_printf(out, "Route conversion PCM (sformat=%s)\n",
snd_pcm_format_name(route->sformat));
fputs("Transformation table:\n", fp);
snd_output_puts(out, "Transformation table:\n");
for (dst = 0; dst < route->params.ndsts; dst++) {
ttable_dst_t *d = &route->params.dsts[dst];
unsigned int src;
if (d->nsrcs == 0)
continue;
fprintf(fp, "%d <- ", dst);
snd_output_printf(out, "%d <- ", dst);
src = 0;
while (1) {
ttable_src_t *s = &d->srcs[src];
if (d->att)
fprintf(fp, "%d*%g", s->channel, s->as_float);
snd_output_printf(out, "%d*%g", s->channel, s->as_float);
else
fprintf(fp, "%d", s->channel);
snd_output_printf(out, "%d", s->channel);
src++;
if (src == d->nsrcs)
break;
fputs(" + ", fp);
snd_output_puts(out, " + ");
}
putc('\n', fp);
snd_output_putc(out, '\n');
}
if (pcm->setup) {
fprintf(fp, "Its setup is:\n");
snd_pcm_dump_setup(pcm, fp);
snd_output_printf(out, "Its setup is:\n");
snd_pcm_dump_setup(pcm, out);
}
fprintf(fp, "Slave: ");
snd_pcm_dump(route->plug.slave, fp);
snd_output_printf(out, "Slave: ");
snd_pcm_dump(route->plug.slave, out);
}
snd_pcm_ops_t snd_pcm_route_ops = {