Commit 32683df5 authored by Davide Beatrici's avatar Davide Beatrici Committed by Alexandre Julliard

winealsa: Use mmdevapi's AudioClient's Start.

parent 1c53edf3
......@@ -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, &params);
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, &params);
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,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment