[Top][All Lists]
[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
- [Alsa-xmms-user] snd_pcm_writei sometimes returns -EPIPE,
Daiki Ueno <=