remove aparams_{eq,copy}, nicer log messages

This commit is contained in:
Alexandre Ratchov 2012-09-03 10:14:23 +02:00
parent 6ce349176e
commit 06920b56d9
4 changed files with 72 additions and 95 deletions

View File

@ -38,11 +38,6 @@ int aparams_ctltovol[128] = {
26008, 27029, 28090, 29193, 30339, 31530, 32768
};
/*
* Fake parameters for byte-streams
*/
struct aparams aparams_none = {1, 0, 0, 0, 0};
/*
* Generate a string corresponding to the encoding in par,
* return the length of the resulting string.
@ -192,28 +187,12 @@ aparams_log(struct aparams *par)
}
/*
* Return true if both encodings are the same.
* Return true if encoding can be represented as adata_t
*/
int
aparams_eq(struct aparams *par1, struct aparams *par2)
aparams_native(struct aparams *par)
{
if (par1->bps != par2->bps ||
par1->bits != par2->bits ||
par1->sig != par2->sig)
return 0;
if ((par1->bits != 8 * par1->bps) && par1->msb != par2->msb)
return 0;
if (par1->bps > 1 && par1->le != par2->le)
return 0;
return 1;
}
void
aparams_copy(struct aparams *dst, struct aparams *src)
{
dst->sig = src->sig;
dst->le = src->le;
dst->msb = src->msb;
dst->bits = src->bits;
dst->bps = src->bps;
return par->bps == sizeof(adata_t) && par->bits == ADATA_BITS &&
(par->bps > 1 || par->le == ADATA_LE) &&
(par->bits < par->bps * 8 || !par->msb);
}

View File

@ -128,7 +128,6 @@ void aparams_init(struct aparams *);
void aparams_log(struct aparams *);
int aparams_strtoenc(struct aparams *, char *);
int aparams_enctostr(struct aparams *, char *);
int aparams_eq(struct aparams *, struct aparams *);
void aparams_copy(struct aparams *, struct aparams *);
int aparams_native(struct aparams *);
#endif /* !defined(APARAMS_H) */

View File

