diff --git a/aucat/aucat.c b/aucat/aucat.c index 87fc27a..caab35b 100644 --- a/aucat/aucat.c +++ b/aucat/aucat.c @@ -346,6 +346,10 @@ slot_init(struct slot *s) enc_init(&s->conv, &s->afile.par, slot_nch); s->convbuf = xmalloc(s->round * slot_nch * sizeof(adata_t)); + enc_sil_do(&s->conv, s->buf.data, bufsz); + } else { + memset(s->buf.data, 0, + bufsz * slot_nch * sizeof(adata_t)); } } s->pstate = SLOT_INIT; diff --git a/sndiod/dev.c b/sndiod/dev.c index ef85a83..4905eae 100644 --- a/sndiod/dev.c +++ b/sndiod/dev.c @@ -1710,6 +1710,10 @@ slot_attach(struct slot *s) enc_init(&s->sub.enc, &s->par, slot_nch); s->sub.encbuf = xmalloc(s->round * slot_nch * sizeof(adata_t)); + enc_sil_do(&s->sub.enc, s->sub.buf.data, s->appbufsz); + } else { + memset(s->sub.buf.data, 0, + s->appbufsz * slot_nch * sizeof(adata_t)); } /*