소스 검색

Use around 20ms for the audio buffer size

This value is well tested in production software. Larger values introduce audio latency and smaller values cause underflows on many setups.
Sam Lantinga 2 년 전
부모
커밋
fde8499f69
1개의 변경된 파일5개의 추가작업 그리고 7개의 파일을 삭제
  1. 5 7
      src/audio/SDL_audio.c

+ 5 - 7
src/audio/SDL_audio.c

@@ -126,17 +126,15 @@ static int GetDefaultSampleFramesFromFreq(const int freq)
         }
     }
 
-    if (freq <= 11025) {
+    if (freq <= 22050) {
         return 512;
-    } else if (freq <= 22050) {
-        return 1024;
     } else if (freq <= 48000) {
-        return 2048;
+        return 1024;
     } else if (freq <= 96000) {
+        return 2048;
+    } else {
         return 4096;
     }
-
-    return 8192;  // shrug
 }
 
 
@@ -659,7 +657,7 @@ void SDL_QuitAudio(void)
     SDL_AtomicSet(&current_audio.output_device_count, 0);
     SDL_AtomicSet(&current_audio.capture_device_count, 0);
     SDL_UnlockRWLock(current_audio.device_list_lock);
-    
+
     // mark all devices for shutdown so all threads can begin to terminate.
     for (SDL_AudioDevice *i = devices; i != NULL; i = i->next) {
         SDL_AtomicSet(&i->shutdown, 1);