Module.loadFromBuffer constructor
Module.loadFromBuffer(
- Uint8List buffer, {
- List<
String> ? inputs, - List<
String> ? outputs, - RuntimeManager? runtimeManager,
- ModuleConfig? config,
Implementation
factory Module.loadFromBuffer(
Uint8List buffer, {
List<String>? inputs,
List<String>? outputs,
RuntimeManager? runtimeManager,
ModuleConfig? config,
}) {
final cBuffer = calloc<ffi.Uint8>(buffer.length)..asTypedList(buffer.length).setAll(0, buffer);
final cInputs = inputs == null ? ffi.nullptr : _toCStringList(inputs);
final cOutputs = outputs == null ? ffi.nullptr : _toCStringList(outputs);
try {
final ptr = C.mnn_module_load_from_bytes(
cBuffer,
buffer.length,
cInputs,
inputs?.length ?? 0,
cOutputs,
outputs?.length ?? 0,
runtimeManager?.ptr ?? ffi.nullptr,
config?.ptr.cast<C.mnn_module_config_t>() ?? ffi.nullptr,
);
return Module.fromPointer(ptr);
} finally {
calloc.free(cBuffer);
_freeCStringList(cInputs, inputs?.length ?? 0);
_freeCStringList(cOutputs, outputs?.length ?? 0);
}
}