Commit dbd236da authored by David Reid's avatar David Reid

Don't be so agressive with RPI buffer scaling.

parent 78e4de8b
......@@ -8786,8 +8786,8 @@ static struct
const char* name;
float scale;
} g_malDefaultBufferSizeScalesALSA[] = {
{"bcm2835 IEC958/HDMI", 8.0f},
{"bcm2835 ALSA", 8.0f}
{"bcm2835 IEC958/HDMI", 6.0f},
{"bcm2835 ALSA", 6.0f}
};
float mal_find_default_buffer_size_scale__alsa(const char* deviceName)
......@@ -9979,6 +9979,8 @@ mal_result mal_device_init__alsa(mal_context* pContext, mal_device_type type, co
}
// Hardware parameters.
mal_snd_pcm_hw_params_t* pHWParams = (mal_snd_pcm_hw_params_t*)alloca(((mal_snd_pcm_hw_params_sizeof_proc)pContext->alsa.snd_pcm_hw_params_sizeof)());
mal_zero_memory(pHWParams, ((mal_snd_pcm_hw_params_sizeof_proc)pContext->alsa.snd_pcm_hw_params_sizeof)());
......@@ -24331,7 +24333,7 @@ mal_uint32 mal_calculate_default_buffer_size_in_frames(mal_performance_profile p
mal_uint32 sampleRateMS = (sampleRate/1000);
mal_uint32 minBufferSize = sampleRateMS * mal_min(baseLatency / 5, 1); // <-- Guard against multiply by zero.
mal_uint32 maxBufferSize = sampleRateMS * (baseLatency * 20);
mal_uint32 maxBufferSize = sampleRateMS * (baseLatency * 40);
mal_uint32 bufferSize = mal_scale_buffer_size((sampleRate/1000) * baseLatency, scale);
return mal_clamp(bufferSize, minBufferSize, maxBufferSize);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment