Update of /cvsroot/alsa/alsa-lib/src/pcm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22232
Modified Files:
pcm.c
Log Message:
Added mmap_avail() check to snd_pcm_wait() function
Index: pcm.c
===================================================================
RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm.c,v
retrieving revision 1.278
retrieving revision 1.279
diff -u -r1.278 -r1.279
--- pcm.c 17 Mar 2004 11:48:14 -0000 1.278
+++ pcm.c 23 Mar 2004 13:29:52 -0000 1.279
@@ -2066,6 +2066,20 @@
struct pollfd pfd;
unsigned short revents;
int err, err_poll;
+
+ if (snd_pcm_mmap_avail(pcm) >= pcm->avail_min) {
+ /* check more precisely */
+ switch (snd_pcm_state(pcm)) {
+ case SND_PCM_STATE_XRUN:
+ return -EPIPE;
+ case SND_PCM_STATE_SUSPENDED:
+ return -ESTRPIPE;
+ case SND_PCM_STATE_DISCONNECTED:
+ return -ENOTTY; /* linux VFS does this? */
+ default:
+ return 1;
+ }
+ }
err = snd_pcm_poll_descriptors(pcm, &pfd, 1);
assert(err == 1);
err_poll = poll(&pfd, 1, timeout);
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog