diff options
author | Alexandre Ratchov <ratchov@cvs.openbsd.org> | 2015-05-16 19:27:54 +0000 |
---|---|---|
committer | Alexandre Ratchov <ratchov@cvs.openbsd.org> | 2015-05-16 19:27:54 +0000 |
commit | 9c1ab0ef3b8f8fbf48d2d93ee2f651c530f460f9 (patch) | |
tree | 33cda92ddbb9c984587fe5c536bff383607b3b94 /usr.bin/aucat/aucat.c | |
parent | 9699ac95deabbaea7414e28440871b611ef9e475 (diff) |
Call slot_stop() after the play buffer is drained to properly cleanup
the slot. Fixes periodic glitches occurring after eof is reached, and
then playback restarted with a MMC-relocate and MMC-start.
Diffstat (limited to 'usr.bin/aucat/aucat.c')
-rw-r--r-- | usr.bin/aucat/aucat.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.bin/aucat/aucat.c b/usr.bin/aucat/aucat.c index e62ac2fd407..ab52872949b 100644 --- a/usr.bin/aucat/aucat.c +++ b/usr.bin/aucat/aucat.c @@ -917,13 +917,13 @@ slot_list_mix(unsigned int round, unsigned int pchan, adata_t *pbuf) if (s->pstate == SLOT_INIT || !(s->mode & SIO_PLAY)) continue; if (s->pstate == SLOT_STOP && s->buf.used < s->bpf) { - s->pstate = SLOT_INIT; #ifdef DEBUG if (log_level >= 3) { slot_log(s); log_puts(": drained, done\n"); } #endif + slot_stop(s); continue; } n = slot_mix_badd(s, dev_pbuf); |