pulseaudio: Only use PA_STREAM_ADJUST_LATENCY if buffer isn't super small.

Fixes #6121.
This commit is contained in:
Ryan C. Gordon 2022-11-15 22:18:51 -05:00
parent 06492c5981
commit d8b1ef42ae
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
1 changed files with 7 additions and 1 deletions

View File

@ -630,7 +630,13 @@ PULSEAUDIO_OpenDevice(_THIS, const char *devname)
paattr.prebuf = -1;
paattr.maxlength = -1;
paattr.minreq = -1;
flags |= PA_STREAM_ADJUST_LATENCY;
/* don't let this change the global device's latency if the number is
extremely small, as it will affect other applications. Without this
flag, it only affects this specific stream. */
if (this->spec.samples >= 512) {
flags |= PA_STREAM_ADJUST_LATENCY;
}
if (ConnectToPulseServer(&h->mainloop, &h->context) < 0) {
return SDL_SetError("Could not connect to PulseAudio server");