Переглянути джерело

fix(large-video): clear remote video stream on track removal

VideoLayout schedules a large video update by passing in
the video stream on the small video instance. When a stream
is removed, the UI is removed from the small video instance
but a reference to the stream is left. So when VideoLayout
schedules the large video update after a stream removal,
the old stream from the small video instance is re-used,
even though it has been removed.

This change also brings balance with RemoteVideo method
"addRemoteStreamElement" which sets the stream on the
small video instance, so now "removeRemoteStreamElement
unsets it.
master
Leonard Kim 6 роки тому
джерело
коміт
b655c8d54a
1 змінених файлів з 5 додано та 0 видалено
  1. 5
    0
      modules/UI/videolayout/RemoteVideo.js

+ 5
- 0
modules/UI/videolayout/RemoteVideo.js Переглянути файл

357
     logger.info(`${isVideo ? 'Video' : 'Audio'
357
     logger.info(`${isVideo ? 'Video' : 'Audio'
358
     } removed ${this.id}`, select);
358
     } removed ${this.id}`, select);
359
 
359
 
360
+
361
+    if (stream === this.videoStream) {
362
+        this.videoStream = null;
363
+    }
364
+
360
     this.updateView();
365
     this.updateView();
361
 };
366
 };
362
 
367
 

Завантаження…
Відмінити
Зберегти