From d53a746f18ca07fd80cadd0b11104f8367f543f9 Mon Sep 17 00:00:00 2001 From: mjbudd77 Date: Sat, 7 Aug 2021 12:49:55 -0400 Subject: [PATCH] Minor tweaks to new Qt sound setup. --- src/drivers/Qt/sdl-sound.cpp | 17 +++++++++++++++-- src/drivers/Qt/sdl-throttle.cpp | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/drivers/Qt/sdl-sound.cpp b/src/drivers/Qt/sdl-sound.cpp index 8b8e5951..4e9900d3 100644 --- a/src/drivers/Qt/sdl-sound.cpp +++ b/src/drivers/Qt/sdl-sound.cpp @@ -36,6 +36,9 @@ extern Config *g_config; static volatile int *s_Buffer = 0; static unsigned int s_BufferSize; +static unsigned int s_BufferSize25; +static unsigned int s_BufferSize50; +static unsigned int s_BufferSize75; static unsigned int s_BufferRead; static unsigned int s_BufferWrite; static volatile unsigned int s_BufferIn; @@ -194,6 +197,12 @@ InitSound() { s_BufferSize = spec.samples * 2; } + s_BufferSize25 = s_BufferSize/4; + s_BufferSize50 = s_BufferSize/2; + s_BufferSize75 = (3*s_BufferSize)/4; + + //printf("Audio Buffer: %i %i \n", spec.samples, s_BufferSize ); + noiseGate = 0.0; noiseGateRate = 1.0 / (double)spec.samples; noiseGateActive = true; @@ -277,7 +286,7 @@ WriteSound(int32 *buf, { ovrFlowSkip = 1; } - if ( s_BufferIn >= (s_BufferSize/2) ) + if ( s_BufferIn >= s_BufferSize50 ) { ovrFlowSkip++; } @@ -290,10 +299,14 @@ WriteSound(int32 *buf, { udrFlowDup = 1; } - if ( s_BufferIn <= (s_BufferSize/2) ) + if ( s_BufferIn < s_BufferSize50 ) { udrFlowDup++; } + else if ( s_BufferIn > s_BufferSize75 ) + { + udrFlowDup--; + } uflowMode = (udrFlowDup > 1); } extern int EmulationPaused; diff --git a/src/drivers/Qt/sdl-throttle.cpp b/src/drivers/Qt/sdl-throttle.cpp index 56602e26..8e2417bf 100644 --- a/src/drivers/Qt/sdl-throttle.cpp +++ b/src/drivers/Qt/sdl-throttle.cpp @@ -253,7 +253,7 @@ RefreshThrottleFPS(void) frmRateAdjRatio = (1.0 / ( hz * g_fpsScale )) / desired_frametime; - printf("frameAdjRatio:%f \n", frmRateAdjRatio ); + //printf("frameAdjRatio:%f \n", frmRateAdjRatio ); } else {