Kaynağa Gözat

Update JitsiStreamPresenterEffect.js (#7362)

* Update JitsiStreamPresenterEffect.js
Create/terminate the Web Worker on effect start/stop so that we don't leak them.
master
Đặng Minh Tiến 5 yıl önce
ebeveyn
işleme
eb1ef0fa9c
No account linked to committer's email address

+ 3
- 2
react/features/stream-effects/presenter/JitsiStreamPresenterEffect.js Dosyayı Görüntüle

@@ -64,8 +64,6 @@ export default class JitsiStreamPresenterEffect {
64 64
 
65 65
         // Bind event handler so it is only bound once for every instance.
66 66
         this._onVideoFrameTimer = this._onVideoFrameTimer.bind(this);
67
-        this._videoFrameTimerWorker = new Worker(timerWorkerScript, { name: 'Presenter effect worker' });
68
-        this._videoFrameTimerWorker.onmessage = this._onVideoFrameTimer;
69 67
     }
70 68
 
71 69
     /**
@@ -136,6 +134,8 @@ export default class JitsiStreamPresenterEffect {
136 134
         this._desktopElement.srcObject = desktopStream;
137 135
         this._canvas.width = parseInt(width, 10);
138 136
         this._canvas.height = parseInt(height, 10);
137
+        this._videoFrameTimerWorker = new Worker(timerWorkerScript, { name: 'Presenter effect worker' });
138
+        this._videoFrameTimerWorker.onmessage = this._onVideoFrameTimer;
139 139
         this._videoFrameTimerWorker.postMessage({
140 140
             id: SET_INTERVAL,
141 141
             timeMs: 1000 / this._frameRate
@@ -153,6 +153,7 @@ export default class JitsiStreamPresenterEffect {
153 153
         this._videoFrameTimerWorker.postMessage({
154 154
             id: CLEAR_INTERVAL
155 155
         });
156
+        this._videoFrameTimerWorker.terminate();
156 157
     }
157 158
 
158 159
 }

Loading…
İptal
Kaydet