Rémi Bernon (@rbernon) commented about dlls/windows.media.speech/recognizer.c:
while (running) {
status = WaitForMultipleObjects(1, &impl->worker_control_event, FALSE, INFINITE);
BOOLEAN old_paused = paused;
UINT32 count = 0;
events[count++] = impl->worker_control_event;
if (!paused) events[count++] = impl->audio_buf_event;
status = WaitForMultipleObjects(ARRAY_SIZE(events), events, FALSE, INFINITE);
You need to indicate the actual number of events, not always `ARRAY_SIZE(events)` here, or don't make the second event conditional.