diff options
author | Chris Robinson <[email protected]> | 2012-08-12 03:52:38 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2012-08-12 03:52:38 -0700 |
commit | f42f655ea91b50ed60916880271e320d398debe3 (patch) | |
tree | cf5d6ee5eb22cb5a77673c1aa33fa246d16614c1 /Alc/backends | |
parent | 8304fc1bef0c23ebafe5ca1dbd9a54fc711584ca (diff) |
Don't unlock the pulseaudio mainloop when mixing
Lock contention could cause a lengthy delay between mixing and writing the
audio. There shouldn't be any risk of dead-locking as the device lock should
never be held when the mainloop gets locked.
Diffstat (limited to 'Alc/backends')
-rw-r--r-- | Alc/backends/pulseaudio.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/Alc/backends/pulseaudio.c b/Alc/backends/pulseaudio.c index 21954699..2621e334 100644 --- a/Alc/backends/pulseaudio.c +++ b/Alc/backends/pulseaudio.c @@ -837,11 +837,9 @@ static ALuint PulseProc(ALvoid *param) buf = pa_xmalloc(newlen); free_func = pa_xfree; } - pa_threaded_mainloop_unlock(data->loop); aluMixData(Device, buf, newlen/frame_size); - pa_threaded_mainloop_lock(data->loop); pa_stream_write(data->stream, buf, newlen, free_func, 0, PA_SEEK_RELATIVE); len -= newlen; } |