Kaynağa Gözat

Merge commit 'e7e519a466167b7a3ef9aa9b28535e436139936a' into main

Sam Lantinga 4 yıl önce
ebeveyn
işleme
e944e404c0
1 değiştirilmiş dosya ile 15 ekleme ve 0 silme
  1. 15 0
      src/audio/dsp/SDL_dspaudio.c

+ 15 - 0
src/audio/dsp/SDL_dspaudio.c

@@ -292,9 +292,24 @@ DSP_FlushCapture(_THIS)
     }
 }
 
+static SDL_bool InitTimeDevicesExist = SDL_FALSE;
+static int
+look_for_devices_test(int fd)
+{
+    InitTimeDevicesExist = SDL_TRUE;  /* note that _something_ exists. */
+    /* Don't add to the device list, we're just seeing if any devices exist. */
+    return 0;
+}
+
 static int
 DSP_Init(SDL_AudioDriverImpl * impl)
 {
+    InitTimeDevicesExist = SDL_FALSE;
+    SDL_EnumUnixAudioDevices(0, look_for_devices_test);
+    if (!InitTimeDevicesExist) {
+        return 0;  /* maybe try a different backend. */
+    }
+
     /* Set the function pointers */
     impl->DetectDevices = DSP_DetectDevices;
     impl->OpenDevice = DSP_OpenDevice;