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 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, * Generate a string corresponding to the encoding in par,
* return the length of the resulting string. * 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 int
aparams_eq(struct aparams *par1, struct aparams *par2) aparams_native(struct aparams *par)
{ {
if (par1->bps != par2->bps || return par->bps == sizeof(adata_t) && par->bits == ADATA_BITS &&
par1->bits != par2->bits || (par->bps > 1 || par->le == ADATA_LE) &&
par1->sig != par2->sig) (par->bits < par->bps * 8 || !par->msb);
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;
} }

View File

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

View File

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