Преглед на файлове

feat(JitsiMediaDevices) don't initialize in the constructor

It's very odd to start receiving events and logs about device changes
when lib-jitsi-meet has not been initialized yet.

Delay initialization until JitsiMeetJS.init has been called, which is
the very first thing users need to call anyway.
release-8443
Saúl Ibarra Corretgé преди 1 година
родител
ревизия
142c441058
променени са 2 файла, в които са добавени 7 реда и са изтрити 2 реда
  1. 6
    2
      JitsiMediaDevices.js
  2. 1
    0
      JitsiMeetJS.ts

+ 6
- 2
JitsiMediaDevices.js Целия файл

@@ -20,7 +20,12 @@ class JitsiMediaDevices extends Listenable {
20 20
     constructor() {
21 21
         super();
22 22
         this._permissions = {};
23
+    }
23 24
 
25
+    /**
26
+     * Initialize. Start listening for device changes and initialize permissions checks.
27
+     */
28
+    init() {
24 29
         RTC.addListener(
25 30
             RTCEvents.DEVICE_LIST_CHANGED,
26 31
             devices =>
@@ -89,7 +94,6 @@ class JitsiMediaDevices extends Listenable {
89 94
         });
90 95
     }
91 96
 
92
-
93 97
     /**
94 98
      * Parses a PermissionState object and returns true for granted and false otherwise.
95 99
      *
@@ -130,7 +134,7 @@ class JitsiMediaDevices extends Listenable {
130 134
             this.eventEmitter.emit(JitsiMediaDevicesEvents.PERMISSIONS_CHANGED, this._permissions);
131 135
 
132 136
             if (this._permissions[MediaType.AUDIO] || this._permissions[MediaType.VIDEO]) {
133
-                // Triggering device list update when the permissiions are granted in order to update
137
+                // Triggering device list update when the permissions are granted in order to update
134 138
                 // the labels the devices.
135 139
                 // eslint-disable-next-line no-empty-function
136 140
                 this.enumerateDevices(() => {});

+ 1
- 0
JitsiMeetJS.ts Целия файл

@@ -141,6 +141,7 @@ export default {
141 141
         // @ts-ignore
142 142
         logger.info(`This appears to be ${browser.getName()}, ver: ${browser.getVersion()}`);
143 143
 
144
+        JitsiMediaDevices.init();
144 145
         Settings.init(options.externalStorage);
145 146
         Statistics.init(options);
146 147
 

Loading…
Отказ
Запис