diff options
author | Chris Robinson <[email protected]> | 2010-03-09 10:14:52 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2010-03-09 10:14:52 -0800 |
commit | 80f1ec0d7e2393c34695b92c0557f8faf01703d1 (patch) | |
tree | 725c77b57f29eececc63731da4230336a7ff0f11 /Alc/ALc.c | |
parent | 98f4f5a4f014817f8f84d4570c79da426c348516 (diff) |
Protect some capture calls with a mutex
Diffstat (limited to 'Alc/ALc.c')
-rw-r--r-- | Alc/ALc.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -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); } |