createEncoder method
Future<PlatformEncoder?>
createEncoder(
- EncoderConfig config, {
- BackendContext? context,
override
Implementation
@override
Future<PlatformEncoder?> createEncoder(
EncoderConfig config, {
BackendContext? context,
}) async {
if (!_videoCodecs.contains(config.codec)) return null;
if (!WebCapability.hasVideoEncoder) return null;
// Probe the browser for this specific codec+resolution combination.
final codecStr = config.backendOptions['codecString'] ??
_defaultCodecString(config.codec);
if (codecStr == null) return null;
final supported = await WebCapability.isVideoEncoderSupported(
codecStr,
width: config.width,
height: config.height,
);
if (!supported) return null;
return WebCodecsVideoEncoder.create(config);
}