chiark / gitweb /
speaker beforepoll() now gets to modify the timeout. This allows
[disorder] / server / speaker.c
index 75e9cd769b2b2e1c94c97bfbff5465fe66370a6e..19f88b27a6d40f37f14abd98299ce407e10e89fc 100644 (file)
@@ -372,13 +372,16 @@ int addfd(int fd, int events) {
 
 /** @brief Table of speaker backends */
 static const struct speaker_backend *backends[] = {
-#if API_ALSA
+#if HAVE_ALSA_ASOUNDLIB_H
   &alsa_backend,
 #endif
   &command_backend,
   &network_backend,
 #if HAVE_COREAUDIO_AUDIOHARDWARE_H
   &coreaudio_backend,
+#endif
+#if HAVE_SYS_SOUNDCARD_H
+  &oss_backend,
 #endif
   0
 };
@@ -429,7 +432,7 @@ static void mainloop(void) {
        * instead, but the post-poll code will cope even if it's
        * device_closed. */
       if(device_state == device_open)
-        backend->beforepoll();
+        backend->beforepoll(&timeout);
     }
     /* If any other tracks don't have a full buffer, try to read sample data
      * from them.  We do this last of all, so that if we run out of slots,