From 9e7a477797c6446432b8905c7d3035dc04b85c2b Mon Sep 17 00:00:00 2001 From: Tristian Flanagan Date: Wed, 22 Jul 2020 10:37:17 -0400 Subject: [PATCH] feat(blur): terminate blur web worker when disabled (#7347) * feat(blur): terminate blur web worker when disabled --- .../features/stream-effects/blur/JitsiStreamBlurEffect.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/react/features/stream-effects/blur/JitsiStreamBlurEffect.js b/react/features/stream-effects/blur/JitsiStreamBlurEffect.js index e432a3f81..011bfe71e 100644 --- a/react/features/stream-effects/blur/JitsiStreamBlurEffect.js +++ b/react/features/stream-effects/blur/JitsiStreamBlurEffect.js @@ -43,9 +43,6 @@ export default class JitsiStreamBlurEffect { this._outputCanvasElement = document.createElement('canvas'); this._outputCanvasElement.getContext('2d'); this._inputVideoElement = document.createElement('video'); - - this._maskFrameTimerWorker = new Worker(timerWorkerScript, { name: 'Blur effect worker' }); - this._maskFrameTimerWorker.onmessage = this._onMaskFrameTimer; } /** @@ -104,6 +101,9 @@ export default class JitsiStreamBlurEffect { * @returns {MediaStream} - The stream with the applied effect. */ startEffect(stream: MediaStream) { + this._maskFrameTimerWorker = new Worker(timerWorkerScript, { name: 'Blur effect worker' }); + this._maskFrameTimerWorker.onmessage = this._onMaskFrameTimer; + const firstVideoTrack = stream.getVideoTracks()[0]; const { height, frameRate, width } = firstVideoTrack.getSettings ? firstVideoTrack.getSettings() : firstVideoTrack.getConstraints(); @@ -133,5 +133,7 @@ export default class JitsiStreamBlurEffect { this._maskFrameTimerWorker.postMessage({ id: CLEAR_INTERVAL }); + + this._maskFrameTimerWorker.terminate(); } }