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.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2091#note_22801