Update JitsiStreamPresenterEffect.js (#7362)
* Update JitsiStreamPresenterEffect.js Create/terminate the Web Worker on effect start/stop so that we don't leak them.
This commit is contained in:
parent
eaa715879a
commit
eb1ef0fa9c
|
@ -64,8 +64,6 @@ export default class JitsiStreamPresenterEffect {
|
|||
|
||||
// Bind event handler so it is only bound once for every instance.
|
||||
this._onVideoFrameTimer = this._onVideoFrameTimer.bind(this);
|
||||
this._videoFrameTimerWorker = new Worker(timerWorkerScript, { name: 'Presenter effect worker' });
|
||||
this._videoFrameTimerWorker.onmessage = this._onVideoFrameTimer;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -136,6 +134,8 @@ export default class JitsiStreamPresenterEffect {
|
|||
this._desktopElement.srcObject = desktopStream;
|
||||
this._canvas.width = parseInt(width, 10);
|
||||
this._canvas.height = parseInt(height, 10);
|
||||
this._videoFrameTimerWorker = new Worker(timerWorkerScript, { name: 'Presenter effect worker' });
|
||||
this._videoFrameTimerWorker.onmessage = this._onVideoFrameTimer;
|
||||
this._videoFrameTimerWorker.postMessage({
|
||||
id: SET_INTERVAL,
|
||||
timeMs: 1000 / this._frameRate
|
||||
|
@ -153,6 +153,7 @@ export default class JitsiStreamPresenterEffect {
|
|||
this._videoFrameTimerWorker.postMessage({
|
||||
id: CLEAR_INTERVAL
|
||||
});
|
||||
this._videoFrameTimerWorker.terminate();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue