|
@@ -140,26 +140,6 @@ export default class LargeVideoManager {
|
140
|
140
|
container.onHoverOut(e);
|
141
|
141
|
}
|
142
|
142
|
|
143
|
|
- /**
|
144
|
|
- * Called when the media connection has been interrupted.
|
145
|
|
- */
|
146
|
|
- onVideoInterrupted() {
|
147
|
|
- this.enableLocalConnectionProblemFilter(true);
|
148
|
|
- this._setLocalConnectionMessage('connection.RECONNECTING');
|
149
|
|
-
|
150
|
|
- // Show the message only if the video is currently being displayed
|
151
|
|
- this.showLocalConnectionMessage(
|
152
|
|
- LargeVideoManager.isVideoContainer(this.state));
|
153
|
|
- }
|
154
|
|
-
|
155
|
|
- /**
|
156
|
|
- * Called when the media connection has been restored.
|
157
|
|
- */
|
158
|
|
- onVideoRestored() {
|
159
|
|
- this.enableLocalConnectionProblemFilter(false);
|
160
|
|
- this.showLocalConnectionMessage(false);
|
161
|
|
- }
|
162
|
|
-
|
163
|
143
|
/**
|
164
|
144
|
*
|
165
|
145
|
*/
|
|
@@ -269,13 +249,9 @@ export default class LargeVideoManager {
|
269
|
249
|
messageKey = 'connection.LOW_BANDWIDTH';
|
270
|
250
|
}
|
271
|
251
|
|
272
|
|
- // Make sure no notification about remote failure is shown as
|
273
|
|
- // its UI conflicts with the one for local connection interrupted.
|
274
|
|
- // For the purposes of UI indicators, audio only is considered as
|
275
|
|
- // an "active" connection.
|
276
|
|
- const overrideAndHide
|
277
|
|
- = APP.conference.isAudioOnly()
|
278
|
|
- || APP.conference.isConnectionInterrupted();
|
|
252
|
+ // Do not show connection status message in the audio only mode,
|
|
253
|
+ // because it's based on the video playback status.
|
|
254
|
+ const overrideAndHide = APP.conference.isAudioOnly();
|
279
|
255
|
|
280
|
256
|
this.updateParticipantConnStatusIndication(
|
281
|
257
|
id,
|
|
@@ -390,16 +366,6 @@ export default class LargeVideoManager {
|
390
|
366
|
.forEach(type => this.resizeContainer(type, animate));
|
391
|
367
|
}
|
392
|
368
|
|
393
|
|
- /**
|
394
|
|
- * Enables/disables the filter indicating a video problem to the user caused
|
395
|
|
- * by the problems with local media connection.
|
396
|
|
- *
|
397
|
|
- * @param enable <tt>true</tt> to enable, <tt>false</tt> to disable
|
398
|
|
- */
|
399
|
|
- enableLocalConnectionProblemFilter(enable) {
|
400
|
|
- this.videoContainer.enableLocalConnectionProblemFilter(enable);
|
401
|
|
- }
|
402
|
|
-
|
403
|
369
|
/**
|
404
|
370
|
* Updates the src of the dominant speaker avatar
|
405
|
371
|
*/
|
|
@@ -478,35 +444,6 @@ export default class LargeVideoManager {
|
478
|
444
|
$('.watermark').css('visibility', show ? 'visible' : 'hidden');
|
479
|
445
|
}
|
480
|
446
|
|
481
|
|
- /**
|
482
|
|
- * Shows/hides the message indicating problems with local media connection.
|
483
|
|
- * @param {boolean|null} show(optional) tells whether the message is to be
|
484
|
|
- * displayed or not. If missing the condition will be based on the value
|
485
|
|
- * obtained from {@link APP.conference.isConnectionInterrupted}.
|
486
|
|
- */
|
487
|
|
- showLocalConnectionMessage(show) {
|
488
|
|
- if (typeof show !== 'boolean') {
|
489
|
|
- // eslint-disable-next-line no-param-reassign
|
490
|
|
- show = APP.conference.isConnectionInterrupted();
|
491
|
|
- }
|
492
|
|
-
|
493
|
|
- const element = document.getElementById('localConnectionMessage');
|
494
|
|
-
|
495
|
|
- if (element) {
|
496
|
|
- if (show) {
|
497
|
|
- element.classList.add('show');
|
498
|
|
- } else {
|
499
|
|
- element.classList.remove('show');
|
500
|
|
- }
|
501
|
|
- }
|
502
|
|
-
|
503
|
|
- if (show) {
|
504
|
|
- // Avatar message conflicts with 'videoConnectionMessage',
|
505
|
|
- // so it must be hidden
|
506
|
|
- this.showRemoteConnectionMessage(false);
|
507
|
|
- }
|
508
|
|
- }
|
509
|
|
-
|
510
|
447
|
/**
|
511
|
448
|
* Shows hides the "avatar" message which is to be displayed either in
|
512
|
449
|
* the middle of the screen or below the avatar image.
|
|
@@ -531,10 +468,6 @@ export default class LargeVideoManager {
|
531
|
468
|
|
532
|
469
|
if (show) {
|
533
|
470
|
$('#remoteConnectionMessage').css({ display: 'block' });
|
534
|
|
-
|
535
|
|
- // 'videoConnectionMessage' message conflicts with 'avatarMessage',
|
536
|
|
- // so it must be hidden
|
537
|
|
- this.showLocalConnectionMessage(false);
|
538
|
471
|
} else {
|
539
|
472
|
$('#remoteConnectionMessage').hide();
|
540
|
473
|
}
|
|
@@ -560,21 +493,6 @@ export default class LargeVideoManager {
|
560
|
493
|
}
|
561
|
494
|
}
|
562
|
495
|
|
563
|
|
- /**
|
564
|
|
- * Updated the text which is to be shown on the top of large video, when
|
565
|
|
- * local media connection is interrupted.
|
566
|
|
- *
|
567
|
|
- * @param {string} msgKey the translation key which will be used to get
|
568
|
|
- * the message text to be displayed on the large video.
|
569
|
|
- *
|
570
|
|
- * @private
|
571
|
|
- */
|
572
|
|
- _setLocalConnectionMessage(msgKey) {
|
573
|
|
- $('#localConnectionMessage')
|
574
|
|
- .attr('data-i18n', msgKey);
|
575
|
|
- APP.translation.translateElement($('#localConnectionMessage'));
|
576
|
|
- }
|
577
|
|
-
|
578
|
496
|
/**
|
579
|
497
|
* Add container of specified type.
|
580
|
498
|
* @param {string} type container type
|
|
@@ -655,7 +573,6 @@ export default class LargeVideoManager {
|
655
|
573
|
|
656
|
574
|
if (LargeVideoManager.isVideoContainer(this.state)) {
|
657
|
575
|
this.showWatermark(false);
|
658
|
|
- this.showLocalConnectionMessage(false);
|
659
|
576
|
this.showRemoteConnectionMessage(false);
|
660
|
577
|
}
|
661
|
578
|
oldContainer.hide();
|
|
@@ -675,7 +592,6 @@ export default class LargeVideoManager {
|
675
|
592
|
// at the same time, but the latter is of higher priority and it
|
676
|
593
|
// will hide the avatar one if will be displayed.
|
677
|
594
|
this.showRemoteConnectionMessage(/* fetch the current state */);
|
678
|
|
- this.showLocalConnectionMessage(/* fetch the current state */);
|
679
|
595
|
}
|
680
|
596
|
});
|
681
|
597
|
}
|