From c3556a5d4c5f89a9162e694b7710b8fe854646d8 Mon Sep 17 00:00:00 2001 From: David Reid Date: Sun, 30 Dec 2018 14:18:09 +1000 Subject: [PATCH] WinMM: Return error when exclusive mode is requested. --- mini_al.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mini_al.h b/mini_al.h index febf509e..f50d6c19 100644 --- a/mini_al.h +++ b/mini_al.h @@ -8859,7 +8859,10 @@ mal_result mal_context_enumerate_devices__winmm(mal_context* pContext, mal_enum_ mal_result mal_context_get_device_info__winmm(mal_context* pContext, mal_device_type deviceType, const mal_device_id* pDeviceID, mal_share_mode shareMode, mal_device_info* pDeviceInfo) { mal_assert(pContext != NULL); - (void)shareMode; + + if (shareMode == mal_share_mode_exclusive) { + return MAL_SHARE_MODE_NOT_SUPPORTED; + } UINT winMMDeviceID = 0; if (pDeviceID != NULL) { @@ -8913,6 +8916,11 @@ mal_result mal_device_init__winmm(mal_context* pContext, mal_device_type type, c mal_assert(pDevice != NULL); mal_zero_object(&pDevice->winmm); + /* No exlusive mode with WinMM. */ + if (pConfig->shareMode == mal_share_mode_exclusive) { + return MAL_SHARE_MODE_NOT_SUPPORTED; + } + UINT winMMDeviceID = 0; if (pDeviceID != NULL) { winMMDeviceID = (UINT)pDeviceID->winmm;