aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/pulseaudio.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2012-08-12 03:52:38 -0700
committerChris Robinson <[email protected]>2012-08-12 03:52:38 -0700
commitf42f655ea91b50ed60916880271e320d398debe3 (patch)
treecf5d6ee5eb22cb5a77673c1aa33fa246d16614c1 /Alc/backends/pulseaudio.c
parent8304fc1bef0c23ebafe5ca1dbd9a54fc711584ca (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/pulseaudio.c')
-rw-r--r--Alc/backends/pulseaudio.c2
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;
}