summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorariff <ariff@FreeBSD.org>2007-12-03 14:26:56 +0000
committerariff <ariff@FreeBSD.org>2007-12-03 14:26:56 +0000
commitb629c0784657ec75bd6bcbe2646a764db30e9cf3 (patch)
treec0a914bca72d5edcdc44c3c5945934015a36d370
parent4be0c75a36346a1cf37872bbe96d191f17fc43c9 (diff)
downloadFreeBSD-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.c4
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;
OpenPOWER on IntegriCloud