diff options
author | ariff <ariff@FreeBSD.org> | 2007-12-03 14:26:56 +0000 |
---|---|---|
committer | ariff <ariff@FreeBSD.org> | 2007-12-03 14:26:56 +0000 |
commit | b629c0784657ec75bd6bcbe2646a764db30e9cf3 (patch) | |
tree | c0a914bca72d5edcdc44c3c5945934015a36d370 | |
parent | 4be0c75a36346a1cf37872bbe96d191f17fc43c9 (diff) | |
download | FreeBSD-src-b629c0784657ec75bd6bcbe2646a764db30e9cf3.zip FreeBSD-src-b629c0784657ec75bd6bcbe2646a764db30e9cf3.tar.gz |
Fix audio playback aborted with SNDCTL_DSP_SETTRIGGER, affecting
PortAudio version 19.
PR: kern/118395
Submitted by: Henrik Gulbrandsen <henrik at gulbra dot net>
MFC after: 3 days
-rw-r--r-- | sys/dev/sound/pcm/channel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index 2ecb444..ffc0ffe 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -409,7 +409,7 @@ chn_write(struct pcm_channel *c, struct uio *buf) sndbuf_acquire(bs, NULL, t); } ret = 0; - if (CHN_STOPPED(c)) { + if (CHN_STOPPED(c) && !(c->flags & CHN_F_NOTRIGGER)) { ret = chn_start(c, 0); if (ret != 0) c->flags |= CHN_F_DEAD; @@ -520,7 +520,7 @@ chn_read(struct pcm_channel *c, struct uio *buf) CHN_LOCKASSERT(c); - if (CHN_STOPPED(c)) { + if (CHN_STOPPED(c) && !(c->flags & CHN_F_NOTRIGGER)) { ret = chn_start(c, 0); if (ret != 0) { c->flags |= CHN_F_DEAD; |