loadModelForStreaming method
Load a model onto this component handle. Streaming sessions are
handle-bound, so the lifecycle-resolved model must be loaded here first
(mirrors Swift prepareStreamingHandle). No-op when already loaded.
Implementation
void loadModelForStreaming({
required String path,
required String id,
required String name,
}) {
if (_loadedModelId == id && isLoaded) {
return;
}
final fn = RacNative.bindings.rac_stt_component_load_model;
final handle = getHandle();
final pathPtr = path.toNativeUtf8();
final idPtr = id.toNativeUtf8();
final namePtr = name.toNativeUtf8();
try {
final code = fn(handle, pathPtr, idPtr, namePtr);
if (code != RAC_SUCCESS) {
throw StateError(
'rac_stt_component_load_model failed: '
'${RacResultCode.getMessage(code)}',
);
}
_loadedModelId = id;
} finally {
calloc.free(pathPtr);
calloc.free(idPtr);
calloc.free(namePtr);
}
}