alsa-xmms-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Alsa-xmms-user] snd_pcm_writei sometimes returns -EPIPE


From: Daiki Ueno
Subject: [Alsa-xmms-user] snd_pcm_writei sometimes returns -EPIPE
Date: Sat, 01 Dec 2001 16:03:04 +0900

Hello,

While I'm using alsaout-0.9beta8 I see that XMMS sometimes stops playing
unexpectedly.  It seems that when snd_pcm_writei returns -EPIPE (an
underrun occured, the API reference says), audio_write (in audio.c)
doesn't recover from the error.  Here is the patch to reset the PCM
handle to be usable again.

--- audio.c~    Wed Oct 17 06:01:06 2001
+++ audio.c     Sat Dec  1 15:17:32 2001
@@ -259,10 +259,12 @@
          length -= written;
          data += written;
        }
-      else if (written_frames == -EAGAIN || (written_frames > 0 && 
written_frames < (length / alsa_frame_size)))
+      else if (written_frames == -EAGAIN)
        {
          snd_pcm_wait(alsa_pcm, 1000);
        }  
+      else if (written_frames == -EPIPE)
+       snd_pcm_prepare(alsa_pcm);
     }
 }

Regards,
-- 
Daiki Ueno



reply via email to

[Prev in Thread] Current Thread [Next in Thread]