Commit 3fd35f6bb00d108ec2f0d292224466d31e7caf09

Ryan C. Gordon 2017-05-24T01:28:03

coreaudio: looks like we need more like a 10ms buffer minimum, not 50ms.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/src/audio/coreaudio/SDL_coreaudio.m b/src/audio/coreaudio/SDL_coreaudio.m
index 2b9d6de..3cafe3a 100644
--- a/src/audio/coreaudio/SDL_coreaudio.m
+++ b/src/audio/coreaudio/SDL_coreaudio.m
@@ -665,11 +665,11 @@ prepare_audioqueue(_THIS)
     }
 
     /* Make sure we can feed the device at least 50 milliseconds at a time. */
-    const double msecs = (this->spec.size / ((double) this->spec.freq)) * 1000.0;
-    if (msecs >= 50.0) {
+    const double msecs = (this->spec.samples / ((double) this->spec.freq)) * 1000.0;
+    if (msecs >= 10.0) {
         this->hidden->numAudioBuffers = 2;
     } else {
-        this->hidden->numAudioBuffers = (int) (SDL_ceil(50.0 / msecs) * 2);
+        this->hidden->numAudioBuffers = (int) (SDL_ceil(10.0 / msecs) * 2);
     }
 
     this->hidden->audioBuffer = SDL_calloc(1, sizeof (AudioQueueBufferRef) * this->hidden->numAudioBuffers);