Load web workers in a way that Webpack 5 can bundle them

This commit is contained in:
Johannes Marbach 2023-11-11 16:03:08 +01:00
parent cfd5165cd8
commit 84d7d43a0d
5 changed files with 13 additions and 12 deletions

View file

@ -20,7 +20,7 @@ import { logger } from "matrix-js-sdk/src/logger";
import { defer } from "matrix-js-sdk/src/utils";
// @ts-ignore - `.ts` is needed here to make TS happy
import PlaybackWorker, { Request, Response } from "../workers/playback.worker.ts";
import { Request, Response } from "../workers/playback.worker.ts";
import { UPDATE_EVENT } from "../stores/AsyncStore";
import { arrayFastResample } from "../utils/arrays";
import { IDestroyable } from "../utils/IDestroyable";
@ -63,7 +63,9 @@ export class Playback extends EventEmitter implements IDestroyable, PlaybackInte
private waveformObservable = new SimpleObservable<number[]>();
private readonly clock: PlaybackClock;
private readonly fileSize: number;
private readonly worker = new WorkerManager<Request, Response>(PlaybackWorker);
private readonly worker = new WorkerManager<Request, Response>(
new Worker(new URL("../workers/playback.worker.ts", import.meta.url)),
);
/**
* Creates a new playback instance from a buffer.