|
|
@@ -14,6 +14,7 @@ import { VIDEO_QUALITY_LEVELS } from '../constants';
|
|
14
|
14
|
import logger from '../logger';
|
|
15
|
15
|
|
|
16
|
16
|
const {
|
|
|
17
|
+ ULTRA,
|
|
17
|
18
|
HIGH,
|
|
18
|
19
|
STANDARD,
|
|
19
|
20
|
LOW
|
|
|
@@ -97,6 +98,7 @@ class VideoQualitySlider extends Component<Props> {
|
|
97
|
98
|
this._enableLowDefinition = this._enableLowDefinition.bind(this);
|
|
98
|
99
|
this._enableStandardDefinition
|
|
99
|
100
|
= this._enableStandardDefinition.bind(this);
|
|
|
101
|
+ this._enableUltraHighDefinition = this._enableUltraHighDefinition.bind(this);
|
|
100
|
102
|
this._onSliderChange = this._onSliderChange.bind(this);
|
|
101
|
103
|
|
|
102
|
104
|
/**
|
|
|
@@ -125,9 +127,9 @@ class VideoQualitySlider extends Component<Props> {
|
|
125
|
127
|
videoQuality: STANDARD
|
|
126
|
128
|
},
|
|
127
|
129
|
{
|
|
128
|
|
- onSelect: this._enableHighDefinition,
|
|
|
130
|
+ onSelect: this._enableUltraHighDefinition,
|
|
129
|
131
|
textKey: 'videoStatus.highDefinition',
|
|
130
|
|
- videoQuality: HIGH
|
|
|
132
|
+ videoQuality: ULTRA
|
|
131
|
133
|
}
|
|
132
|
134
|
];
|
|
133
|
135
|
}
|
|
|
@@ -298,6 +300,21 @@ class VideoQualitySlider extends Component<Props> {
|
|
298
|
300
|
this._setPreferredVideoQuality(STANDARD);
|
|
299
|
301
|
}
|
|
300
|
302
|
|
|
|
303
|
+ _enableUltraHighDefinition: () => void;
|
|
|
304
|
+
|
|
|
305
|
+ /**
|
|
|
306
|
+ * Dispatches an action to receive ultra HD quality video from remote
|
|
|
307
|
+ * participants.
|
|
|
308
|
+ *
|
|
|
309
|
+ * @private
|
|
|
310
|
+ * @returns {void}
|
|
|
311
|
+ */
|
|
|
312
|
+ _enableUltraHighDefinition() {
|
|
|
313
|
+ sendAnalytics(createEvent('ultra high'));
|
|
|
314
|
+ logger.log('Video quality: ultra high enabled');
|
|
|
315
|
+ this._setPreferredVideoQuality(ULTRA);
|
|
|
316
|
+ }
|
|
|
317
|
+
|
|
301
|
318
|
/**
|
|
302
|
319
|
* Matches the current video quality state with corresponding index of the
|
|
303
|
320
|
* component's slider options.
|