Page MenuHomeFreeBSD

D57833.id180570.diff
No OneTemporary

D57833.id180570.diff

diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h
--- a/sys/dev/sound/pcm/channel.h
+++ b/sys/dev/sound/pcm/channel.h
@@ -261,6 +261,7 @@
int chn_sync(struct pcm_channel *c, int threshold);
int chn_flush(struct pcm_channel *c);
int chn_polltrigger(struct pcm_channel *c);
+void chn_pollreset(struct pcm_channel *c);
int chn_poll(struct pcm_channel *c, int ev, struct thread *td);
char *chn_mkname(char *buf, size_t len, struct pcm_channel *c);
diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c
--- a/sys/dev/sound/pcm/channel.c
+++ b/sys/dev/sound/pcm/channel.c
@@ -296,7 +296,7 @@
return ((delta < c->lw) ? 0 : 1);
}
-static void
+void
chn_pollreset(struct pcm_channel *c)
{
diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c
--- a/sys/dev/sound/pcm/dsp.c
+++ b/sys/dev/sound/pcm/dsp.c
@@ -3025,6 +3025,8 @@
kn->kn_kevent.ext[0] = sndbuf_getready(ch->bufsoft) / ch->bufsoft->align;
}
kn->kn_kevent.ext[1] = ch->xruns;
+ if (kn->kn_status & KN_SCAN)
+ chn_pollreset(ch);
}
return (kn->kn_data > 0);

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 11, 6:27 PM (20 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38723715
Default Alt Text
D57833.id180570.diff (1 KB)

Event Timeline