From 0638fd58ce31724ee82d08618d0e255fce07efdc Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sun, 1 Jun 2025 02:46:55 -0400 Subject: [PATCH] pulseaudio: Request more recording data per-fragment. This seems to help some devices that can't keep up with smaller fragment sizes for whatever reason. Fixes #13110. (cherry picked from commit 14a4ae521acb784705e637854c368cceac80039a) --- src/audio/pulseaudio/SDL_pulseaudio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/audio/pulseaudio/SDL_pulseaudio.c b/src/audio/pulseaudio/SDL_pulseaudio.c index 69e8c1a84c..4d618a6e2b 100644 --- a/src/audio/pulseaudio/SDL_pulseaudio.c +++ b/src/audio/pulseaudio/SDL_pulseaudio.c @@ -672,7 +672,8 @@ static bool PULSEAUDIO_OpenDevice(SDL_AudioDevice *device) paspec.rate = device->spec.freq; // Reduced prebuffering compared to the defaults. - paattr.fragsize = device->buffer_size; // despite the name, this is only used for recording devices, according to PulseAudio docs! + + paattr.fragsize = device->buffer_size * 2; // despite the name, this is only used for recording devices, according to PulseAudio docs! (times 2 because we want _more_ than our buffer size sent from the server at a time, which helps some drivers). paattr.tlength = device->buffer_size; paattr.prebuf = -1; paattr.maxlength = -1;