diff --git a/src/frontend/src/features/rooms/livekit/components/blur/BackgroundBlurCustomProcessor.ts b/src/frontend/src/features/rooms/livekit/components/blur/BackgroundBlurCustomProcessor.ts index eba10993..2c907e17 100644 --- a/src/frontend/src/features/rooms/livekit/components/blur/BackgroundBlurCustomProcessor.ts +++ b/src/frontend/src/features/rooms/livekit/components/blur/BackgroundBlurCustomProcessor.ts @@ -278,4 +278,8 @@ export class BackgroundBlurCustomProcessor this.timerWorker?.terminate() this.imageSegmenter?.close() } + + clone() { + return new BackgroundBlurCustomProcessor(this.options) + } } diff --git a/src/frontend/src/features/rooms/livekit/components/blur/BackgroundBlurTrackProcessorJsWrapper.ts b/src/frontend/src/features/rooms/livekit/components/blur/BackgroundBlurTrackProcessorJsWrapper.ts index e409074c..a2420e7c 100644 --- a/src/frontend/src/features/rooms/livekit/components/blur/BackgroundBlurTrackProcessorJsWrapper.ts +++ b/src/frontend/src/features/rooms/livekit/components/blur/BackgroundBlurTrackProcessorJsWrapper.ts @@ -18,8 +18,11 @@ export class BackgroundBlurTrackProcessorJsWrapper processor: ProcessorWrapper + opts: BackgroundOptions + constructor(opts: BackgroundOptions) { this.processor = BackgroundBlur(opts.blurRadius) + this.opts = opts } async init(opts: ProcessorOptions) { @@ -45,4 +48,10 @@ export class BackgroundBlurTrackProcessorJsWrapper get options() { return (this.processor.transformer as BackgroundTransformer).options } + + clone() { + return new BackgroundBlurTrackProcessorJsWrapper({ + blurRadius: this.options!.blurRadius, + }) + } } diff --git a/src/frontend/src/features/rooms/livekit/components/blur/index.ts b/src/frontend/src/features/rooms/livekit/components/blur/index.ts index 7ab10dbb..eae30b65 100644 --- a/src/frontend/src/features/rooms/livekit/components/blur/index.ts +++ b/src/frontend/src/features/rooms/livekit/components/blur/index.ts @@ -11,6 +11,7 @@ export interface BackgroundBlurProcessorInterface extends TrackProcessor { update(opts: BackgroundOptions): void options: BackgroundOptions + clone(): BackgroundBlurProcessorInterface } export class BackgroundBlurFactory {