mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-22 00:06:59 +02:00
WASAPI: Fix an error where a buffer can possible be unreleased.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
v0.11.6 - TBD
|
v0.11.6 - TBD
|
||||||
====================
|
====================
|
||||||
|
* WASAPI: Fix a bug where the device is not stopped when an error occurrs when writing to a playback device.
|
||||||
* The node graph can now be used as a node. This allows node graphs to be connected to other node graphs.
|
* The node graph can now be used as a node. This allows node graphs to be connected to other node graphs.
|
||||||
* Fix a crash with high-pass and band-pass filters.
|
* Fix a crash with high-pass and band-pass filters.
|
||||||
* Fix an audio glitch when mixing engine nodes (ma_sound and ma_sound_group).
|
* Fix an audio glitch when mixing engine nodes (ma_sound and ma_sound_group).
|
||||||
|
|||||||
+14
@@ -20842,9 +20842,23 @@ static ma_result ma_device_uninit__wasapi(ma_device* pDevice)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (pDevice->wasapi.pRenderClient) {
|
if (pDevice->wasapi.pRenderClient) {
|
||||||
|
if (pDevice->wasapi.pMappedBufferPlayback != NULL) {
|
||||||
|
ma_IAudioRenderClient_ReleaseBuffer((ma_IAudioRenderClient*)pDevice->wasapi.pRenderClient, pDevice->wasapi.mappedBufferPlaybackCap, 0);
|
||||||
|
pDevice->wasapi.pMappedBufferPlayback = NULL;
|
||||||
|
pDevice->wasapi.mappedBufferPlaybackCap = 0;
|
||||||
|
pDevice->wasapi.mappedBufferPlaybackLen = 0;
|
||||||
|
}
|
||||||
|
|
||||||
ma_IAudioRenderClient_Release((ma_IAudioRenderClient*)pDevice->wasapi.pRenderClient);
|
ma_IAudioRenderClient_Release((ma_IAudioRenderClient*)pDevice->wasapi.pRenderClient);
|
||||||
}
|
}
|
||||||
if (pDevice->wasapi.pCaptureClient) {
|
if (pDevice->wasapi.pCaptureClient) {
|
||||||
|
if (pDevice->wasapi.pMappedBufferCapture != NULL) {
|
||||||
|
ma_IAudioCaptureClient_ReleaseBuffer((ma_IAudioCaptureClient*)pDevice->wasapi.pCaptureClient, pDevice->wasapi.mappedBufferCaptureCap);
|
||||||
|
pDevice->wasapi.pMappedBufferCapture = NULL;
|
||||||
|
pDevice->wasapi.mappedBufferCaptureCap = 0;
|
||||||
|
pDevice->wasapi.mappedBufferCaptureLen = 0;
|
||||||
|
}
|
||||||
|
|
||||||
ma_IAudioCaptureClient_Release((ma_IAudioCaptureClient*)pDevice->wasapi.pCaptureClient);
|
ma_IAudioCaptureClient_Release((ma_IAudioCaptureClient*)pDevice->wasapi.pCaptureClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user