diff --git a/src/lib/codec-wrappers/codec.ts b/src/lib/codec-wrappers/codec.ts index c99ea3a1..d0e632fb 100644 --- a/src/lib/codec-wrappers/codec.ts +++ b/src/lib/codec-wrappers/codec.ts @@ -1,5 +1,5 @@ export interface Encoder { - encode(data: ImageData): Promise; + encode(data: ImageData): Promise; } export interface Decoder { diff --git a/src/lib/codec-wrappers/mozjpeg-enc.ts b/src/lib/codec-wrappers/mozjpeg-enc.ts index f39fdaa6..0971ca73 100644 --- a/src/lib/codec-wrappers/mozjpeg-enc.ts +++ b/src/lib/codec-wrappers/mozjpeg-enc.ts @@ -57,7 +57,7 @@ export class MozJpegEncoder implements Encoder { })(); } - async encode(data: ImageData): Promise { + async encode(data: ImageData): Promise { const m = await this.emscriptenModule; const api = await this.api; @@ -71,6 +71,7 @@ export class MozJpegEncoder implements Encoder { api.free_result(); api.destroy_buffer(p); - return result.buffer; + // wasm can’t run on SharedArrayBuffers, so we hard-cast to ArrayBuffer. + return result.buffer as ArrayBuffer; } }