diff --git a/core/oslib/audiobackend_alsa.cpp b/core/oslib/audiobackend_alsa.cpp index e25c560ce..0f2a5599c 100644 --- a/core/oslib/audiobackend_alsa.cpp +++ b/core/oslib/audiobackend_alsa.cpp @@ -122,7 +122,7 @@ static u32 alsa_push(void* frame, u32 samples, bool wait) fprintf(stderr, "ALSA: underrun occurred\n"); snd_pcm_prepare(handle); // Write some silence then our samples - const size_t silence_size = period_size; + const size_t silence_size = period_size * 4; void *silence = alloca(silence_size * 4); memset(silence, 0, silence_size * 4); rc = snd_pcm_writei(handle, silence, silence_size);