mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-23 08:44:04 +02:00
Don't be so agressive with RPI buffer scaling.
This commit is contained in:
@@ -8786,8 +8786,8 @@ static struct
|
|||||||
const char* name;
|
const char* name;
|
||||||
float scale;
|
float scale;
|
||||||
} g_malDefaultBufferSizeScalesALSA[] = {
|
} g_malDefaultBufferSizeScalesALSA[] = {
|
||||||
{"bcm2835 IEC958/HDMI", 8.0f},
|
{"bcm2835 IEC958/HDMI", 6.0f},
|
||||||
{"bcm2835 ALSA", 8.0f}
|
{"bcm2835 ALSA", 6.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
float mal_find_default_buffer_size_scale__alsa(const char* deviceName)
|
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.
|
// 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_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)());
|
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 sampleRateMS = (sampleRate/1000);
|
||||||
|
|
||||||
mal_uint32 minBufferSize = sampleRateMS * mal_min(baseLatency / 5, 1); // <-- Guard against multiply by zero.
|
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);
|
mal_uint32 bufferSize = mal_scale_buffer_size((sampleRate/1000) * baseLatency, scale);
|
||||||
return mal_clamp(bufferSize, minBufferSize, maxBufferSize);
|
return mal_clamp(bufferSize, minBufferSize, maxBufferSize);
|
||||||
|
|||||||
Reference in New Issue
Block a user