@ -1013,8 +1013,6 @@ dev_adjpar(struct dev *d, int mode,
int
dev_open(struct dev *d)
{
struct aparams par;
d->mode = d->reqmode;
d->round = d->reqround;
d->bufsz = d->reqbufsz;
@ -1037,8 +1035,6 @@ dev_open(struct dev *d)
return 0;
}
if (d->mode & MODE_REC) {
aparams_init(&par);
/*
* Create device <-> demuxer buffer
*/
@ -1047,16 +1043,13 @@ dev_open(struct dev *d)
/*
* Insert a converter, if needed.
*/
if (!aparams_eq(&d->par, &par)) {
if (!aparams_native(&d->par)) {
dec_init(&d->dec, &d->par, d->rchan);
d->decbuf = xmalloc(d->round * d->rchan * d->par.bps);
memrnd(d->decbuf, d->round * d->rchan * d->par.bps);
} else
d->decbuf = NULL;
}
if (d->mode & MODE_PLAY) {
aparams_init(&par);
/*
* Create device <-> mixer buffer
*/
@ -1067,10 +1060,9 @@ dev_open(struct dev *d)
/*
* Append a converter, if needed.
*/
if (!aparams_eq(&par, &d->par)) {
if (!aparams_native(&d->par)) {
enc_init(&d->enc, &d->par, d->pchan);
d->encbuf = xmalloc(d->round * d->pchan * d->par.bps);
memrnd(d->encbuf, d->round * d->pchan * d->par.bps);
} else
d->encbuf = NULL;
}
@ -1079,24 +1071,21 @@ dev_open(struct dev *d)
dev_log(d);
log_puts(": ");
log_putu(d->rate);
log_puts("Hz");
log_puts("Hz, ");
aparams_log(&d->par);
if (d->mode & MODE_PLAY) {
log_puts(", ");
log_puti(d->pchan);
log_puts(" play chans");
log_puts(", play 0:");
log_puti(d->pchan - 1);
}
if (d->mode & MODE_REC) {
log_puts(", ");
log_puti(d->rchan);
log_puts(" rec chans");
log_puts(", rec 0:");
log_puti(d->rchan - 1);
}
log_puts(", ");
aparams_log(&d->par);
log_puts(", ");
log_putu(d->bufsz / d->round);
log_puts("x");
log_puts(" blocks of ");
log_putu(d->round);
log_puts(" buffer\n");
log_puts(" frames\n");
}
return 1;
}
@ -1255,7 +1244,7 @@ dev_wakeup(struct dev *d)
#endif
if (log_level >= 2) {
dev_log(d);
log_puts(" device started\n");
log_puts(": device started\n");
}
if (d->mode & MODE_PLAY) {
d->prime = d->bufsz;
@ -1667,7 +1656,7 @@ slot_attach(struct slot *s)
s->mix.slot_cmin, s->mix.slot_cmax,
0, d->pchan - 1,
s->mix.dev_cmin, s->mix.dev_cmax);
if (!aparams_eq(&s->par, &d->par)) {
if (!aparams_native(&s->par)) {
dec_init(&s->mix.dec, &s->par, slot_nch);
s->mix.dec.data =
xmalloc(d->round * slot_nch * sizeof(adata_t));
@ -1677,25 +1666,27 @@ slot_attach(struct slot *s)
s->mix.resamp.data =
xmalloc(d->round * slot_nch * sizeof(adata_t));
}
log_puts("mix: cc = ");
log_puti(s->mix.cmap.nch);
log_puts(", dev_nch = ");
log_puti(dev_nch);
log_puts(", slot = ");
log_puti(s->mix.slot_cmin);
log_puts(":");
log_puti(s->mix.slot_cmax);
log_puts(", dev = ");
log_puti(s->mix.dev_cmin);
log_puts(":");
log_puti(s->mix.dev_cmax);
log_puts(", join = ");
log_puti(s->mix.join);
log_puts(", expand = ");
log_puti(s->mix.expand);
log_puts("\n");
#ifdef DEBUG
if (log_level >= 3) {
log_puts("play: cc = ");
log_puti(s->mix.cmap.nch);
log_puts(", dev_nch = ");
log_puti(dev_nch);
log_puts(", slot = ");
log_puti(s->mix.slot_cmin);
log_puts(":");
log_puti(s->mix.slot_cmax);
log_puts(", dev = ");
log_puti(s->mix.dev_cmin);
log_puts(":");
log_puti(s->mix.dev_cmax);
log_puts(", join = ");
log_puti(s->mix.join);
log_puts(", expand = ");
log_puti(s->mix.expand);
log_puts("\n");
}
#endif
s->mix.drop = 0;
s->mix.vol = MIDI_TO_ADATA(s->vol);
dev_mix_setmaster(d);
@ -1726,30 +1717,33 @@ slot_attach(struct slot *s)
s->sub.resamp.data =
xmalloc(d->round * slot_nch * sizeof(adata_t));
}
if (!aparams_eq(&s->par, &d->par)) {
if (!aparams_native(&s->par)) {
enc_init(&s->sub.enc, &s->par, slot_nch);
s->sub.enc.data =
xmalloc(d->round * slot_nch * sizeof(adata_t));
}
log_puts("sub: cc = ");
log_puti(s->sub.cmap.nch);
log_puts(", dev_nch = ");
log_puti(dev_nch);
log_puts(", slot ");
log_puti(s->sub.slot_cmin);
log_puts(":");
log_puti(s->sub.slot_cmax);
log_puts(", join = ");
log_puti(s->sub.join);
log_puts(", expand = ");
log_puti(s->sub.expand);
log_puts(", dev = ");
log_puti(s->sub.dev_cmin);
log_puts(":");
log_puti(s->sub.dev_cmax);
log_puts("\n");
#ifdef DEBUG
if (log_level >= 3) {
log_puts("sub: cc = ");
log_puti(s->sub.cmap.nch);
log_puts(", dev_nch = ");
log_puti(dev_nch);
log_puts(", slot ");
log_puti(s->sub.slot_cmin);
log_puts(":");
log_puti(s->sub.slot_cmax);
log_puts(", join = ");
log_puti(s->sub.join);
log_puts(", expand = ");
log_puti(s->sub.expand);
log_puts(", dev = ");
log_puti(s->sub.dev_cmin);
log_puts(":");
log_puti(s->sub.dev_cmax);
log_puts("\n");
}
#endif
/*
* N-th recorded block is the N-th played block
*/

View File

@ -1071,23 +1071,28 @@ sock_execmsg(struct sock *f)
f->rtodo = sizeof(struct amsg);
if (log_level >= 2) {
slot_log(f->slot);
log_puts(": buffer size = ");
log_putu(s->appbufsz);
log_puts(", enc = ");
log_puts(": ");
log_putu(s->rate);
log_puts("Hz, ");
aparams_log(&s->par);
if (s->mode & MODE_PLAY) {
log_puts(", play: ");
log_puts(", play ");
log_puti(s->mix.slot_cmin);
log_puts(":");
log_puti(s->mix.slot_cmax);
}
if (s->mode & MODE_RECMASK) {
log_puts(", rec: ");
log_puts(", rec ");
log_puti(s->sub.slot_cmin);
log_puts(":");
log_puti(s->sub.slot_cmax);
}
log_puts("\n");
log_puts(", ");
log_putu(s->appbufsz / s->round);
log_puts(" blocks of ");
log_putu(s->round);
log_puts(" frames\n");
}
break;
case AMSG_STOP: