Use mix rate and output latency constants in audio drivers

Fix default mix rate in Xaudio2 and potential shadowing issue in JAndroid.
This commit is contained in:
Rémi Verschelde 2019-03-07 10:29:37 +01:00
parent 506ff1f065
commit d450220bae
3 changed files with 5 additions and 5 deletions

View File

@ -45,12 +45,12 @@ Error AudioDriverXAudio2::init() {
pcm_open = false; pcm_open = false;
samples_in = NULL; samples_in = NULL;
mix_rate = 48000; mix_rate = GLOBAL_DEF_RST("audio/mix_rate", DEFAULT_MIX_RATE);
// FIXME: speaker_mode seems unused in the Xaudio2 driver so far // FIXME: speaker_mode seems unused in the Xaudio2 driver so far
speaker_mode = SPEAKER_MODE_STEREO; speaker_mode = SPEAKER_MODE_STEREO;
channels = 2; channels = 2;
int latency = GLOBAL_DEF_RST("audio/output_latency", 25); int latency = GLOBAL_DEF_RST("audio/output_latency", DEFAULT_OUTPUT_LATENCY);
buffer_size = closest_power_of_2(latency * mix_rate / 1000); buffer_size = closest_power_of_2(latency * mix_rate / 1000);
samples_in = memnew_arr(int32_t, buffer_size * channels); samples_in = memnew_arr(int32_t, buffer_size * channels);

View File

@ -326,7 +326,7 @@ Error AudioDriverOpenSL::capture_stop() {
int AudioDriverOpenSL::get_mix_rate() const { int AudioDriverOpenSL::get_mix_rate() const {
return 44100; return 44100; // hardcoded for Android, as selected by SL_SAMPLINGRATE_44_1
} }
AudioDriver::SpeakerMode AudioDriverOpenSL::get_speaker_mode() const { AudioDriver::SpeakerMode AudioDriverOpenSL::get_speaker_mode() const {

View File

@ -39,11 +39,11 @@ int32_t *AudioDriverMediaKit::samples_in = NULL;
Error AudioDriverMediaKit::init() { Error AudioDriverMediaKit::init() {
active = false; active = false;
mix_rate = 44100; mix_rate = GLOBAL_DEF_RST("audio/mix_rate", DEFAULT_MIX_RATE);
speaker_mode = SPEAKER_MODE_STEREO; speaker_mode = SPEAKER_MODE_STEREO;
channels = 2; channels = 2;
int latency = GLOBAL_DEF_RST("audio/output_latency", 25); int latency = GLOBAL_DEF_RST("audio/output_latency", DEFAULT_OUTPUT_LATENCY);
buffer_size = next_power_of_2(latency * mix_rate / 1000); buffer_size = next_power_of_2(latency * mix_rate / 1000);
samples_in = memnew_arr(int32_t, buffer_size * channels); samples_in = memnew_arr(int32_t, buffer_size * channels);