Rémi Bernon (@rbernon) commented about dlls/windows.media.speech/vosk.c:
- if ((status = get_model_by_lang(getenv("LC_NAME"), &model)) != STATUS_SUCCESS)
return status;
- if (!(recognizer = pvosk_recognizer_new(model, params->sample_rate)))
goto error;
- /* The model is kept alive inside the recognizer, so we can safely free our ref here. */
- pvosk_model_free(model);
- *params->instance = to_vosk_instance(recognizer);
- return STATUS_SUCCESS;
+error:
- if (model) pvosk_model_free(model);
- *params->instance = to_vosk_instance( NULL );
I don't think you have or even should set the instance on error. Especially as the client ignores the value in that case.