fix(large-video): attempt to update large video on all connection updates

It is possible for a connection update to come during a large video update,
between its promises, which would result in the update NOT triggering another
large video update because an update is in progress. This can cause a state
where a connection status overlay is displayed over a video in a state that
does not match the actual video state, like the restoring overlay displaying
on active video.
This commit is contained in:
Leonard Kim 2017-05-26 11:12:05 -07:00 committed by yanas
parent 4b487e3c89
commit 538da92eae
1 changed files with 1 additions and 7 deletions

View File

@ -702,13 +702,7 @@ var VideoLayout = {
onParticipantConnectionStatusChanged (id) { onParticipantConnectionStatusChanged (id) {
// Show/hide warning on the large video // Show/hide warning on the large video
if (this.isCurrentlyOnLarge(id)) { if (this.isCurrentlyOnLarge(id)) {
// when pinning and we have lastN enabled, we have rapid connection if (largeVideo) {
// status changed between inactive, restoring and active and
// if there was a large video update scheduled already it will
// reflect the current status and no need to schedule new one
// otherwise we end up scheduling updates for endpoints which are
// were on large while checking, but a change was already scheduled
if (largeVideo && !largeVideo.updateInProcess) {
// We have to trigger full large video update to transition from // We have to trigger full large video update to transition from
// avatar to video on connectivity restored. // avatar to video on connectivity restored.
this.updateLargeVideo(id, true /* force update */); this.updateLargeVideo(id, true /* force update */);