chiark / gitweb /
Remove some obsolete code
[disorder] / lib / alsabg.c
index 61648f4af0a2d4ac2602a0f078af87b474d16dd4..be589ce9e3be659d1660d1a2a6e885061a418b53 100644 (file)
@@ -179,12 +179,14 @@ static void *alsa_bg_play(void attribute((unused)) *arg) {
     rframes = snd_pcm_writei(pcm, alsa_bg_buffer + start, nframes);
     ep(pthread_mutex_lock(&alsa_bg_lock));
     if(rframes < 0) {
-      error(0, "snd_pcm_writei: %d", rframes);
       switch(rframes) {
       case -EPIPE:
-        if((err = snd_pcm_recover(pcm, -EPIPE, 0)))
-          fatal(0, "snd_pcm_recover: %d", err);
+        error(0, "underrun detected");
+        if((err = snd_pcm_prepare(pcm)))
+          fatal(0, "snd_pcm_prepare: %d", err);
         break;
+      default:
+        fatal(0, "snd_pcm_writei: %d", rframes);
       }
     } else {
       const int rbytes = rframes * BYTES_PER_FRAME;