Rémi Bernon (@rbernon) commented about dlls/windows.media.speech/recognizer.c:
{ ISpeechContinuousRecognitionSession *iface = args; struct session *impl = impl_from_ISpeechContinuousRecognitionSession(iface);
- BOOLEAN running = TRUE;
- DWORD status;
BOOLEAN running = TRUE, paused = FALSE;
DWORD flags, status;
UINT32 frame_count;
HANDLE events[2];
BYTE *audio_buf;
SetThreadDescription(GetCurrentThread(), L"wine_speech_recognition_session_worker");
IAudioClient_Start(impl->audio_client);
IAudioClient_GetBufferSize(impl->audio_client, &frame_count);
Maybe you should check the result of all these `IAudioClient` calls, here and below, and at least emit errors if there's something wrong? Possibly exiting the thread in that case.