mirror of
https://github.com/moonlight-stream/moonlight-embedded.git
synced 2025-07-01 23:35:47 +00:00
Tune ALSA parameters to avoid underruns
Fixes frequent underruns on Vero 4K
This commit is contained in:
parent
cb4b5d55b5
commit
30b563a2fc
@ -57,8 +57,8 @@ static int alsa_renderer_init(int audioConfiguration, POPUS_MULTISTREAM_CONFIGUR
|
||||
|
||||
snd_pcm_hw_params_t *hw_params;
|
||||
snd_pcm_sw_params_t *sw_params;
|
||||
snd_pcm_uframes_t period_size = samplesPerFrame * FRAME_BUFFER;
|
||||
snd_pcm_uframes_t buffer_size = 2 * period_size;
|
||||
snd_pcm_uframes_t period_size = (opusConfig->sampleRate * 20) / 1000; // 20 ms period
|
||||
snd_pcm_uframes_t buffer_size = 3 * period_size; // 60 ms buffer
|
||||
unsigned int sampleRate = opusConfig->sampleRate;
|
||||
|
||||
char* audio_device = (char*) context;
|
||||
@ -84,7 +84,7 @@ static int alsa_renderer_init(int audioConfiguration, POPUS_MULTISTREAM_CONFIGUR
|
||||
CHECK_RETURN(snd_pcm_sw_params_malloc(&sw_params));
|
||||
CHECK_RETURN(snd_pcm_sw_params_current(handle, sw_params));
|
||||
CHECK_RETURN(snd_pcm_sw_params_set_avail_min(handle, sw_params, period_size));
|
||||
CHECK_RETURN(snd_pcm_sw_params_set_start_threshold(handle, sw_params, 1));
|
||||
CHECK_RETURN(snd_pcm_sw_params_set_start_threshold(handle, sw_params, period_size));
|
||||
CHECK_RETURN(snd_pcm_sw_params(handle, sw_params));
|
||||
snd_pcm_sw_params_free(sw_params);
|
||||
|
||||
|
@ -21,8 +21,6 @@
|
||||
|
||||
#include <Limelight.h>
|
||||
|
||||
#define FRAME_BUFFER 12
|
||||
|
||||
#ifdef HAVE_ALSA
|
||||
extern AUDIO_RENDERER_CALLBACKS audio_callbacks_alsa;
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user