disk audio: Make default i/o delay match what device is meant to be running at.
authorRyan C. Gordon <icculus@icculus.org>
Sat, 06 Aug 2016 03:45:45 -0400
changeset 10247 886ab9de5f43
parent 10246 db0b712b79dd
child 10248 7c430819edd2
disk audio: Make default i/o delay match what device is meant to be running at.
src/audio/disk/SDL_diskaudio.c
--- a/src/audio/disk/SDL_diskaudio.c	Sat Aug 06 03:39:15 2016 -0400
+++ b/src/audio/disk/SDL_diskaudio.c	Sat Aug 06 03:45:45 2016 -0400
@@ -41,7 +41,6 @@
 #define DISKENVR_INFILE         "SDL_DISKAUDIOFILEIN"
 #define DISKDEFAULT_INFILE      "sdlaudio-in.raw"
 #define DISKENVR_IODELAY      "SDL_DISKAUDIODELAY"
-#define DISKDEFAULT_IODELAY   150
 
 /* This function waits until it is possible to write a full sound buffer */
 static void
@@ -140,7 +139,11 @@
     }
     SDL_zerop(this->hidden);
 
-    this->hidden->io_delay = (envr) ? SDL_atoi(envr) : DISKDEFAULT_IODELAY;
+    if (envr != NULL) {
+        this->hidden->io_delay = SDL_atoi(envr);
+    } else {
+        this->hidden->io_delay = ((this->spec.samples * 1000) / this->spec.freq);
+    }
 
     /* Open the audio device */
     this->hidden->io = SDL_RWFromFile(fname, iscapture ? "rb" : "wb");