Browse Source

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.
efficient_tiling
Leonard Kim 6 years ago
parent
commit
b655c8d54a
1 changed files with 5 additions and 0 deletions
  1. 5
    0
      modules/UI/videolayout/RemoteVideo.js

+ 5
- 0
modules/UI/videolayout/RemoteVideo.js View File

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
 

Loading…
Cancel
Save