Module: wine Branch: master Commit: 32683df5c3bd76b5cf8f0f22f4f9362035df7989 URL: https://gitlab.winehq.org/wine/wine/-/commit/32683df5c3bd76b5cf8f0f22f4f9362...
Author: Davide Beatrici git@davidebeatrici.dev Date: Wed Jun 7 01:05:55 2023 +0200
winealsa: Use mmdevapi's AudioClient's Start.
---
dlls/winealsa.drv/mmdevdrv.c | 44 ++------------------------------------------ 1 file changed, 2 insertions(+), 42 deletions(-)
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 7c2a3d2d9d3..142d31484e5 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -135,20 +135,6 @@ static HRESULT alsa_stream_release(stream_handle stream, HANDLE timer_thread) return params.result; }
-static DWORD WINAPI alsa_timer_thread(void *user) -{ - struct timer_loop_params params; - ACImpl *This = user; - - SetThreadDescription(GetCurrentThread(), L"winealsa_timer"); - - params.stream = This->stream; - - ALSA_CALL(timer_loop, ¶ms); - - return 0; -} - static void set_device_guid(EDataFlow flow, HKEY drv_key, const WCHAR *key_name, GUID *guid) { @@ -811,33 +797,7 @@ static HRESULT WINAPI AudioClient_GetDevicePeriod(IAudioClient3 *iface, return params.result; }
-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; - - ALSA_CALL(start, ¶ms); - - if(SUCCEEDED(params.result) && !This->timer_thread){ - This->timer_thread = CreateThread(NULL, 0, alsa_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);
@@ -882,7 +842,7 @@ static const IAudioClient3Vtbl AudioClient3_Vtbl = AudioClient_IsFormatSupported, AudioClient_GetMixFormat, AudioClient_GetDevicePeriod, - AudioClient_Start, + client_Start, client_Stop, client_Reset, client_SetEventHandle,