make frontend-util audio module config-agnostic

This commit is contained in:
Arisotura 2020-05-24 23:47:11 +02:00
parent 16252a85e7
commit bc4a83abca
3 changed files with 4 additions and 9 deletions

View File

@ -124,9 +124,9 @@ void Init_Audio(int outputfreq);
int AudioOut_GetNumSamples(int outlen);
// resample audio from the core audio output to match the frontend's
// output frequency, and apply user-specified volume
// output frequency, and apply specified volume
// note: this assumes the output buffer is interleaved stereo
void AudioOut_Resample(s16* inbuf, int inlen, s16* outbuf, int outlen);
void AudioOut_Resample(s16* inbuf, int inlen, s16* outbuf, int outlen, int volume);
// feed silence to the microphone input
void Mic_FeedSilence();

View File

@ -22,9 +22,6 @@
#include <math.h>
#include "FrontendUtil.h"
#include "Config.h"
#include "qt_sdl/PlatformConfig.h" // FIXME!!!
#include "Platform.h"
#include "NDS.h"
@ -63,14 +60,12 @@ int AudioOut_GetNumSamples(int outlen)
return len_in;
}
void AudioOut_Resample(s16* inbuf, int inlen, s16* outbuf, int outlen)
void AudioOut_Resample(s16* inbuf, int inlen, s16* outbuf, int outlen, int volume)
{
float res_incr = inlen / (float)outlen;
float res_timer = 0;
int res_pos = 0;
int volume = Config::AudioVolume;
for (int i = 0; i < outlen; i++)
{
outbuf[i*2 ] = (inbuf[res_pos*2 ] * volume) >> 8;

View File

@ -110,7 +110,7 @@ void audioCallback(void* data, Uint8* stream, int len)
num_in = len_in-margin;
}
Frontend::AudioOut_Resample(buf_in, num_in, (s16*)stream, len);
Frontend::AudioOut_Resample(buf_in, num_in, (s16*)stream, len, Config::AudioVolume);
}