Quellcode durchsuchen

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 vor 6 Jahren
Ursprung
Commit
b655c8d54a
1 geänderte Dateien mit 5 neuen und 0 gelöschten Zeilen
  1. 5
    0
      modules/UI/videolayout/RemoteVideo.js

+ 5
- 0
modules/UI/videolayout/RemoteVideo.js Datei anzeigen

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

Laden…
Abbrechen
Speichern