From: Davide Beatrici git@davidebeatrici.dev
--- 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 75b463fe1f7..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) { - params.result = AUDCLNT_E_NOT_INITIALIZED; - goto exit; - } - - params.stream = This->stream; - - WINE_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); - } -exit: - 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,