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.

(cherry picked from commit 41636959d2652068f2a676464b3cf3f47316a33d)
Ryan C. Gordon 3 weeks ago
parent
commit
d6267afcb9
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;