Rémi Bernon (@rbernon) commented about dlls/windows.media.speech/recognizer.c:
DEFINE_IINSPECTABLE(recognizer_factory, ISpeechRecognizerFactory, struct recognizer_statics, IActivationFactory_iface)
+static HRESULT recognizer_factory_create_audio_capture(struct session *session) +{
- const REFERENCE_TIME buffer_duration = 5000000; /* 0.5 second */
- IMMDeviceEnumerator *mm_enum = NULL;
- IMMDevice *mm_device = NULL;
- WAVEFORMATEX *wfx = NULL;
- WCHAR *str = NULL;
- HRESULT hr = S_OK;
- session->audio_buf_event = CreateEventW(NULL, FALSE, FALSE, NULL);
- if (FAILED(hr = HRESULT_FROM_WIN32(GetLastError())))
return hr;
I don't think last error is reset on success, you probably need to check the event value.