namespace ScreenConnect; public class WebPEncoder : ScreenCodec { private float quality; public WebPEncoder(float quality = 70f) { this.quality = quality; } protected unsafe override void Process(byte* data, int width, int height, int stride) { int inputCount = NativeLibrarySingleton.Instance.WebPEncodeBGRX(data, width, height, stride, quality, out var output); WriteThroughCoder(null, output, inputCount, isEndOfBlock: false); NativeLibrarySingleton.Instance.WebPFree(output); Flush(); } }