From 80f1ec0d7e2393c34695b92c0557f8faf01703d1 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Tue, 9 Mar 2010 10:14:52 -0800 Subject: [PATCH] Protect some capture calls with a mutex --- Alc/ALc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Alc/ALc.c b/Alc/ALc.c index 7332fd9e..78d25a28 100644 --- a/Alc/ALc.c +++ b/Alc/ALc.c @@ -763,7 +763,11 @@ ALCAPI ALCboolean ALCAPIENTRY alcCaptureCloseDevice(ALCdevice *pDevice) ALCAPI void ALCAPIENTRY alcCaptureStart(ALCdevice *pDevice) { if(IsDevice(pDevice) && pDevice->IsCaptureDevice) + { + SuspendContext(NULL); ALCdevice_StartCapture(pDevice); + ProcessContext(NULL); + } else alcSetError(pDevice, ALC_INVALID_DEVICE); } @@ -771,7 +775,11 @@ ALCAPI void ALCAPIENTRY alcCaptureStart(ALCdevice *pDevice) ALCAPI void ALCAPIENTRY alcCaptureStop(ALCdevice *pDevice) { if(IsDevice(pDevice) && pDevice->IsCaptureDevice) + { + SuspendContext(NULL); ALCdevice_StopCapture(pDevice); + ProcessContext(NULL); + } else alcSetError(pDevice, ALC_INVALID_DEVICE); } @@ -779,7 +787,11 @@ ALCAPI void ALCAPIENTRY alcCaptureStop(ALCdevice *pDevice) ALCAPI void ALCAPIENTRY alcCaptureSamples(ALCdevice *pDevice, ALCvoid *pBuffer, ALCsizei lSamples) { if(IsDevice(pDevice) && pDevice->IsCaptureDevice) + { + SuspendContext(NULL); ALCdevice_CaptureSamples(pDevice, pBuffer, lSamples); + ProcessContext(NULL); + } else alcSetError(pDevice, ALC_INVALID_DEVICE); } -- 2.11.4.GIT