Update of /cvsroot/alsa/alsa-lib/src/pcm
In directory usw-pr-cvs1:/tmp/cvs-serv4901

Modified Files:
        pcm_local.h 
Log Message:
Fixed mmap_xxxx_delay() to follow kernel code

Index: pcm_local.h
===================================================================
RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_local.h,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -r1.113 -r1.114
--- pcm_local.h 17 Sep 2002 12:33:06 -0000      1.113
+++ pcm_local.h 9 Oct 2002 06:44:45 -0000       1.114
@@ -321,8 +321,34 @@
        return *pcm->hw.ptr % pcm->buffer_size;
 }
 
-#define snd_pcm_mmap_playback_delay snd_pcm_mmap_playback_hw_avail
-#define snd_pcm_mmap_capture_delay snd_pcm_mmap_capture_avail
+static inline snd_pcm_uframes_t snd_pcm_mmap_playback_delay(snd_pcm_t *pcm)
+{
+       snd_pcm_state_t state = snd_pcm_state(pcm);
+       
+       switch (state) {
+       case SND_PCM_STATE_RUNNING:
+       case SND_PCM_STATE_DRAINING:
+               return snd_pcm_mmap_playback_hw_avail(pcm);
+       case SND_PCM_STATE_XRUN:
+               return -EPIPE;
+       default:
+               return -EBADFD;
+       }
+}
+
+static inline snd_pcm_uframes_t snd_pcm_mmap_capture_delay(snd_pcm_t *pcm)
+{
+       snd_pcm_state_t state = snd_pcm_state(pcm);
+       
+       switch (state) {
+       case SND_PCM_STATE_RUNNING:
+               return snd_pcm_mmap_capture_hw_avail(pcm);
+       case SND_PCM_STATE_XRUN:
+               return -EPIPE;
+       default:
+               return -EBADFD;
+       }
+}
 
 static inline snd_pcm_sframes_t snd_pcm_mmap_delay(snd_pcm_t *pcm)
 {



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to