select static method
FfmpegRunner
select({
- required bool isWeb,
- ProcessRunner? runner,
- WasmRuntime wasmFactory()?,
- WasmInputReader? readInput,
- WasmOutputWriter? writeOutput,
Builds the provider for isWeb, with every dependency injectable.
Native: a ProcessFfmpegRunner over runner (default
IoProcessRunner). Web: a WasmFfmpegRunner over wasmFactory
(default: the real browser binding) — readInput/writeOutput must be
wired by the web render path before an encode actually runs; the
defaults fail loudly so a missing wire is a clear bug, not a hang.
Implementation
static FfmpegRunner select({
required bool isWeb,
ProcessRunner? runner,
WasmRuntime Function()? wasmFactory,
WasmInputReader? readInput,
WasmOutputWriter? writeOutput,
}) {
if (!isWeb) {
return ProcessFfmpegRunner(runner: runner ?? const IoProcessRunner());
}
return WasmFfmpegRunner(
runtime: (wasmFactory ?? createWasmRuntime)(),
readInput: readInput ?? _unwiredReadInput,
writeOutput: writeOutput ?? _unwiredWriteOutput,
);
}