Bladeren bron

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 1 jaar geleden
bovenliggende
commit
41636959d2
1 gewijzigde bestanden met toevoegingen van 2 en 2 verwijderingen
  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_assert(!device->recording);
     SDL_PlaybackAudioThreadSetup(device);
     SDL_PlaybackAudioThreadSetup(device);
 
 
-    do {
+    while (SDL_PlaybackAudioThreadIterate(device)) {
         if (!device->WaitDevice(device)) {
         if (!device->WaitDevice(device)) {
             SDL_AudioDeviceDisconnected(device);  // doh. (but don't break out of the loop, just be a zombie for now!)
             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);
     SDL_PlaybackAudioThreadShutdown(device);
     return 0;
     return 0;