Selaa lähdekoodia

feat(video-quality): add iframe event and getter.

j8
Hristo Terezov 4 vuotta sitten
vanhempi
commit
fc75d45c6c

+ 13
- 0
modules/API/API.js Näytä tiedosto

524
         });
524
         });
525
     }
525
     }
526
 
526
 
527
+    /**
528
+     * Notify external application that the video quality setting has changed.
529
+     *
530
+     * @param {number} videoQuality - The video quality. The number represents the maximum height of the video streams.
531
+     * @returns {void}
532
+     */
533
+    notifyVideoQualityChanged(videoQuality: number) {
534
+        this._sendEvent({
535
+            name: 'video-quality-changed',
536
+            videoQuality
537
+        });
538
+    }
539
+
527
     /**
540
     /**
528
      * Notify external application (if API is enabled) that message was
541
      * Notify external application (if API is enabled) that message was
529
      * received.
542
      * received.

+ 13
- 0
modules/API/external/external_api.js Näytä tiedosto

80
     'video-conference-left': 'videoConferenceLeft',
80
     'video-conference-left': 'videoConferenceLeft',
81
     'video-availability-changed': 'videoAvailabilityChanged',
81
     'video-availability-changed': 'videoAvailabilityChanged',
82
     'video-mute-status-changed': 'videoMuteStatusChanged',
82
     'video-mute-status-changed': 'videoMuteStatusChanged',
83
+    'video-quality-changed': 'videoQualityChanged',
83
     'screen-sharing-status-changed': 'screenSharingStatusChanged',
84
     'screen-sharing-status-changed': 'screenSharingStatusChanged',
84
     'dominant-speaker-changed': 'dominantSpeakerChanged',
85
     'dominant-speaker-changed': 'dominantSpeakerChanged',
85
     'subject-change': 'subjectChange',
86
     'subject-change': 'subjectChange',
503
                 changeParticipantNumber(this, -1);
504
                 changeParticipantNumber(this, -1);
504
                 delete this._participants[this._myUserID];
505
                 delete this._participants[this._myUserID];
505
                 break;
506
                 break;
507
+            case 'video-quality-changed':
508
+                this._videoQuality = data.videoQuality;
509
+                break;
506
             }
510
             }
507
 
511
 
508
             const eventName = events[name];
512
             const eventName = events[name];
689
         return getCurrentDevices(this._transport);
693
         return getCurrentDevices(this._transport);
690
     }
694
     }
691
 
695
 
696
+    /**
697
+     * Returns the current video quality setting.
698
+     *
699
+     * @returns {number}
700
+     */
701
+    getVideoQuality() {
702
+        return this._videoQuality;
703
+    }
704
+
692
     /**
705
     /**
693
      * Check if the audio is available.
706
      * Check if the audio is available.
694
      *
707
      *

+ 1
- 0
react/features/base/config/configWhitelist.js Näytä tiedosto

152
     'testing',
152
     'testing',
153
     'useStunTurn',
153
     'useStunTurn',
154
     'useTurnUdp',
154
     'useTurnUdp',
155
+    'videoQuality.persist',
155
     'webrtcIceTcpDisable',
156
     'webrtcIceTcpDisable',
156
     'webrtcIceUdpDisable'
157
     'webrtcIceUdpDisable'
157
 ].concat(extraConfigWhitelist);
158
 ].concat(extraConfigWhitelist);

+ 6
- 0
react/features/video-quality/middleware.js Näytä tiedosto

15
 import logger from './logger';
15
 import logger from './logger';
16
 import { getMinHeightForQualityLvlMap } from './selector';
16
 import { getMinHeightForQualityLvlMap } from './selector';
17
 
17
 
18
+declare var APP: Object;
19
+
18
 /**
20
 /**
19
  * Implements the middleware of the feature video-quality.
21
  * Implements the middleware of the feature video-quality.
20
  *
22
  *
213
         if (changedConference || changedPreferredVideoQuality) {
215
         if (changedConference || changedPreferredVideoQuality) {
214
             _setSenderVideoConstraint(conference, preferredVideoQuality);
216
             _setSenderVideoConstraint(conference, preferredVideoQuality);
215
         }
217
         }
218
+
219
+        if (typeof APP !== 'undefined' && changedPreferredVideoQuality) {
220
+            APP.API.notifyVideoQualityChanged(preferredVideoQuality);
221
+        }
216
     });
222
     });

Loading…
Peruuta
Tallenna