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

Init "currentlyAvailableMediaDevices" var for the first enumerateDevices() and don't fire event in this case

dev1
tsareg преди 9 години
родител
ревизия
88f5b6be45
променени са 1 файла, в които са добавени 6 реда и са изтрити 2 реда
  1. 6
    2
      modules/RTC/RTCUtils.js

+ 6
- 2
modules/RTC/RTCUtils.js Целия файл

40
 var isAudioOutputDeviceChangeAvailable =
40
 var isAudioOutputDeviceChangeAvailable =
41
     typeof featureDetectionAudioEl.setSinkId !== 'undefined';
41
     typeof featureDetectionAudioEl.setSinkId !== 'undefined';
42
 
42
 
43
-var currentlyAvailableMediaDevices = [];
43
+var currentlyAvailableMediaDevices;
44
 
44
 
45
 var rawEnumerateDevicesWithCallback = navigator.mediaDevices
45
 var rawEnumerateDevicesWithCallback = navigator.mediaDevices
46
     && navigator.mediaDevices.enumerateDevices
46
     && navigator.mediaDevices.enumerateDevices
305
     // and then plug in a new one.
305
     // and then plug in a new one.
306
     if (rawEnumerateDevicesWithCallback) {
306
     if (rawEnumerateDevicesWithCallback) {
307
         rawEnumerateDevicesWithCallback(function (devices) {
307
         rawEnumerateDevicesWithCallback(function (devices) {
308
-            if (compareAvailableMediaDevices(devices)) {
308
+            // We don't fire RTCEvents.DEVICE_LIST_CHANGED for the first time
309
+            // we call enumerateDevices(). This is the initial step.
310
+            if (typeof currentlyAvailableMediaDevices === 'undefined') {
311
+                currentlyAvailableMediaDevices = devices.slice(0);
312
+            } else if (compareAvailableMediaDevices(devices)) {
309
                 onMediaDevicesListChanged(devices);
313
                 onMediaDevicesListChanged(devices);
310
             }
314
             }
311
 
315
 

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