diff src/alsa/audio.c @ 885:1d8d643134db trunk

[svn] - alsa: handle errors on snd_pcm_wait (xrun, supend)
author giacomo
date Wed, 21 Mar 2007 05:18:25 -0700
parents c7daa70ffe7e
children 7e24265fe540
line wrap: on
line diff
--- a/src/alsa/audio.c	Wed Mar 21 02:32:49 2007 -0700
+++ b/src/alsa/audio.c	Wed Mar 21 05:18:25 2007 -0700
@@ -837,10 +837,15 @@
 		if (!paused && !prebuffer &&
 		    get_thread_buffer_filled() > hw_period_size_in)
 		{
-			if (snd_pcm_wait(alsa_pcm, 10) > 0)
+			int wr = snd_pcm_wait(alsa_pcm, 10);
+			if (wr > 0)
 			{
 				alsa_write_out_thread_data();
 			}
+			else if (wr < 0)
+			{
+				alsa_handle_error(wr);
+			}
 		}
 		else
 			xmms_usleep(10000);