diff options
author | cg <cg@FreeBSD.org> | 2001-12-23 13:10:29 +0000 |
---|---|---|
committer | cg <cg@FreeBSD.org> | 2001-12-23 13:10:29 +0000 |
commit | 00857bfbafe09eb20e712aa948be702875f2f358 (patch) | |
tree | b1f437028404cc78e8f8aa1247d51bb6dd25f0a1 | |
parent | 841620acfcbed42c07f784aad83444604eb3fdf1 (diff) | |
download | FreeBSD-src-00857bfbafe09eb20e712aa948be702875f2f358.zip FreeBSD-src-00857bfbafe09eb20e712aa948be702875f2f358.tar.gz |
make mmapped vchans work
-rw-r--r-- | sys/dev/sound/pcm/vchan.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/sound/pcm/vchan.c b/sys/dev/sound/pcm/vchan.c index 46b3061..52b7a90 100644 --- a/sys/dev/sound/pcm/vchan.c +++ b/sys/dev/sound/pcm/vchan.c @@ -94,6 +94,8 @@ feed_vchan_s16(struct pcm_feeder *f, struct pcm_channel *c, u_int8_t *b, u_int32 SLIST_FOREACH(cce, &c->children, link) { ch = cce->channel; if (ch->flags & CHN_F_TRIGGERED) { + if (ch->flags & CHN_F_MAPPED) + sndbuf_acquire(ch->bufsoft, NULL, sndbuf_getfree(ch->bufsoft)); cnt = FEEDER_FEED(ch->feeder, ch, (u_int8_t *)tmp, count, ch->bufsoft); vchan_mix_s16(dst, tmp, cnt / 2); } |