Module: wine Branch: master Commit: 1874a17032db8f297e0bcc4662d237c1e61900a5 URL: https://gitlab.winehq.org/wine/wine/-/commit/1874a17032db8f297e0bcc4662d237c...
Author: Davide Beatrici git@davidebeatrici.dev Date: Wed Jun 7 10:39:51 2023 +0200
winecoreaudio: Use mmdevapi's AudioClient's Start.
---
dlls/winecoreaudio.drv/mmdevdrv.c | 40 ++------------------------------------- 1 file changed, 2 insertions(+), 38 deletions(-)
diff --git a/dlls/winecoreaudio.drv/mmdevdrv.c b/dlls/winecoreaudio.drv/mmdevdrv.c index 4de22fa1ec6..793899148d4 100644 --- a/dlls/winecoreaudio.drv/mmdevdrv.c +++ b/dlls/winecoreaudio.drv/mmdevdrv.c @@ -777,43 +777,7 @@ static HRESULT WINAPI AudioClient_GetDevicePeriod(IAudioClient3 *iface, return params.result; }
-static DWORD WINAPI ca_timer_thread(void *user) -{ - struct timer_loop_params params; - ACImpl *This = user; - params.stream = This->stream; - SetThreadDescription(GetCurrentThread(), L"winecoreaudio_timer_loop"); - UNIX_CALL(timer_loop, ¶ms); - return 0; -} - -static HRESULT WINAPI AudioClient_Start(IAudioClient3 *iface) -{ - ACImpl *This = impl_from_IAudioClient3(iface); - struct start_params params; - - TRACE("(%p)\n", This); - - sessions_lock(); - - if(!This->stream) { - sessions_unlock(); - return AUDCLNT_E_NOT_INITIALIZED; - } - - params.stream = This->stream; - - UNIX_CALL(start, ¶ms); - - if(SUCCEEDED(params.result) && !This->timer_thread) { - This->timer_thread = CreateThread(NULL, 0, ca_timer_thread, This, 0, NULL); - SetThreadPriority(This->timer_thread, THREAD_PRIORITY_TIME_CRITICAL); - } - - sessions_unlock(); - - return params.result; -} +extern HRESULT WINAPI client_Start(IAudioClient3 *iface);
extern HRESULT WINAPI client_Stop(IAudioClient3 *iface);
@@ -858,7 +822,7 @@ static const IAudioClient3Vtbl AudioClient3_Vtbl = AudioClient_IsFormatSupported, AudioClient_GetMixFormat, AudioClient_GetDevicePeriod, - AudioClient_Start, + client_Start, client_Stop, client_Reset, client_SetEventHandle,