Browse Source

audio: Feed output devices immediately, instead of waiting upfront.

This prevents the waste of an initial buffer of audio on many backends, and is
hopefully harmless on all of them.

Reference PR #12632.
Ryan C. Gordon 5 months ago
parent
commit
41636959d2
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/audio/SDL_audio.c

+ 2 - 2
src/audio/SDL_audio.c

@@ -1256,11 +1256,11 @@ static int SDLCALL PlaybackAudioThread(void *devicep)  // thread entry point
     SDL_assert(!device->recording);
     SDL_PlaybackAudioThreadSetup(device);
 
-    do {
+    while (SDL_PlaybackAudioThreadIterate(device)) {
         if (!device->WaitDevice(device)) {
             SDL_AudioDeviceDisconnected(device);  // doh. (but don't break out of the loop, just be a zombie for now!)
         }
-    } while (SDL_PlaybackAudioThreadIterate(device));
+    }
 
     SDL_PlaybackAudioThreadShutdown(device);
     return 0;