@webex/web-client-media-engine 3.33.2 → 3.33.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -34,7 +34,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
34
34
  PERFORMANCE OF THIS SOFTWARE.
35
35
  ***************************************************************************** */
36
36
 
37
- function __awaiter$2(thisArg, _arguments, P, generator) {
37
+ function __awaiter$1(thisArg, _arguments, P, generator) {
38
38
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
39
39
  return new (P || (P = Promise))(function (resolve, reject) {
40
40
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -356,7 +356,7 @@ var DeviceKind$1;
356
356
  * media has successfully been obtained.
357
357
  */
358
358
  function getUserMedia(constraints) {
359
- return __awaiter$2(this, void 0, void 0, function* () {
359
+ return __awaiter$1(this, void 0, void 0, function* () {
360
360
  return navigator.mediaDevices.getUserMedia(constraints);
361
361
  });
362
362
  }
@@ -381,7 +381,7 @@ function getDisplayMedia(constraints) {
381
381
  * fulfilled.
382
382
  */
383
383
  function enumerateDevices() {
384
- return __awaiter$2(this, void 0, void 0, function* () {
384
+ return __awaiter$1(this, void 0, void 0, function* () {
385
385
  return navigator.mediaDevices.enumerateDevices();
386
386
  });
387
387
  }
@@ -403,7 +403,7 @@ function setOnDeviceChangeHandler$1(handler) {
403
403
  * @returns Array of Permission Status objects.
404
404
  */
405
405
  function checkNavigatorPermissions(deviceKinds) {
406
- return __awaiter$2(this, void 0, void 0, function* () {
406
+ return __awaiter$1(this, void 0, void 0, function* () {
407
407
  const permissionRequests = [];
408
408
  if (deviceKinds.includes(DeviceKind$1.VideoInput)) {
409
409
  permissionRequests.push(navigator.permissions.query({ name: 'camera' }));
@@ -421,7 +421,7 @@ function checkNavigatorPermissions(deviceKinds) {
421
421
  * @returns True if device permissions exist, false if otherwise.
422
422
  */
423
423
  function checkDevicePermissions(deviceKinds) {
424
- return __awaiter$2(this, void 0, void 0, function* () {
424
+ return __awaiter$1(this, void 0, void 0, function* () {
425
425
  try {
426
426
  const permissions = yield checkNavigatorPermissions(deviceKinds);
427
427
  if (permissions.every((permission) => permission.state === 'granted')) {
@@ -451,7 +451,7 @@ function checkDevicePermissions(deviceKinds) {
451
451
  * @returns The callback's response.
452
452
  */
453
453
  function ensureDevicePermissions(deviceKinds, callback) {
454
- return __awaiter$2(this, void 0, void 0, function* () {
454
+ return __awaiter$1(this, void 0, void 0, function* () {
455
455
  try {
456
456
  const hasDevicePermissions = yield checkDevicePermissions(deviceKinds);
457
457
  if (!hasDevicePermissions) {
@@ -520,7 +520,7 @@ class WebrtcCoreError {
520
520
  * @returns A LocalCameraStream object or an error.
521
521
  */
522
522
  function createCameraStream(cameraStreamConstructor, constraints) {
523
- return __awaiter$2(this, void 0, void 0, function* () {
523
+ return __awaiter$1(this, void 0, void 0, function* () {
524
524
  let stream;
525
525
  try {
526
526
  stream = yield getUserMedia({ video: Object.assign({}, constraints) });
@@ -540,7 +540,7 @@ function createCameraStream(cameraStreamConstructor, constraints) {
540
540
  * @returns A LocalMicrophoneStream object or an error.
541
541
  */
542
542
  function createMicrophoneStream(microphoneStreamConstructor, constraints) {
543
- return __awaiter$2(this, void 0, void 0, function* () {
543
+ return __awaiter$1(this, void 0, void 0, function* () {
544
544
  let stream;
545
545
  try {
546
546
  stream = yield getUserMedia({ audio: Object.assign({}, constraints) });
@@ -563,7 +563,7 @@ function createMicrophoneStream(microphoneStreamConstructor, constraints) {
563
563
  * @returns A Promise that resolves to a LocalCameraStream and a LocalMicrophoneStream or an error.
564
564
  */
565
565
  function createCameraAndMicrophoneStreams(cameraStreamConstructor, microphoneStreamConstructor, constraints) {
566
- return __awaiter$2(this, void 0, void 0, function* () {
566
+ return __awaiter$1(this, void 0, void 0, function* () {
567
567
  let stream;
568
568
  try {
569
569
  stream = yield getUserMedia({
@@ -608,7 +608,7 @@ function createCameraAndMicrophoneStreams(cameraStreamConstructor, microphoneStr
608
608
  * instead.
609
609
  */
610
610
  function createDisplayMedia(options) {
611
- return __awaiter$2(this, void 0, void 0, function* () {
611
+ return __awaiter$1(this, void 0, void 0, function* () {
612
612
  var _a, _b;
613
613
  let stream;
614
614
  const videoConstraints = options.video.constraints || true;
@@ -649,7 +649,7 @@ function createDisplayMedia(options) {
649
649
  * @returns A Promise that resolves to a LocalDisplayStream or an error.
650
650
  */
651
651
  function createDisplayStream(displayStreamConstructor, videoContentHint) {
652
- return __awaiter$2(this, void 0, void 0, function* () {
652
+ return __awaiter$1(this, void 0, void 0, function* () {
653
653
  const [localDisplayStream] = yield createDisplayMedia({
654
654
  video: { displayStreamConstructor, videoContentHint },
655
655
  });
@@ -667,7 +667,7 @@ function createDisplayStream(displayStreamConstructor, videoContentHint) {
667
667
  * instead.
668
668
  */
669
669
  function createDisplayStreamWithAudio(displayStreamConstructor, systemAudioStreamConstructor, videoContentHint) {
670
- return __awaiter$2(this, void 0, void 0, function* () {
670
+ return __awaiter$1(this, void 0, void 0, function* () {
671
671
  return createDisplayMedia({
672
672
  video: { displayStreamConstructor, videoContentHint },
673
673
  audio: { systemAudioStreamConstructor },
@@ -681,7 +681,7 @@ function createDisplayStreamWithAudio(displayStreamConstructor, systemAudioStrea
681
681
  * @returns List of media devices in an array of MediaDeviceInfo objects.
682
682
  */
683
683
  function getDevices(deviceKind) {
684
- return __awaiter$2(this, void 0, void 0, function* () {
684
+ return __awaiter$1(this, void 0, void 0, function* () {
685
685
  let devices;
686
686
  const deviceKinds = deviceKind
687
687
  ? [deviceKind]
@@ -701,7 +701,7 @@ function getDevices(deviceKind) {
701
701
  * @returns List of microphone devices in an array of MediaDeviceInfo objects.
702
702
  */
703
703
  function getAudioInputDevices() {
704
- return __awaiter$2(this, void 0, void 0, function* () {
704
+ return __awaiter$1(this, void 0, void 0, function* () {
705
705
  return getDevices(DeviceKind$1.AudioInput);
706
706
  });
707
707
  }
@@ -711,7 +711,7 @@ function getAudioInputDevices() {
711
711
  * @returns List of speaker devices in an array of MediaDeviceInfo objects.
712
712
  */
713
713
  function getAudioOutputDevices() {
714
- return __awaiter$2(this, void 0, void 0, function* () {
714
+ return __awaiter$1(this, void 0, void 0, function* () {
715
715
  return getDevices(DeviceKind$1.AudioOutput);
716
716
  });
717
717
  }
@@ -721,7 +721,7 @@ function getAudioOutputDevices() {
721
721
  * @returns List of camera devices in an array of MediaDeviceInfo objects.
722
722
  */
723
723
  function getVideoInputDevices() {
724
- return __awaiter$2(this, void 0, void 0, function* () {
724
+ return __awaiter$1(this, void 0, void 0, function* () {
725
725
  return getDevices(DeviceKind$1.VideoInput);
726
726
  });
727
727
  }
@@ -864,7 +864,7 @@ EventEmitter$1$1.prototype.emit = function emit(type) {
864
864
  ReflectApply$1$1(handler, this, args);
865
865
  } else {
866
866
  var len = handler.length;
867
- var listeners = arrayClone$1$1(handler, len);
867
+ var listeners = arrayClone$2(handler, len);
868
868
  for (var i = 0; i < len; ++i)
869
869
  ReflectApply$1$1(listeners[i], this, args);
870
870
  }
@@ -872,7 +872,7 @@ EventEmitter$1$1.prototype.emit = function emit(type) {
872
872
  return true;
873
873
  };
874
874
 
875
- function _addListener$1$1(target, type, listener, prepend) {
875
+ function _addListener$2(target, type, listener, prepend) {
876
876
  var m;
877
877
  var events;
878
878
  var existing;
@@ -935,14 +935,14 @@ function _addListener$1$1(target, type, listener, prepend) {
935
935
  }
936
936
 
937
937
  EventEmitter$1$1.prototype.addListener = function addListener(type, listener) {
938
- return _addListener$1$1(this, type, listener, false);
938
+ return _addListener$2(this, type, listener, false);
939
939
  };
940
940
 
941
941
  EventEmitter$1$1.prototype.on = EventEmitter$1$1.prototype.addListener;
942
942
 
943
943
  EventEmitter$1$1.prototype.prependListener =
944
944
  function prependListener(type, listener) {
945
- return _addListener$1$1(this, type, listener, true);
945
+ return _addListener$2(this, type, listener, true);
946
946
  };
947
947
 
948
948
  function onceWrapper$1$1() {
@@ -955,7 +955,7 @@ function onceWrapper$1$1() {
955
955
  }
956
956
  }
957
957
 
958
- function _onceWrap$1$1(target, type, listener) {
958
+ function _onceWrap$2(target, type, listener) {
959
959
  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
960
960
  var wrapped = onceWrapper$1$1.bind(state);
961
961
  wrapped.listener = listener;
@@ -965,14 +965,14 @@ function _onceWrap$1$1(target, type, listener) {
965
965
 
966
966
  EventEmitter$1$1.prototype.once = function once(type, listener) {
967
967
  checkListener$1$1(listener);
968
- this.on(type, _onceWrap$1$1(this, type, listener));
968
+ this.on(type, _onceWrap$2(this, type, listener));
969
969
  return this;
970
970
  };
971
971
 
972
972
  EventEmitter$1$1.prototype.prependOnceListener =
973
973
  function prependOnceListener(type, listener) {
974
974
  checkListener$1$1(listener);
975
- this.prependListener(type, _onceWrap$1$1(this, type, listener));
975
+ this.prependListener(type, _onceWrap$2(this, type, listener));
976
976
  return this;
977
977
  };
978
978
 
@@ -1016,7 +1016,7 @@ EventEmitter$1$1.prototype.removeListener =
1016
1016
  if (position === 0)
1017
1017
  list.shift();
1018
1018
  else {
1019
- spliceOne$1$1(list, position);
1019
+ spliceOne$2(list, position);
1020
1020
  }
1021
1021
 
1022
1022
  if (list.length === 1)
@@ -1096,7 +1096,7 @@ function _listeners$1$1(target, type, unwrap) {
1096
1096
  return unwrap ? [evlistener.listener || evlistener] : [evlistener];
1097
1097
 
1098
1098
  return unwrap ?
1099
- unwrapListeners$1$1(evlistener) : arrayClone$1$1(evlistener, evlistener.length);
1099
+ unwrapListeners$2(evlistener) : arrayClone$2(evlistener, evlistener.length);
1100
1100
  }
1101
1101
 
1102
1102
  EventEmitter$1$1.prototype.listeners = function listeners(type) {
@@ -1111,12 +1111,12 @@ EventEmitter$1$1.listenerCount = function(emitter, type) {
1111
1111
  if (typeof emitter.listenerCount === 'function') {
1112
1112
  return emitter.listenerCount(type);
1113
1113
  } else {
1114
- return listenerCount$1$1.call(emitter, type);
1114
+ return listenerCount$2.call(emitter, type);
1115
1115
  }
1116
1116
  };
1117
1117
 
1118
- EventEmitter$1$1.prototype.listenerCount = listenerCount$1$1;
1119
- function listenerCount$1$1(type) {
1118
+ EventEmitter$1$1.prototype.listenerCount = listenerCount$2;
1119
+ function listenerCount$2(type) {
1120
1120
  var events = this._events;
1121
1121
 
1122
1122
  if (events !== undefined) {
@@ -1136,20 +1136,20 @@ EventEmitter$1$1.prototype.eventNames = function eventNames() {
1136
1136
  return this._eventsCount > 0 ? ReflectOwnKeys$1$1(this._events) : [];
1137
1137
  };
1138
1138
 
1139
- function arrayClone$1$1(arr, n) {
1139
+ function arrayClone$2(arr, n) {
1140
1140
  var copy = new Array(n);
1141
1141
  for (var i = 0; i < n; ++i)
1142
1142
  copy[i] = arr[i];
1143
1143
  return copy;
1144
1144
  }
1145
1145
 
1146
- function spliceOne$1$1(list, index) {
1146
+ function spliceOne$2(list, index) {
1147
1147
  for (; index + 1 < list.length; index++)
1148
1148
  list[index] = list[index + 1];
1149
1149
  list.pop();
1150
1150
  }
1151
1151
 
1152
- function unwrapListeners$1$1(arr) {
1152
+ function unwrapListeners$2(arr) {
1153
1153
  var ret = new Array(arr.length);
1154
1154
  for (var i = 0; i < ret.length; ++i) {
1155
1155
  ret[i] = arr[i].listener || arr[i];
@@ -1206,11 +1206,11 @@ function eventTargetAgnosticAddListener$1$1(emitter, name, listener, flags) {
1206
1206
  }
1207
1207
  }
1208
1208
 
1209
- class EventEmitter$2$1 extends events$1$1.exports.EventEmitter {
1209
+ class EventEmitter$3$1 extends events$1$1.exports.EventEmitter {
1210
1210
  }
1211
1211
  class TypedEvent$1 {
1212
1212
  constructor() {
1213
- this.emitter = new EventEmitter$2$1();
1213
+ this.emitter = new EventEmitter$3$1();
1214
1214
  }
1215
1215
  on(handler) {
1216
1216
  this.emitter.on('event', handler);
@@ -1500,7 +1500,7 @@ class _LocalStream extends Stream {
1500
1500
  * @param effect - The effect to add.
1501
1501
  */
1502
1502
  addEffect(effect) {
1503
- return __awaiter$2(this, void 0, void 0, function* () {
1503
+ return __awaiter$1(this, void 0, void 0, function* () {
1504
1504
  // Check if the effect has already been added.
1505
1505
  if (this.effects.some((e) => e.id === effect.id)) {
1506
1506
  return;
@@ -1637,7 +1637,7 @@ class _LocalStream extends Stream {
1637
1637
  * Cleanup the local effects.
1638
1638
  */
1639
1639
  disposeEffects() {
1640
- return __awaiter$2(this, void 0, void 0, function* () {
1640
+ return __awaiter$1(this, void 0, void 0, function* () {
1641
1641
  this.loadingEffects.clear();
1642
1642
  // Dispose of any effects currently in use
1643
1643
  if (this.effects.length > 0) {
@@ -1662,7 +1662,7 @@ class LocalAudioStream extends LocalStream {
1662
1662
  * @returns A promise which resolves when the constraints have been successfully applied.
1663
1663
  */
1664
1664
  applyConstraints(constraints) {
1665
- return __awaiter$2(this, void 0, void 0, function* () {
1665
+ return __awaiter$1(this, void 0, void 0, function* () {
1666
1666
  logger$3.log(`Applying constraints to local track:`, constraints);
1667
1667
  return this.inputTrack.applyConstraints(constraints).then(() => {
1668
1668
  this[exports.LocalStreamEventNames.ConstraintsChange].emit();
@@ -1682,7 +1682,7 @@ class LocalVideoStream extends LocalStream {
1682
1682
  * @returns A promise which resolves when the constraints have been successfully applied.
1683
1683
  */
1684
1684
  applyConstraints(constraints) {
1685
- return __awaiter$2(this, void 0, void 0, function* () {
1685
+ return __awaiter$1(this, void 0, void 0, function* () {
1686
1686
  logger$3.log(`Applying constraints to local track:`, constraints);
1687
1687
  return this.inputTrack.applyConstraints(constraints).then(() => {
1688
1688
  this[exports.LocalStreamEventNames.ConstraintsChange].emit();
@@ -1863,6 +1863,478 @@ class _RemoteStream extends Stream {
1863
1863
  _a$6 = exports.RemoteStreamEventNames.MediaStateChange;
1864
1864
  const RemoteStream = AddEvents(_RemoteStream);
1865
1865
 
1866
+ var domain;
1867
+
1868
+ // This constructor is used to store event handlers. Instantiating this is
1869
+ // faster than explicitly calling `Object.create(null)` to get a "clean" empty
1870
+ // object (tested with v8 v4.9).
1871
+ function EventHandlers() {}
1872
+ EventHandlers.prototype = Object.create(null);
1873
+
1874
+ function EventEmitter$2$1() {
1875
+ EventEmitter$2$1.init.call(this);
1876
+ }
1877
+
1878
+ // nodejs oddity
1879
+ // require('events') === require('events').EventEmitter
1880
+ EventEmitter$2$1.EventEmitter = EventEmitter$2$1;
1881
+
1882
+ EventEmitter$2$1.usingDomains = false;
1883
+
1884
+ EventEmitter$2$1.prototype.domain = undefined;
1885
+ EventEmitter$2$1.prototype._events = undefined;
1886
+ EventEmitter$2$1.prototype._maxListeners = undefined;
1887
+
1888
+ // By default EventEmitters will print a warning if more than 10 listeners are
1889
+ // added to it. This is a useful default which helps finding memory leaks.
1890
+ EventEmitter$2$1.defaultMaxListeners = 10;
1891
+
1892
+ EventEmitter$2$1.init = function() {
1893
+ this.domain = null;
1894
+ if (EventEmitter$2$1.usingDomains) {
1895
+ // if there is an active domain, then attach to it.
1896
+ if (domain.active ) ;
1897
+ }
1898
+
1899
+ if (!this._events || this._events === Object.getPrototypeOf(this)._events) {
1900
+ this._events = new EventHandlers();
1901
+ this._eventsCount = 0;
1902
+ }
1903
+
1904
+ this._maxListeners = this._maxListeners || undefined;
1905
+ };
1906
+
1907
+ // Obviously not all Emitters should be limited to 10. This function allows
1908
+ // that to be increased. Set to zero for unlimited.
1909
+ EventEmitter$2$1.prototype.setMaxListeners = function setMaxListeners(n) {
1910
+ if (typeof n !== 'number' || n < 0 || isNaN(n))
1911
+ throw new TypeError('"n" argument must be a positive number');
1912
+ this._maxListeners = n;
1913
+ return this;
1914
+ };
1915
+
1916
+ function $getMaxListeners(that) {
1917
+ if (that._maxListeners === undefined)
1918
+ return EventEmitter$2$1.defaultMaxListeners;
1919
+ return that._maxListeners;
1920
+ }
1921
+
1922
+ EventEmitter$2$1.prototype.getMaxListeners = function getMaxListeners() {
1923
+ return $getMaxListeners(this);
1924
+ };
1925
+
1926
+ // These standalone emit* functions are used to optimize calling of event
1927
+ // handlers for fast cases because emit() itself often has a variable number of
1928
+ // arguments and can be deoptimized because of that. These functions always have
1929
+ // the same number of arguments and thus do not get deoptimized, so the code
1930
+ // inside them can execute faster.
1931
+ function emitNone(handler, isFn, self) {
1932
+ if (isFn)
1933
+ handler.call(self);
1934
+ else {
1935
+ var len = handler.length;
1936
+ var listeners = arrayClone$1$1(handler, len);
1937
+ for (var i = 0; i < len; ++i)
1938
+ listeners[i].call(self);
1939
+ }
1940
+ }
1941
+ function emitOne(handler, isFn, self, arg1) {
1942
+ if (isFn)
1943
+ handler.call(self, arg1);
1944
+ else {
1945
+ var len = handler.length;
1946
+ var listeners = arrayClone$1$1(handler, len);
1947
+ for (var i = 0; i < len; ++i)
1948
+ listeners[i].call(self, arg1);
1949
+ }
1950
+ }
1951
+ function emitTwo(handler, isFn, self, arg1, arg2) {
1952
+ if (isFn)
1953
+ handler.call(self, arg1, arg2);
1954
+ else {
1955
+ var len = handler.length;
1956
+ var listeners = arrayClone$1$1(handler, len);
1957
+ for (var i = 0; i < len; ++i)
1958
+ listeners[i].call(self, arg1, arg2);
1959
+ }
1960
+ }
1961
+ function emitThree(handler, isFn, self, arg1, arg2, arg3) {
1962
+ if (isFn)
1963
+ handler.call(self, arg1, arg2, arg3);
1964
+ else {
1965
+ var len = handler.length;
1966
+ var listeners = arrayClone$1$1(handler, len);
1967
+ for (var i = 0; i < len; ++i)
1968
+ listeners[i].call(self, arg1, arg2, arg3);
1969
+ }
1970
+ }
1971
+
1972
+ function emitMany(handler, isFn, self, args) {
1973
+ if (isFn)
1974
+ handler.apply(self, args);
1975
+ else {
1976
+ var len = handler.length;
1977
+ var listeners = arrayClone$1$1(handler, len);
1978
+ for (var i = 0; i < len; ++i)
1979
+ listeners[i].apply(self, args);
1980
+ }
1981
+ }
1982
+
1983
+ EventEmitter$2$1.prototype.emit = function emit(type) {
1984
+ var er, handler, len, args, i, events, domain;
1985
+ var doError = (type === 'error');
1986
+
1987
+ events = this._events;
1988
+ if (events)
1989
+ doError = (doError && events.error == null);
1990
+ else if (!doError)
1991
+ return false;
1992
+
1993
+ domain = this.domain;
1994
+
1995
+ // If there is no 'error' event listener then throw.
1996
+ if (doError) {
1997
+ er = arguments[1];
1998
+ if (domain) {
1999
+ if (!er)
2000
+ er = new Error('Uncaught, unspecified "error" event');
2001
+ er.domainEmitter = this;
2002
+ er.domain = domain;
2003
+ er.domainThrown = false;
2004
+ domain.emit('error', er);
2005
+ } else if (er instanceof Error) {
2006
+ throw er; // Unhandled 'error' event
2007
+ } else {
2008
+ // At least give some kind of context to the user
2009
+ var err = new Error('Uncaught, unspecified "error" event. (' + er + ')');
2010
+ err.context = er;
2011
+ throw err;
2012
+ }
2013
+ return false;
2014
+ }
2015
+
2016
+ handler = events[type];
2017
+
2018
+ if (!handler)
2019
+ return false;
2020
+
2021
+ var isFn = typeof handler === 'function';
2022
+ len = arguments.length;
2023
+ switch (len) {
2024
+ // fast cases
2025
+ case 1:
2026
+ emitNone(handler, isFn, this);
2027
+ break;
2028
+ case 2:
2029
+ emitOne(handler, isFn, this, arguments[1]);
2030
+ break;
2031
+ case 3:
2032
+ emitTwo(handler, isFn, this, arguments[1], arguments[2]);
2033
+ break;
2034
+ case 4:
2035
+ emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]);
2036
+ break;
2037
+ // slower
2038
+ default:
2039
+ args = new Array(len - 1);
2040
+ for (i = 1; i < len; i++)
2041
+ args[i - 1] = arguments[i];
2042
+ emitMany(handler, isFn, this, args);
2043
+ }
2044
+
2045
+ return true;
2046
+ };
2047
+
2048
+ function _addListener$1$1(target, type, listener, prepend) {
2049
+ var m;
2050
+ var events;
2051
+ var existing;
2052
+
2053
+ if (typeof listener !== 'function')
2054
+ throw new TypeError('"listener" argument must be a function');
2055
+
2056
+ events = target._events;
2057
+ if (!events) {
2058
+ events = target._events = new EventHandlers();
2059
+ target._eventsCount = 0;
2060
+ } else {
2061
+ // To avoid recursion in the case that type === "newListener"! Before
2062
+ // adding it to the listeners, first emit "newListener".
2063
+ if (events.newListener) {
2064
+ target.emit('newListener', type,
2065
+ listener.listener ? listener.listener : listener);
2066
+
2067
+ // Re-assign `events` because a newListener handler could have caused the
2068
+ // this._events to be assigned to a new object
2069
+ events = target._events;
2070
+ }
2071
+ existing = events[type];
2072
+ }
2073
+
2074
+ if (!existing) {
2075
+ // Optimize the case of one listener. Don't need the extra array object.
2076
+ existing = events[type] = listener;
2077
+ ++target._eventsCount;
2078
+ } else {
2079
+ if (typeof existing === 'function') {
2080
+ // Adding the second element, need to change to array.
2081
+ existing = events[type] = prepend ? [listener, existing] :
2082
+ [existing, listener];
2083
+ } else {
2084
+ // If we've already got an array, just append.
2085
+ if (prepend) {
2086
+ existing.unshift(listener);
2087
+ } else {
2088
+ existing.push(listener);
2089
+ }
2090
+ }
2091
+
2092
+ // Check for listener leak
2093
+ if (!existing.warned) {
2094
+ m = $getMaxListeners(target);
2095
+ if (m && m > 0 && existing.length > m) {
2096
+ existing.warned = true;
2097
+ var w = new Error('Possible EventEmitter memory leak detected. ' +
2098
+ existing.length + ' ' + type + ' listeners added. ' +
2099
+ 'Use emitter.setMaxListeners() to increase limit');
2100
+ w.name = 'MaxListenersExceededWarning';
2101
+ w.emitter = target;
2102
+ w.type = type;
2103
+ w.count = existing.length;
2104
+ emitWarning(w);
2105
+ }
2106
+ }
2107
+ }
2108
+
2109
+ return target;
2110
+ }
2111
+ function emitWarning(e) {
2112
+ typeof console.warn === 'function' ? console.warn(e) : console.log(e);
2113
+ }
2114
+ EventEmitter$2$1.prototype.addListener = function addListener(type, listener) {
2115
+ return _addListener$1$1(this, type, listener, false);
2116
+ };
2117
+
2118
+ EventEmitter$2$1.prototype.on = EventEmitter$2$1.prototype.addListener;
2119
+
2120
+ EventEmitter$2$1.prototype.prependListener =
2121
+ function prependListener(type, listener) {
2122
+ return _addListener$1$1(this, type, listener, true);
2123
+ };
2124
+
2125
+ function _onceWrap$1$1(target, type, listener) {
2126
+ var fired = false;
2127
+ function g() {
2128
+ target.removeListener(type, g);
2129
+ if (!fired) {
2130
+ fired = true;
2131
+ listener.apply(target, arguments);
2132
+ }
2133
+ }
2134
+ g.listener = listener;
2135
+ return g;
2136
+ }
2137
+
2138
+ EventEmitter$2$1.prototype.once = function once(type, listener) {
2139
+ if (typeof listener !== 'function')
2140
+ throw new TypeError('"listener" argument must be a function');
2141
+ this.on(type, _onceWrap$1$1(this, type, listener));
2142
+ return this;
2143
+ };
2144
+
2145
+ EventEmitter$2$1.prototype.prependOnceListener =
2146
+ function prependOnceListener(type, listener) {
2147
+ if (typeof listener !== 'function')
2148
+ throw new TypeError('"listener" argument must be a function');
2149
+ this.prependListener(type, _onceWrap$1$1(this, type, listener));
2150
+ return this;
2151
+ };
2152
+
2153
+ // emits a 'removeListener' event iff the listener was removed
2154
+ EventEmitter$2$1.prototype.removeListener =
2155
+ function removeListener(type, listener) {
2156
+ var list, events, position, i, originalListener;
2157
+
2158
+ if (typeof listener !== 'function')
2159
+ throw new TypeError('"listener" argument must be a function');
2160
+
2161
+ events = this._events;
2162
+ if (!events)
2163
+ return this;
2164
+
2165
+ list = events[type];
2166
+ if (!list)
2167
+ return this;
2168
+
2169
+ if (list === listener || (list.listener && list.listener === listener)) {
2170
+ if (--this._eventsCount === 0)
2171
+ this._events = new EventHandlers();
2172
+ else {
2173
+ delete events[type];
2174
+ if (events.removeListener)
2175
+ this.emit('removeListener', type, list.listener || listener);
2176
+ }
2177
+ } else if (typeof list !== 'function') {
2178
+ position = -1;
2179
+
2180
+ for (i = list.length; i-- > 0;) {
2181
+ if (list[i] === listener ||
2182
+ (list[i].listener && list[i].listener === listener)) {
2183
+ originalListener = list[i].listener;
2184
+ position = i;
2185
+ break;
2186
+ }
2187
+ }
2188
+
2189
+ if (position < 0)
2190
+ return this;
2191
+
2192
+ if (list.length === 1) {
2193
+ list[0] = undefined;
2194
+ if (--this._eventsCount === 0) {
2195
+ this._events = new EventHandlers();
2196
+ return this;
2197
+ } else {
2198
+ delete events[type];
2199
+ }
2200
+ } else {
2201
+ spliceOne$1$1(list, position);
2202
+ }
2203
+
2204
+ if (events.removeListener)
2205
+ this.emit('removeListener', type, originalListener || listener);
2206
+ }
2207
+
2208
+ return this;
2209
+ };
2210
+
2211
+ // Alias for removeListener added in NodeJS 10.0
2212
+ // https://nodejs.org/api/events.html#events_emitter_off_eventname_listener
2213
+ EventEmitter$2$1.prototype.off = function(type, listener){
2214
+ return this.removeListener(type, listener);
2215
+ };
2216
+
2217
+ EventEmitter$2$1.prototype.removeAllListeners =
2218
+ function removeAllListeners(type) {
2219
+ var listeners, events;
2220
+
2221
+ events = this._events;
2222
+ if (!events)
2223
+ return this;
2224
+
2225
+ // not listening for removeListener, no need to emit
2226
+ if (!events.removeListener) {
2227
+ if (arguments.length === 0) {
2228
+ this._events = new EventHandlers();
2229
+ this._eventsCount = 0;
2230
+ } else if (events[type]) {
2231
+ if (--this._eventsCount === 0)
2232
+ this._events = new EventHandlers();
2233
+ else
2234
+ delete events[type];
2235
+ }
2236
+ return this;
2237
+ }
2238
+
2239
+ // emit removeListener for all listeners on all events
2240
+ if (arguments.length === 0) {
2241
+ var keys = Object.keys(events);
2242
+ for (var i = 0, key; i < keys.length; ++i) {
2243
+ key = keys[i];
2244
+ if (key === 'removeListener') continue;
2245
+ this.removeAllListeners(key);
2246
+ }
2247
+ this.removeAllListeners('removeListener');
2248
+ this._events = new EventHandlers();
2249
+ this._eventsCount = 0;
2250
+ return this;
2251
+ }
2252
+
2253
+ listeners = events[type];
2254
+
2255
+ if (typeof listeners === 'function') {
2256
+ this.removeListener(type, listeners);
2257
+ } else if (listeners) {
2258
+ // LIFO order
2259
+ do {
2260
+ this.removeListener(type, listeners[listeners.length - 1]);
2261
+ } while (listeners[0]);
2262
+ }
2263
+
2264
+ return this;
2265
+ };
2266
+
2267
+ EventEmitter$2$1.prototype.listeners = function listeners(type) {
2268
+ var evlistener;
2269
+ var ret;
2270
+ var events = this._events;
2271
+
2272
+ if (!events)
2273
+ ret = [];
2274
+ else {
2275
+ evlistener = events[type];
2276
+ if (!evlistener)
2277
+ ret = [];
2278
+ else if (typeof evlistener === 'function')
2279
+ ret = [evlistener.listener || evlistener];
2280
+ else
2281
+ ret = unwrapListeners$1$1(evlistener);
2282
+ }
2283
+
2284
+ return ret;
2285
+ };
2286
+
2287
+ EventEmitter$2$1.listenerCount = function(emitter, type) {
2288
+ if (typeof emitter.listenerCount === 'function') {
2289
+ return emitter.listenerCount(type);
2290
+ } else {
2291
+ return listenerCount$1$1.call(emitter, type);
2292
+ }
2293
+ };
2294
+
2295
+ EventEmitter$2$1.prototype.listenerCount = listenerCount$1$1;
2296
+ function listenerCount$1$1(type) {
2297
+ var events = this._events;
2298
+
2299
+ if (events) {
2300
+ var evlistener = events[type];
2301
+
2302
+ if (typeof evlistener === 'function') {
2303
+ return 1;
2304
+ } else if (evlistener) {
2305
+ return evlistener.length;
2306
+ }
2307
+ }
2308
+
2309
+ return 0;
2310
+ }
2311
+
2312
+ EventEmitter$2$1.prototype.eventNames = function eventNames() {
2313
+ return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];
2314
+ };
2315
+
2316
+ // About 1.5x faster than the two-arg version of Array#splice().
2317
+ function spliceOne$1$1(list, index) {
2318
+ for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)
2319
+ list[i] = list[k];
2320
+ list.pop();
2321
+ }
2322
+
2323
+ function arrayClone$1$1(arr, i) {
2324
+ var copy = new Array(i);
2325
+ while (i--)
2326
+ copy[i] = arr[i];
2327
+ return copy;
2328
+ }
2329
+
2330
+ function unwrapListeners$1$1(arr) {
2331
+ var ret = new Array(arr.length);
2332
+ for (var i = 0; i < ret.length; ++i) {
2333
+ ret[i] = arr[i].listener || arr[i];
2334
+ }
2335
+ return ret;
2336
+ }
2337
+
1866
2338
  var commonjsGlobal$3 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
1867
2339
 
1868
2340
  function getDefaultExportFromCjs$1 (x) {
@@ -1884,6 +2356,12 @@ var BrowserName$1;
1884
2356
  BrowserName["EDGE"] = "Microsoft Edge";
1885
2357
  BrowserName["SAFARI"] = "Safari";
1886
2358
  })(BrowserName$1 || (BrowserName$1 = {}));
2359
+ var OSName$1;
2360
+ (function (OSName) {
2361
+ OSName["WINDOWS"] = "Windows";
2362
+ OSName["MAC"] = "macOS";
2363
+ OSName["LINUX"] = "Linux";
2364
+ })(OSName$1 || (OSName$1 = {}));
1887
2365
  class BrowserInfo$1 {
1888
2366
  static getBrowserDetails() {
1889
2367
  return this.browser.getBrowser();
@@ -1909,6 +2387,15 @@ class BrowserInfo$1 {
1909
2387
  static isSafari() {
1910
2388
  return this.browser.getBrowserName() === BrowserName$1.SAFARI;
1911
2389
  }
2390
+ static isWindows() {
2391
+ return this.browser.getOSName() === OSName$1.WINDOWS;
2392
+ }
2393
+ static isMac() {
2394
+ return this.browser.getOSName() === OSName$1.MAC;
2395
+ }
2396
+ static isLinux() {
2397
+ return this.browser.getOSName() === OSName$1.LINUX;
2398
+ }
1912
2399
  static isVersionGreaterThan(version) {
1913
2400
  const browserName = this.browser.getBrowserName();
1914
2401
  const checkTree = { [browserName]: `>${version}` };
@@ -1937,12 +2424,44 @@ class BrowserInfo$1 {
1937
2424
  }
1938
2425
  BrowserInfo$1.browser = Bowser$1.getParser(window.navigator.userAgent);
1939
2426
 
2427
+ var SystemInfoEvents$1;
2428
+ (function (SystemInfoEvents) {
2429
+ SystemInfoEvents["CpuPressureStateChange"] = "cpu-pressure-state-change";
2430
+ })(SystemInfoEvents$1 || (SystemInfoEvents$1 = {}));
2431
+ class PressureObserverHelper$1 extends EventEmitter$2$1 {
2432
+ constructor() {
2433
+ super();
2434
+ this.lastCpuPressure = undefined;
2435
+ if (PressureObserverHelper$1.isPressureObserverSupported()) {
2436
+ this.observer = new PressureObserver(this.handleStateChange.bind(this));
2437
+ if (this.observer) {
2438
+ this.observer.observe('cpu');
2439
+ }
2440
+ }
2441
+ }
2442
+ handleStateChange(records) {
2443
+ records.forEach((record) => {
2444
+ if (record.source === 'cpu' && record.state !== this.lastCpuPressure) {
2445
+ this.lastCpuPressure = record.state;
2446
+ this.emit(SystemInfoEvents$1.CpuPressureStateChange, record.state);
2447
+ }
2448
+ });
2449
+ }
2450
+ getCpuPressure() {
2451
+ return this.lastCpuPressure;
2452
+ }
2453
+ static isPressureObserverSupported() {
2454
+ return 'PressureObserver' in window;
2455
+ }
2456
+ }
2457
+ new PressureObserverHelper$1();
2458
+
1940
2459
  var CapabilityState$1;
1941
2460
  (function (CapabilityState) {
1942
2461
  CapabilityState["NOT_CAPABLE"] = "not capable";
1943
2462
  CapabilityState["CAPABLE"] = "capable";
1944
2463
  CapabilityState["UNKNOWN"] = "unknown";
1945
- })(CapabilityState$1 || (CapabilityState$1 = {}));
2464
+ })(CapabilityState$1 || (CapabilityState$1 = {}));
1946
2465
 
1947
2466
  var events$2 = {exports: {}};
1948
2467
 
@@ -2078,7 +2597,7 @@ EventEmitter$1$2.prototype.emit = function emit(type) {
2078
2597
  ReflectApply$2(handler, this, args);
2079
2598
  } else {
2080
2599
  var len = handler.length;
2081
- var listeners = arrayClone$2(handler, len);
2600
+ var listeners = arrayClone$3(handler, len);
2082
2601
  for (var i = 0; i < len; ++i)
2083
2602
  ReflectApply$2(listeners[i], this, args);
2084
2603
  }
@@ -2086,7 +2605,7 @@ EventEmitter$1$2.prototype.emit = function emit(type) {
2086
2605
  return true;
2087
2606
  };
2088
2607
 
2089
- function _addListener$2(target, type, listener, prepend) {
2608
+ function _addListener$3(target, type, listener, prepend) {
2090
2609
  var m;
2091
2610
  var events;
2092
2611
  var existing;
@@ -2149,14 +2668,14 @@ function _addListener$2(target, type, listener, prepend) {
2149
2668
  }
2150
2669
 
2151
2670
  EventEmitter$1$2.prototype.addListener = function addListener(type, listener) {
2152
- return _addListener$2(this, type, listener, false);
2671
+ return _addListener$3(this, type, listener, false);
2153
2672
  };
2154
2673
 
2155
2674
  EventEmitter$1$2.prototype.on = EventEmitter$1$2.prototype.addListener;
2156
2675
 
2157
2676
  EventEmitter$1$2.prototype.prependListener =
2158
2677
  function prependListener(type, listener) {
2159
- return _addListener$2(this, type, listener, true);
2678
+ return _addListener$3(this, type, listener, true);
2160
2679
  };
2161
2680
 
2162
2681
  function onceWrapper$2() {
@@ -2169,7 +2688,7 @@ function onceWrapper$2() {
2169
2688
  }
2170
2689
  }
2171
2690
 
2172
- function _onceWrap$2(target, type, listener) {
2691
+ function _onceWrap$3(target, type, listener) {
2173
2692
  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
2174
2693
  var wrapped = onceWrapper$2.bind(state);
2175
2694
  wrapped.listener = listener;
@@ -2179,14 +2698,14 @@ function _onceWrap$2(target, type, listener) {
2179
2698
 
2180
2699
  EventEmitter$1$2.prototype.once = function once(type, listener) {
2181
2700
  checkListener$2(listener);
2182
- this.on(type, _onceWrap$2(this, type, listener));
2701
+ this.on(type, _onceWrap$3(this, type, listener));
2183
2702
  return this;
2184
2703
  };
2185
2704
 
2186
2705
  EventEmitter$1$2.prototype.prependOnceListener =
2187
2706
  function prependOnceListener(type, listener) {
2188
2707
  checkListener$2(listener);
2189
- this.prependListener(type, _onceWrap$2(this, type, listener));
2708
+ this.prependListener(type, _onceWrap$3(this, type, listener));
2190
2709
  return this;
2191
2710
  };
2192
2711
 
@@ -2230,7 +2749,7 @@ EventEmitter$1$2.prototype.removeListener =
2230
2749
  if (position === 0)
2231
2750
  list.shift();
2232
2751
  else {
2233
- spliceOne$2(list, position);
2752
+ spliceOne$3(list, position);
2234
2753
  }
2235
2754
 
2236
2755
  if (list.length === 1)
@@ -2310,7 +2829,7 @@ function _listeners$2(target, type, unwrap) {
2310
2829
  return unwrap ? [evlistener.listener || evlistener] : [evlistener];
2311
2830
 
2312
2831
  return unwrap ?
2313
- unwrapListeners$2(evlistener) : arrayClone$2(evlistener, evlistener.length);
2832
+ unwrapListeners$3(evlistener) : arrayClone$3(evlistener, evlistener.length);
2314
2833
  }
2315
2834
 
2316
2835
  EventEmitter$1$2.prototype.listeners = function listeners(type) {
@@ -2325,12 +2844,12 @@ EventEmitter$1$2.listenerCount = function(emitter, type) {
2325
2844
  if (typeof emitter.listenerCount === 'function') {
2326
2845
  return emitter.listenerCount(type);
2327
2846
  } else {
2328
- return listenerCount$2.call(emitter, type);
2847
+ return listenerCount$3.call(emitter, type);
2329
2848
  }
2330
2849
  };
2331
2850
 
2332
- EventEmitter$1$2.prototype.listenerCount = listenerCount$2;
2333
- function listenerCount$2(type) {
2851
+ EventEmitter$1$2.prototype.listenerCount = listenerCount$3;
2852
+ function listenerCount$3(type) {
2334
2853
  var events = this._events;
2335
2854
 
2336
2855
  if (events !== undefined) {
@@ -2350,20 +2869,20 @@ EventEmitter$1$2.prototype.eventNames = function eventNames() {
2350
2869
  return this._eventsCount > 0 ? ReflectOwnKeys$2(this._events) : [];
2351
2870
  };
2352
2871
 
2353
- function arrayClone$2(arr, n) {
2872
+ function arrayClone$3(arr, n) {
2354
2873
  var copy = new Array(n);
2355
2874
  for (var i = 0; i < n; ++i)
2356
2875
  copy[i] = arr[i];
2357
2876
  return copy;
2358
2877
  }
2359
2878
 
2360
- function spliceOne$2(list, index) {
2879
+ function spliceOne$3(list, index) {
2361
2880
  for (; index + 1 < list.length; index++)
2362
2881
  list[index] = list[index + 1];
2363
2882
  list.pop();
2364
2883
  }
2365
2884
 
2366
- function unwrapListeners$2(arr) {
2885
+ function unwrapListeners$3(arr) {
2367
2886
  var ret = new Array(arr.length);
2368
2887
  for (var i = 0; i < ret.length; ++i) {
2369
2888
  ret[i] = arr[i].listener || arr[i];
@@ -6064,7 +6583,7 @@ class PeerConnection extends EventEmitter$4 {
6064
6583
  * other peer.
6065
6584
  */
6066
6585
  createAnswer(options) {
6067
- return __awaiter$2(this, void 0, void 0, function* () {
6586
+ return __awaiter$1(this, void 0, void 0, function* () {
6068
6587
  return this.pc.createAnswer(options).then((answer) => {
6069
6588
  this.emit(PeerConnection.Events.CreateAnswerOnSuccess, answer);
6070
6589
  return answer;
@@ -6082,7 +6601,7 @@ class PeerConnection extends EventEmitter$4 {
6082
6601
  * That received offer should be delivered through the signaling server to a remote peer.
6083
6602
  */
6084
6603
  createOffer(options) {
6085
- return __awaiter$2(this, void 0, void 0, function* () {
6604
+ return __awaiter$1(this, void 0, void 0, function* () {
6086
6605
  return this.pc.createOffer(options).then((offer) => {
6087
6606
  this.emit(PeerConnection.Events.CreateOfferOnSuccess, offer);
6088
6607
  return offer;
@@ -6098,7 +6617,7 @@ class PeerConnection extends EventEmitter$4 {
6098
6617
  * successfully changed or rejected if the change cannot be applied.
6099
6618
  */
6100
6619
  setLocalDescription(description) {
6101
- return __awaiter$2(this, void 0, void 0, function* () {
6620
+ return __awaiter$1(this, void 0, void 0, function* () {
6102
6621
  var _a;
6103
6622
  // In Firefox, setLocalDescription will not throw an error if an m-line has no codecs, even
6104
6623
  // though it violates https://datatracker.ietf.org/doc/html/rfc8866. See
@@ -6128,7 +6647,7 @@ class PeerConnection extends EventEmitter$4 {
6128
6647
  * specified description is incompatible with one or both of the peers on the connection).
6129
6648
  */
6130
6649
  setRemoteDescription(description) {
6131
- return __awaiter$2(this, void 0, void 0, function* () {
6650
+ return __awaiter$1(this, void 0, void 0, function* () {
6132
6651
  return this.pc.setRemoteDescription(description).then(() => {
6133
6652
  this.emit(PeerConnection.Events.SetRemoteDescriptionOnSuccess, description);
6134
6653
  });
@@ -6203,7 +6722,7 @@ class PeerConnection extends EventEmitter$4 {
6203
6722
  * @returns The connection type which would be `ConnectionType`.
6204
6723
  */
6205
6724
  getCurrentConnectionType() {
6206
- return __awaiter$2(this, void 0, void 0, function* () {
6725
+ return __awaiter$1(this, void 0, void 0, function* () {
6207
6726
  var _a;
6208
6727
  // make sure this method only can be called when the ice connection is established;
6209
6728
  const isIceConnected = this.pc.iceConnectionState === 'connected' || this.pc.iceConnectionState === 'completed';
@@ -7658,7 +8177,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
7658
8177
  PERFORMANCE OF THIS SOFTWARE.
7659
8178
  ***************************************************************************** */
7660
8179
 
7661
- function __awaiter$1(thisArg, _arguments, P, generator) {
8180
+ function __awaiter(thisArg, _arguments, P, generator) {
7662
8181
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7663
8182
  return new (P || (P = Promise))(function (resolve, reject) {
7664
8183
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -7668,53 +8187,15 @@ function __awaiter$1(thisArg, _arguments, P, generator) {
7668
8187
  });
7669
8188
  }
7670
8189
 
7671
- var rtcstats = {};
7672
-
7673
- var __awaiter = (commonjsGlobal$1 && commonjsGlobal$1.__awaiter) || function (thisArg, _arguments, P, generator) {
7674
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7675
- return new (P || (P = Promise))(function (resolve, reject) {
7676
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7677
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7678
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7679
- step((generator = generator.apply(thisArg, _arguments || [])).next());
7680
- });
7681
- };
7682
- var __generator = (commonjsGlobal$1 && commonjsGlobal$1.__generator) || function (thisArg, body) {
7683
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7684
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7685
- function verb(n) { return function (v) { return step([n, v]); }; }
7686
- function step(op) {
7687
- if (f) throw new TypeError("Generator is already executing.");
7688
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
7689
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
7690
- if (y = 0, t) op = [op[0] & 2, t.value];
7691
- switch (op[0]) {
7692
- case 0: case 1: t = op; break;
7693
- case 4: _.label++; return { value: op[1], done: false };
7694
- case 5: _.label++; y = op[1]; op = [0]; continue;
7695
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
7696
- default:
7697
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
7698
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
7699
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
7700
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
7701
- if (t[2]) _.ops.pop();
7702
- _.trys.pop(); continue;
7703
- }
7704
- op = body.call(thisArg, _);
7705
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
7706
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
7707
- }
7708
- };
7709
- Object.defineProperty(rtcstats, "__esModule", { value: true });
7710
- var rtcStats_1 = rtcstats.rtcStats = void 0;
8190
+ // @todo WEBEX-425803: fix types issues with inline ts-ignore rules.
8191
+ // @see https://jira-eng-gpk2.cisco.com/jira/browse/WEBEX-425803
7711
8192
  /**
7712
8193
  * Copies values of any nested depth.
7713
8194
  *
7714
8195
  * @param value - The value to be copied.
7715
8196
  * @returns - Copied value.
7716
8197
  */
7717
- var deepCopy$1 = function (value) { return JSON.parse(JSON.stringify(value)); };
8198
+ const deepCopy$1 = (value) => JSON.parse(JSON.stringify(value));
7718
8199
  /**
7719
8200
  * Check deep equality between two values.
7720
8201
  *
@@ -7722,7 +8203,7 @@ var deepCopy$1 = function (value) { return JSON.parse(JSON.stringify(value)); };
7722
8203
  * @param value2 - Second value to check.
7723
8204
  * @returns True if values are deeply equal, false otherwise.
7724
8205
  */
7725
- var deepEqual = function (value1, value2) {
8206
+ const deepEqual = (value1, value2) => {
7726
8207
  // If both immutable values are equal, return true.
7727
8208
  if (value1 === value2) {
7728
8209
  return true;
@@ -7737,8 +8218,10 @@ var deepEqual = function (value1, value2) {
7737
8218
  }
7738
8219
  // Deep equal check each property in the object, returns true if we found no
7739
8220
  // differing properties.
7740
- return Object.keys(value1).reduce(function (val, prop) {
8221
+ return Object.keys(value1).reduce((val, prop) => {
8222
+ // @ts-ignore
7741
8223
  if (value2[prop]) {
8224
+ // @ts-ignore
7742
8225
  if (!deepEqual(value1[prop], value2[prop])) {
7743
8226
  return false;
7744
8227
  }
@@ -7758,38 +8241,36 @@ var deepEqual = function (value1, value2) {
7758
8241
  * @param report - The report in Map form.
7759
8242
  * @returns - A deduped object.
7760
8243
  */
7761
- var map2obj = function (report) {
8244
+ const map2obj = (report) => {
7762
8245
  if (!report.size) {
7763
8246
  return report;
7764
8247
  }
7765
- var o = {};
7766
- report.forEach(function (value, key) {
8248
+ const o = {};
8249
+ report.forEach((value, key) => {
8250
+ // @ts-ignore
7767
8251
  o[key] = value;
7768
8252
  });
7769
8253
  return o;
7770
8254
  };
7771
- var dumpStream = function (stream) { return ({
8255
+ const dumpStream = (stream) => ({
7772
8256
  id: stream.id,
7773
- tracks: stream.getTracks().map(function (track) { return ({
8257
+ tracks: stream.getTracks().map((track) => ({
7774
8258
  id: track.id,
7775
8259
  kind: track.kind,
7776
8260
  label: track.label,
7777
8261
  enabled: track.enabled,
7778
8262
  muted: track.muted,
7779
8263
  readyState: track.readyState,
7780
- }); }),
7781
- }); };
7782
- var persistedKeys = ['type', 'id', 'timestamp'];
8264
+ })),
8265
+ });
8266
+ const persistedKeys = ['type', 'id', 'timestamp'];
7783
8267
  /**
7784
8268
  * Check to see if the report consists of more than just the persisted metadata.
7785
8269
  *
7786
8270
  * @param report - The report line being checked.
7787
8271
  * @returns True if the report item contains non-persisted keys, false otherwise.
7788
8272
  */
7789
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7790
- var hasNonMetadata = function (report) {
7791
- return !!Object.keys(report).filter(function (key) { return !persistedKeys.includes(key); }).length;
7792
- };
8273
+ const hasNonMetadata = (report) => !!Object.keys(report).filter((key) => !persistedKeys.includes(key)).length;
7793
8274
  /**
7794
8275
  * Apply a delta compression to the stats report. Reduces size by ~90%.
7795
8276
  * To reduce further, report keys could be compressed.
@@ -7798,35 +8279,42 @@ var hasNonMetadata = function (report) {
7798
8279
  * @param newStats - New incoming stats.
7799
8280
  * @returns - Compressed Stats.
7800
8281
  */
7801
- var deltaCompression = function (oldStats, newStats) {
7802
- var updatedStats = deepCopy$1(newStats);
7803
- Object.keys(updatedStats).forEach(function (id) {
7804
- var report = updatedStats[id];
8282
+ const deltaCompression = (oldStats, newStats) => {
8283
+ const updatedStats = deepCopy$1(newStats);
8284
+ Object.keys(updatedStats).forEach((id) => {
8285
+ // @ts-ignore
8286
+ const report = updatedStats[id];
8287
+ // @ts-ignore
7805
8288
  if (!oldStats[id]) {
7806
8289
  return;
7807
8290
  }
7808
8291
  // Persist specific values beyond delta compression, as long as they
7809
8292
  // aren't the only non-deduped keys.
7810
- Object.keys(report).forEach(function (name) {
8293
+ Object.keys(report).forEach((name) => {
8294
+ // @ts-ignore
7811
8295
  if (deepEqual(report[name], oldStats[id][name]) && !persistedKeys.includes(name)) {
8296
+ // @ts-ignore
7812
8297
  delete updatedStats[id][name];
7813
8298
  }
7814
8299
  if (!hasNonMetadata(report)) {
8300
+ // @ts-ignore
7815
8301
  delete updatedStats[id];
7816
8302
  }
7817
8303
  });
7818
8304
  });
7819
8305
  // Use the most recent timestamp.
7820
- var timestamp = -Infinity;
7821
- Object.keys(updatedStats).forEach(function (id) {
7822
- var report = updatedStats[id];
8306
+ let timestamp = -Infinity;
8307
+ Object.keys(updatedStats).forEach((id) => {
8308
+ // @ts-ignore
8309
+ const report = updatedStats[id];
7823
8310
  if (report.timestamp > timestamp) {
7824
8311
  timestamp = report.timestamp;
7825
8312
  }
7826
8313
  });
7827
8314
  // Delete the timestamps on each item.
7828
- Object.keys(updatedStats).forEach(function (id) {
7829
- var report = updatedStats[id];
8315
+ Object.keys(updatedStats).forEach((id) => {
8316
+ // @ts-ignore
8317
+ const report = updatedStats[id];
7830
8318
  if (report.timestamp === timestamp) {
7831
8319
  delete report.timestamp;
7832
8320
  }
@@ -7840,10 +8328,11 @@ var deltaCompression = function (oldStats, newStats) {
7840
8328
  * @param report - A WebRTC stats report.
7841
8329
  * @returns - An array of Stats Report items.
7842
8330
  */
7843
- var formatStatsReport = function (report) {
7844
- return Object.keys(report)
7845
- .filter(function (name) { return name !== 'timestamp'; })
7846
- .map(function (name) { return JSON.stringify(report[name]); });
8331
+ const formatStatsReport = (report) => {
8332
+ return (Object.keys(report)
8333
+ .filter((name) => name !== 'timestamp')
8334
+ // @ts-ignore
8335
+ .map((name) => JSON.stringify(report[name])));
7847
8336
  };
7848
8337
  /**
7849
8338
  * Parametrize a single string event to contain type and an (empty) id.
@@ -7851,7 +8340,7 @@ var formatStatsReport = function (report) {
7851
8340
  * @param value - The value to parametrize.
7852
8341
  * @returns An event object.
7853
8342
  */
7854
- var makeEvent = function (value) { return [JSON.stringify({ value: value, type: 'string', id: '' })]; };
8343
+ const makeEvent = (value) => [JSON.stringify({ value, type: 'string', id: '' })];
7855
8344
  /**
7856
8345
  * Attach a Peer Connection to periodically get updated on events and stats.
7857
8346
  *
@@ -7860,9 +8349,10 @@ var makeEvent = function (value) { return [JSON.stringify({ value: value, type:
7860
8349
  * @param intervalTime - Time between each `getStats` check.
7861
8350
  * @param statsPreProcessor - Optional function that modifies stats.
7862
8351
  */
7863
- var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
7864
- if (statsPreProcessor === void 0) { statsPreProcessor = function () { return Promise.resolve(); }; }
7865
- var prev = {};
8352
+ const rtcStats = (pc, logger, intervalTime,
8353
+ // eslint-disable-next-line no-unused-vars
8354
+ statsPreProcessor = () => Promise.resolve()) => {
8355
+ let prev = {};
7866
8356
  /**
7867
8357
  * Log stats or event data with additional tracking information.
7868
8358
  *
@@ -7870,131 +8360,143 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
7870
8360
  * @param payload - Log data pertaining to the event.
7871
8361
  * @param timestamp - Time the event happened in milliseconds.
7872
8362
  */
7873
- var trace = function (name, payload, timestamp) {
7874
- logger({ timestamp: timestamp ? Math.round(timestamp) : Date.now(), name: name, payload: payload });
8363
+ const trace = (name, payload, timestamp) => {
8364
+ logger({ timestamp: timestamp ? Math.round(timestamp) : Date.now(), name, payload });
7875
8365
  };
7876
8366
  trace('rtcConfiguration', makeEvent(JSON.stringify(pc.getConfiguration())));
7877
- var origPeerConnection = window.RTCPeerConnection;
7878
- pc.addEventListener('icecandidate', function (e) {
8367
+ const origPeerConnection = window.RTCPeerConnection;
8368
+ pc.addEventListener('icecandidate', (e) => {
7879
8369
  if (e.candidate) {
7880
8370
  trace('onicecandidate', makeEvent(JSON.stringify(e.candidate)));
7881
8371
  }
7882
8372
  });
7883
- pc.addEventListener('icecandidateerror', function (event) {
7884
- var url = event.url, errorCode = event.errorCode, errorText = event.errorText;
7885
- trace('onicecandidateerror', makeEvent("[".concat(url, "] ").concat(errorCode, ": ").concat(errorText)));
8373
+ pc.addEventListener('icecandidateerror', (event) => {
8374
+ const { url, errorCode, errorText } = event;
8375
+ trace('onicecandidateerror', makeEvent(`[${url}] ${errorCode}: ${errorText}`));
7886
8376
  });
7887
- pc.addEventListener('track', function (e) {
7888
- trace('ontrack', makeEvent("".concat(e.track.kind, ":").concat(e.track.id, " ").concat(e.streams
7889
- .map(function (stream) { return "stream:".concat(stream.id); })
7890
- .join(' '))));
8377
+ pc.addEventListener('track', (e) => {
8378
+ trace('ontrack', makeEvent(`${e.track.kind}:${e.track.id} ${e.streams
8379
+ .map((stream) => `stream:${stream.id}`)
8380
+ .join(' ')}`));
7891
8381
  });
7892
- pc.addEventListener('signalingstatechange', function () {
8382
+ pc.addEventListener('signalingstatechange', () => {
7893
8383
  trace('onsignalingstatechange', makeEvent(pc.signalingState));
7894
8384
  });
7895
- pc.addEventListener('iceconnectionstatechange', function () {
8385
+ pc.addEventListener('iceconnectionstatechange', () => {
7896
8386
  trace('oniceconnectionstatechange', makeEvent(pc.iceConnectionState));
7897
8387
  });
7898
- pc.addEventListener('icegatheringstatechange', function () {
8388
+ pc.addEventListener('icegatheringstatechange', () => {
7899
8389
  trace('onicegatheringstatechange', makeEvent(pc.iceGatheringState));
7900
8390
  });
7901
- pc.addEventListener('connectionstatechange', function () {
8391
+ pc.addEventListener('connectionstatechange', () => {
7902
8392
  trace('onconnectionstatechange', makeEvent(pc.connectionState));
7903
8393
  });
7904
- pc.addEventListener('negotiationneeded', function () {
8394
+ pc.addEventListener('negotiationneeded', () => {
7905
8395
  trace('onnegotiationneeded', makeEvent('negotiationneeded'));
7906
8396
  });
7907
- pc.addEventListener('datachannel', function (event) {
7908
- trace('ondatachannel', makeEvent("".concat(event.channel.id, ": ").concat(event.channel.label)));
8397
+ pc.addEventListener('datachannel', (event) => {
8398
+ trace('ondatachannel', makeEvent(`${event.channel.id}: ${event.channel.label}`));
7909
8399
  });
7910
- ['close'].forEach(function (method) {
7911
- var nativeMethod = origPeerConnection.prototype[method];
8400
+ ['close'].forEach((method) => {
8401
+ // @ts-ignore
8402
+ const nativeMethod = origPeerConnection.prototype[method];
7912
8403
  if (nativeMethod) {
8404
+ // @ts-ignore
7913
8405
  origPeerConnection.prototype[method] = function () {
7914
- trace("on".concat(method), makeEvent(method));
8406
+ trace(`on${method}`, makeEvent(method));
7915
8407
  return nativeMethod.apply(this, arguments);
7916
8408
  };
7917
8409
  }
7918
8410
  });
7919
- ['createDataChannel'].forEach(function (method) {
7920
- var nativeMethod = origPeerConnection.prototype[method];
8411
+ ['createDataChannel'].forEach((method) => {
8412
+ // @ts-ignore
8413
+ const nativeMethod = origPeerConnection.prototype[method];
7921
8414
  if (nativeMethod) {
8415
+ // @ts-ignore
7922
8416
  origPeerConnection.prototype[method] = function () {
7923
- trace("on".concat(method), makeEvent(method));
7924
- var dataChannel = nativeMethod.apply(this, arguments);
7925
- dataChannel.addEventListener('open', function () {
7926
- trace("ondataChannelOpen", makeEvent("".concat(dataChannel.id, ":").concat(dataChannel.label)));
8417
+ trace(`on${method}`, makeEvent(method));
8418
+ const dataChannel = nativeMethod.apply(this, arguments);
8419
+ dataChannel.addEventListener('open', () => {
8420
+ trace(`ondataChannelOpen`, makeEvent(`${dataChannel.id}:${dataChannel.label}`));
7927
8421
  });
7928
- dataChannel.addEventListener('close', function () {
7929
- trace("ondataChannelClose", makeEvent("".concat(dataChannel.id, ":").concat(dataChannel.label)));
8422
+ dataChannel.addEventListener('close', () => {
8423
+ trace(`ondataChannelClose`, makeEvent(`${dataChannel.id}:${dataChannel.label}`));
7930
8424
  });
7931
- dataChannel.addEventListener('error', function (event) {
7932
- var error = event.error;
7933
- trace("ondataChannelError", makeEvent("".concat(dataChannel.id, ":").concat(dataChannel.label, ": ").concat(error.errorDetail)));
8425
+ dataChannel.addEventListener('error', (event) => {
8426
+ const { error } = event;
8427
+ trace(`ondataChannelError`, makeEvent(`${dataChannel.id}:${dataChannel.label}: ${error.errorDetail}`));
7934
8428
  });
7935
8429
  return dataChannel;
7936
8430
  };
7937
8431
  }
7938
8432
  });
7939
- ['addStream', 'removeStream'].forEach(function (method) {
7940
- var nativeMethod = origPeerConnection.prototype[method];
8433
+ ['addStream', 'removeStream'].forEach((method) => {
8434
+ // @ts-ignore
8435
+ const nativeMethod = origPeerConnection.prototype[method];
7941
8436
  if (nativeMethod) {
8437
+ // @ts-ignore
7942
8438
  origPeerConnection.prototype[method] = function () {
7943
- var stream = arguments[0];
7944
- var streamInfo = stream
8439
+ const stream = arguments[0];
8440
+ const streamInfo = stream
7945
8441
  .getTracks()
7946
- .map(function (t) { return "".concat(t.kind, ":").concat(t.id); })
8442
+ .map((t) => `${t.kind}:${t.id}`)
7947
8443
  .join(',');
7948
- trace("on".concat(method), makeEvent("".concat(stream.id, " ").concat(streamInfo)));
8444
+ trace(`on${method}`, makeEvent(`${stream.id} ${streamInfo}`));
7949
8445
  return nativeMethod.apply(this, arguments);
7950
8446
  };
7951
8447
  }
7952
8448
  });
7953
- ['addTrack'].forEach(function (method) {
7954
- var nativeMethod = origPeerConnection.prototype[method];
8449
+ ['addTrack'].forEach((method) => {
8450
+ // @ts-ignore
8451
+ const nativeMethod = origPeerConnection.prototype[method];
7955
8452
  if (nativeMethod) {
8453
+ // @ts-ignore
7956
8454
  origPeerConnection.prototype[method] = function () {
7957
- var track = arguments[0];
7958
- var streams = [].slice.call(arguments, 1);
7959
- trace("on".concat(method), makeEvent("".concat(track.kind, ":").concat(track.id, " ").concat(streams.map(function (s) { return "stream:".concat(s.id); }).join(';') || '-')));
8455
+ const track = arguments[0];
8456
+ const streams = [].slice.call(arguments, 1);
8457
+ trace(`on${method}`, makeEvent(`${track.kind}:${track.id} ${streams.map((s) => `stream:${s.id}`).join(';') || '-'}`));
7960
8458
  return nativeMethod.apply(this, arguments);
7961
8459
  };
7962
8460
  }
7963
8461
  });
7964
- ['removeTrack'].forEach(function (method) {
7965
- var nativeMethod = origPeerConnection.prototype[method];
8462
+ ['removeTrack'].forEach((method) => {
8463
+ // @ts-ignore
8464
+ const nativeMethod = origPeerConnection.prototype[method];
7966
8465
  if (nativeMethod) {
8466
+ // @ts-ignore
7967
8467
  origPeerConnection.prototype[method] = function () {
7968
- var track = arguments[0].track;
7969
- trace("on".concat(method), makeEvent(track ? "".concat(track.kind, ":").concat(track.id) : 'null'));
8468
+ const track = arguments[0].track;
8469
+ trace(`on${method}`, makeEvent(track ? `${track.kind}:${track.id}` : 'null'));
7970
8470
  return nativeMethod.apply(this, arguments);
7971
8471
  };
7972
8472
  }
7973
8473
  });
7974
- ['createOffer', 'createAnswer'].forEach(function (method) {
7975
- var nativeMethod = origPeerConnection.prototype[method];
8474
+ ['createOffer', 'createAnswer'].forEach((method) => {
8475
+ // @ts-ignore
8476
+ const nativeMethod = origPeerConnection.prototype[method];
7976
8477
  if (nativeMethod) {
8478
+ // @ts-ignore
7977
8479
  origPeerConnection.prototype[method] = function () {
7978
- var opts;
7979
- var args = arguments;
8480
+ let opts;
8481
+ const args = arguments;
7980
8482
  if (arguments.length === 1 && typeof arguments[0] === 'object') {
7981
- // eslint-disable-next-line prefer-destructuring
7982
8483
  opts = arguments[0];
7983
8484
  }
7984
8485
  else if (arguments.length === 3 && typeof arguments[2] === 'object') {
7985
- // eslint-disable-next-line prefer-destructuring
7986
8486
  opts = arguments[2];
7987
8487
  }
7988
- trace("on".concat(method), makeEvent(opts || ''));
7989
- return nativeMethod.apply(this, opts ? [opts] : undefined).then(function (description) {
7990
- trace("on".concat(method, "OnSuccess"), makeEvent(description.sdp));
8488
+ trace(`on${method}`, makeEvent(opts || ''));
8489
+ return nativeMethod.apply(this, opts ? [opts] : undefined).then(
8490
+ // @ts-ignore
8491
+ (description) => {
8492
+ trace(`on${method}OnSuccess`, makeEvent(description.sdp));
7991
8493
  if (args.length > 0 && typeof args[0] === 'function') {
7992
8494
  args[0].apply(null, [description]);
7993
8495
  return undefined;
7994
8496
  }
7995
8497
  return description;
7996
- }, function (err) {
7997
- trace("on".concat(method, "OnFailure"), makeEvent(err.toString()));
8498
+ }, (err) => {
8499
+ trace(`on${method}OnFailure`, makeEvent(err.toString()));
7998
8500
  if (args.length > 1 && typeof args[1] === 'function') {
7999
8501
  args[1].apply(null, [err]);
8000
8502
  return;
@@ -8004,64 +8506,66 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
8004
8506
  };
8005
8507
  }
8006
8508
  });
8007
- ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) {
8008
- var nativeMethod = origPeerConnection.prototype[method];
8509
+ ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach((method) => {
8510
+ // @ts-ignore
8511
+ const nativeMethod = origPeerConnection.prototype[method];
8009
8512
  if (nativeMethod) {
8513
+ // @ts-ignore
8010
8514
  origPeerConnection.prototype[method] = function () {
8011
- var _this = this;
8012
- var args = arguments;
8013
- trace("on".concat(method), makeEvent(method === 'addIceCandidate'
8515
+ const args = arguments;
8516
+ trace(`on${method}`, makeEvent(method === 'addIceCandidate'
8014
8517
  ? arguments[0]
8015
- : (arguments[0] ? arguments[0].sdp : 'undefined')));
8016
- return nativeMethod.apply(this, [arguments[0]]).then(function () {
8518
+ : arguments[0]
8519
+ ? arguments[0].sdp
8520
+ : 'undefined'));
8521
+ return nativeMethod.apply(this, [arguments[0]]).then(() => {
8017
8522
  var _a;
8018
- trace("on".concat(method, "OnSuccess"), makeEvent('success'));
8523
+ trace(`on${method}OnSuccess`, makeEvent('success'));
8019
8524
  if (method.endsWith('Description')) {
8020
- if (!_this.transportEventsPreviouslyAdded) {
8021
- var senders = _this.getSenders();
8022
- var _loop_1 = function (sender) {
8525
+ // @ts-ignore
8526
+ if (!this.transportEventsPreviouslyAdded) {
8527
+ const senders = this.getSenders();
8528
+ for (const sender of senders) {
8023
8529
  if (sender.transport) {
8024
- sender.transport.addEventListener('statechange', function () {
8530
+ sender.transport.addEventListener('statechange', () => {
8025
8531
  if (sender && sender.transport) {
8026
- trace("ondtlsStateChange", makeEvent(sender.transport.state));
8532
+ trace(`ondtlsStateChange`, makeEvent(sender.transport.state));
8027
8533
  }
8028
8534
  });
8029
- sender.transport.addEventListener('error', function (error) {
8030
- var errorEvent = error;
8031
- trace("ondtlsError", makeEvent(errorEvent.error.errorDetail));
8535
+ sender.transport.addEventListener('error', (error) => {
8536
+ const errorEvent = error;
8537
+ trace(`ondtlsError`, makeEvent(errorEvent.error.errorDetail));
8032
8538
  });
8033
8539
  if (sender.transport.iceTransport) {
8034
- sender.transport.iceTransport.addEventListener('selectedcandidatepairchange', function () {
8540
+ sender.transport.iceTransport.addEventListener('selectedcandidatepairchange', () => {
8035
8541
  var _a, _b, _c, _d, _e, _f;
8036
8542
  if (sender.transport && sender.transport.iceTransport) {
8037
- var pair = sender.transport.iceTransport.getSelectedCandidatePair();
8038
- var localCandidate = "".concat((_a = pair === null || pair === void 0 ? void 0 : pair.local) === null || _a === void 0 ? void 0 : _a.address, ":").concat((_b = pair === null || pair === void 0 ? void 0 : pair.local) === null || _b === void 0 ? void 0 : _b.port, "/").concat((_c = pair === null || pair === void 0 ? void 0 : pair.local) === null || _c === void 0 ? void 0 : _c.protocol);
8039
- var remoteCandidate = "".concat((_d = pair === null || pair === void 0 ? void 0 : pair.remote) === null || _d === void 0 ? void 0 : _d.address, ":").concat((_e = pair === null || pair === void 0 ? void 0 : pair.remote) === null || _e === void 0 ? void 0 : _e.port, "/").concat((_f = pair === null || pair === void 0 ? void 0 : pair.remote) === null || _f === void 0 ? void 0 : _f.protocol);
8040
- var pairString = "local: ".concat(localCandidate, ", remote: ").concat(remoteCandidate);
8543
+ const pair = sender.transport.iceTransport.getSelectedCandidatePair();
8544
+ const localCandidate = `${(_a = pair === null || pair === void 0 ? void 0 : pair.local) === null || _a === void 0 ? void 0 : _a.address}:${(_b = pair === null || pair === void 0 ? void 0 : pair.local) === null || _b === void 0 ? void 0 : _b.port}/${(_c = pair === null || pair === void 0 ? void 0 : pair.local) === null || _c === void 0 ? void 0 : _c.protocol}`;
8545
+ const remoteCandidate = `${(_d = pair === null || pair === void 0 ? void 0 : pair.remote) === null || _d === void 0 ? void 0 : _d.address}:${(_e = pair === null || pair === void 0 ? void 0 : pair.remote) === null || _e === void 0 ? void 0 : _e.port}/${(_f = pair === null || pair === void 0 ? void 0 : pair.remote) === null || _f === void 0 ? void 0 : _f.protocol}`;
8546
+ const pairString = `local: ${localCandidate}, remote: ${remoteCandidate}`;
8041
8547
  trace('onselectedCandidatePairChange', makeEvent(pairString));
8042
8548
  }
8043
8549
  });
8044
8550
  }
8045
- _this.transportEventsPreviouslyAdded = true;
8551
+ // @ts-ignore
8552
+ this.transportEventsPreviouslyAdded = true;
8046
8553
  if (pc.getConfiguration().bundlePolicy === 'max-bundle') {
8047
- return "break";
8554
+ break;
8048
8555
  }
8049
8556
  }
8050
- };
8051
- for (var _i = 0, senders_1 = senders; _i < senders_1.length; _i++) {
8052
- var sender = senders_1[_i];
8053
- var state_1 = _loop_1(sender);
8054
- if (state_1 === "break")
8055
- break;
8056
8557
  }
8057
8558
  }
8058
- if (!_this.sctpEventsPreviouslyAdded) {
8559
+ // @ts-ignore
8560
+ if (!this.sctpEventsPreviouslyAdded) {
8059
8561
  // Some Firefox versions prior to 113 have sctp defined but not the events, so check both here.
8060
- if ((_a = _this.sctp) === null || _a === void 0 ? void 0 : _a.addEventListener) {
8061
- _this.sctp.addEventListener('statechange', function () {
8062
- trace('onsctpStateChange', makeEvent(_this.sctp.state));
8562
+ if ((_a = this.sctp) === null || _a === void 0 ? void 0 : _a.addEventListener) {
8563
+ this.sctp.addEventListener('statechange', () => {
8564
+ // @ts-ignore
8565
+ trace('onsctpStateChange', makeEvent(this.sctp.state));
8063
8566
  });
8064
- _this.sctpEventsPreviouslyAdded = true;
8567
+ // @ts-ignore
8568
+ this.sctpEventsPreviouslyAdded = true;
8065
8569
  }
8066
8570
  }
8067
8571
  }
@@ -8070,8 +8574,8 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
8070
8574
  return undefined;
8071
8575
  }
8072
8576
  return undefined;
8073
- }, function (err) {
8074
- trace("on".concat(method, "OnFailure"), makeEvent(err.toString()));
8577
+ }, (err) => {
8578
+ trace(`on${method}OnFailure`, makeEvent(err.toString()));
8075
8579
  if (args.length >= 3 && typeof args[2] === 'function') {
8076
8580
  args[2].apply(null, [err]);
8077
8581
  return undefined;
@@ -8082,15 +8586,15 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
8082
8586
  }
8083
8587
  });
8084
8588
  if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
8085
- var origGetUserMedia_1 = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);
8086
- var gum = function () {
8589
+ const origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);
8590
+ const gum = function () {
8087
8591
  trace('onnavigator.mediaDevices.getUserMedia', makeEvent(JSON.stringify(arguments[0])));
8088
- return origGetUserMedia_1
8592
+ return origGetUserMedia
8089
8593
  .apply(navigator.mediaDevices, arguments)
8090
- .then(function (stream) {
8594
+ .then((stream) => {
8091
8595
  trace('onnavigator.mediaDevices.getUserMediaOnSuccess', makeEvent(JSON.stringify(dumpStream(stream))));
8092
8596
  return stream;
8093
- }, function (err) {
8597
+ }, (err) => {
8094
8598
  trace('onnavigator.mediaDevices.getUserMediaOnFailure', makeEvent(err.name));
8095
8599
  return Promise.reject(err);
8096
8600
  });
@@ -8098,53 +8602,46 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
8098
8602
  navigator.mediaDevices.getUserMedia = gum.bind(navigator.mediaDevices);
8099
8603
  }
8100
8604
  if (navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) {
8101
- var origGetDisplayMedia_1 = navigator.mediaDevices.getDisplayMedia.bind(navigator.mediaDevices);
8102
- var gdm = function () {
8605
+ const origGetDisplayMedia = navigator.mediaDevices.getDisplayMedia.bind(navigator.mediaDevices);
8606
+ const gdm = function () {
8103
8607
  trace('onnavigator.mediaDevices.getDisplayMedia', makeEvent(JSON.stringify(arguments[0])));
8104
- return origGetDisplayMedia_1
8608
+ return origGetDisplayMedia
8105
8609
  .apply(navigator.mediaDevices, arguments)
8106
- .then(function (stream) {
8610
+ .then((stream) => {
8107
8611
  trace('onnavigator.mediaDevices.getDisplayMediaOnSuccess', makeEvent(JSON.stringify(dumpStream(stream))));
8108
8612
  return stream;
8109
- }, function (err) {
8613
+ }, (err) => {
8110
8614
  trace('onnavigator.mediaDevices.getDisplayMediaOnFailure', makeEvent(err.name));
8111
8615
  return Promise.reject(err);
8112
8616
  });
8113
8617
  };
8114
8618
  navigator.mediaDevices.getDisplayMedia = gdm.bind(navigator.mediaDevices);
8115
8619
  }
8116
- var getStatsReport = function () { return __awaiter(void 0, void 0, void 0, function () {
8117
- return __generator(this, function (_a) {
8118
- return [2 /*return*/, pc.getStats(null).then(function (res) {
8119
- // Convert from stats report to js Map in order to have values set in `statsPreProcessor`
8120
- var statsMap = new Map();
8121
- res.forEach(function (stats, key) { return statsMap.set(key, stats); });
8122
- return statsPreProcessor(statsMap).then(function () {
8123
- var now = map2obj(statsMap);
8124
- var base = deepCopy$1(now); // our new prev
8125
- var compressed = deltaCompression(prev, now);
8126
- trace('stats-report', formatStatsReport(compressed), compressed.timestamp !== -Infinity ? compressed.timestamp : undefined);
8127
- prev = base;
8128
- return Promise.resolve();
8129
- });
8130
- })];
8620
+ const getStatsReport = async () => pc.getStats(null).then((res) => {
8621
+ // Convert from stats report to js Map in order to have values set in `statsPreProcessor`
8622
+ const statsMap = new Map();
8623
+ res.forEach((stats, key) => statsMap.set(key, stats));
8624
+ return statsPreProcessor(statsMap).then(() => {
8625
+ const now = map2obj(statsMap);
8626
+ const base = deepCopy$1(now); // our new prev
8627
+ const compressed = deltaCompression(prev, now);
8628
+ trace('stats-report', formatStatsReport(compressed), compressed.timestamp !== -Infinity ? compressed.timestamp : undefined);
8629
+ prev = base;
8630
+ return Promise.resolve();
8131
8631
  });
8132
- }); };
8133
- var interval = window.setInterval(function () {
8632
+ });
8633
+ const interval = window.setInterval(() => {
8134
8634
  if (pc.signalingState === 'closed') {
8135
8635
  window.clearInterval(interval);
8136
8636
  return;
8137
8637
  }
8138
8638
  getStatsReport();
8139
8639
  }, intervalTime);
8140
- var forceStatsReport = function () { return __awaiter(void 0, void 0, void 0, function () {
8141
- return __generator(this, function (_a) {
8142
- return [2 /*return*/, getStatsReport()];
8143
- });
8144
- }); };
8145
- return { forceStatsReport: forceStatsReport };
8640
+ const forceStatsReport = async () => {
8641
+ return getStatsReport();
8642
+ };
8643
+ return { forceStatsReport };
8146
8644
  };
8147
- rtcStats_1 = rtcstats.rtcStats = rtcStats;
8148
8645
 
8149
8646
  const NUM = '\\d+';
8150
8647
  const SDP_TOKEN = "[!#$%&'*+\\-.^_`{|}~a-zA-Z0-9]+";
@@ -9602,6 +10099,38 @@ class BrowserInfo {
9602
10099
  }
9603
10100
  BrowserInfo.browser = Bowser.getParser(window.navigator.userAgent);
9604
10101
 
10102
+ var SystemInfoEvents;
10103
+ (function (SystemInfoEvents) {
10104
+ SystemInfoEvents["CpuPressureStateChange"] = "cpu-pressure-state-change";
10105
+ })(SystemInfoEvents || (SystemInfoEvents = {}));
10106
+ class PressureObserverHelper extends events$3.EventEmitter {
10107
+ constructor() {
10108
+ super();
10109
+ this.lastCpuPressure = undefined;
10110
+ if (PressureObserverHelper.isPressureObserverSupported()) {
10111
+ this.observer = new PressureObserver(this.handleStateChange.bind(this));
10112
+ if (this.observer) {
10113
+ this.observer.observe('cpu');
10114
+ }
10115
+ }
10116
+ }
10117
+ handleStateChange(records) {
10118
+ records.forEach((record) => {
10119
+ if (record.source === 'cpu' && record.state !== this.lastCpuPressure) {
10120
+ this.lastCpuPressure = record.state;
10121
+ this.emit(SystemInfoEvents.CpuPressureStateChange, record.state);
10122
+ }
10123
+ });
10124
+ }
10125
+ getCpuPressure() {
10126
+ return this.lastCpuPressure;
10127
+ }
10128
+ static isPressureObserverSupported() {
10129
+ return 'PressureObserver' in window;
10130
+ }
10131
+ }
10132
+ new PressureObserverHelper();
10133
+
9605
10134
  var CapabilityState;
9606
10135
  (function (CapabilityState) {
9607
10136
  CapabilityState["NOT_CAPABLE"] = "not capable";
@@ -10660,12 +11189,12 @@ function getCurrentTimestamp() {
10660
11189
  return performance.timeOrigin + performance.now();
10661
11190
  }
10662
11191
  class StatsManager {
10663
- constructor(statsGetter, statsPreprocessor = () => __awaiter$1(this, void 0, void 0, function* () { })) {
11192
+ constructor(statsGetter, statsPreprocessor = () => __awaiter(this, void 0, void 0, function* () { })) {
10664
11193
  this.statsGetter = statsGetter;
10665
11194
  this.statsPreProcessor = statsPreprocessor;
10666
11195
  }
10667
11196
  getStats() {
10668
- return __awaiter$1(this, void 0, void 0, function* () {
11197
+ return __awaiter(this, void 0, void 0, function* () {
10669
11198
  const statsReport = yield this.statsGetter();
10670
11199
  const statsMap = new Map();
10671
11200
  statsReport.forEach((stats, key) => statsMap.set(key, stats));
@@ -10731,7 +11260,7 @@ class ReceiveOnlyTransceiver extends Transceiver {
10731
11260
  return this._receiveSlot;
10732
11261
  }
10733
11262
  getStats() {
10734
- return __awaiter$1(this, void 0, void 0, function* () {
11263
+ return __awaiter(this, void 0, void 0, function* () {
10735
11264
  const statsMap = new Map();
10736
11265
  const statsReport = yield this.receiver.getStats();
10737
11266
  statsReport.forEach((stats, key) => {
@@ -14481,7 +15010,7 @@ function waterfall (tasks, callback) {
14481
15010
  awaitify(waterfall);
14482
15011
 
14483
15012
  function processTasks(task, finishedCallback) {
14484
- return __awaiter$1(this, void 0, void 0, function* () {
15013
+ return __awaiter(this, void 0, void 0, function* () {
14485
15014
  try {
14486
15015
  yield task();
14487
15016
  finishedCallback();
@@ -14541,7 +15070,7 @@ class SendOnlyTransceiver extends Transceiver {
14541
15070
  }
14542
15071
  replaceSenderSource(stream) {
14543
15072
  var _a, _b;
14544
- return __awaiter$1(this, void 0, void 0, function* () {
15073
+ return __awaiter(this, void 0, void 0, function* () {
14545
15074
  const trackOrNull = (_a = stream === null || stream === void 0 ? void 0 : stream.outputStream.getTracks()[0]) !== null && _a !== void 0 ? _a : null;
14546
15075
  if (((_b = this.sender.track) === null || _b === void 0 ? void 0 : _b.id) !== (trackOrNull === null || trackOrNull === void 0 ? void 0 : trackOrNull.id)) {
14547
15076
  yield this.sender.replaceTrack(trackOrNull);
@@ -14555,14 +15084,14 @@ class SendOnlyTransceiver extends Transceiver {
14555
15084
  });
14556
15085
  }
14557
15086
  handleTrackChange() {
14558
- return __awaiter$1(this, void 0, void 0, function* () {
15087
+ return __awaiter(this, void 0, void 0, function* () {
14559
15088
  if (this.requested) {
14560
15089
  yield this.replaceSenderSource(this.publishedStream);
14561
15090
  }
14562
15091
  });
14563
15092
  }
14564
15093
  handleStreamConstraintsChange() {
14565
- return __awaiter$1(this, void 0, void 0, function* () {
15094
+ return __awaiter(this, void 0, void 0, function* () {
14566
15095
  yield this.updateSendParameters(this.requestedIdEncodingParamsMap);
14567
15096
  });
14568
15097
  }
@@ -14579,7 +15108,7 @@ class SendOnlyTransceiver extends Transceiver {
14579
15108
  const _super = Object.create(null, {
14580
15109
  replaceTransceiver: { get: () => super.replaceTransceiver }
14581
15110
  });
14582
- return __awaiter$1(this, void 0, void 0, function* () {
15111
+ return __awaiter(this, void 0, void 0, function* () {
14583
15112
  _super.replaceTransceiver.call(this, newRtcRtpTransceiver);
14584
15113
  newRtcRtpTransceiver.direction = this.direction;
14585
15114
  if (this.requested) {
@@ -14588,7 +15117,7 @@ class SendOnlyTransceiver extends Transceiver {
14588
15117
  });
14589
15118
  }
14590
15119
  replacePublishedStream(newStream) {
14591
- return __awaiter$1(this, void 0, void 0, function* () {
15120
+ return __awaiter(this, void 0, void 0, function* () {
14592
15121
  const oldStream = this.publishedStream;
14593
15122
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(exports.LocalStreamEventNames.OutputTrackChange, this.handleTrackChange);
14594
15123
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(exports.LocalStreamEventNames.ConstraintsChange, this.handleStreamConstraintsChange);
@@ -14641,7 +15170,7 @@ class SendOnlyTransceiver extends Transceiver {
14641
15170
  }
14642
15171
  }
14643
15172
  getStats() {
14644
- return __awaiter$1(this, void 0, void 0, function* () {
15173
+ return __awaiter(this, void 0, void 0, function* () {
14645
15174
  const statsMap = new Map();
14646
15175
  const statsReport = yield this.sender.getStats();
14647
15176
  statsReport.forEach((stats, key) => {
@@ -14696,8 +15225,8 @@ class SendOnlyTransceiver extends Transceiver {
14696
15225
  });
14697
15226
  }
14698
15227
  updateSendParameters(requestedIdEncodingParamsMap) {
14699
- return __awaiter$1(this, void 0, void 0, function* () {
14700
- return this.updateSendParametersQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
15228
+ return __awaiter(this, void 0, void 0, function* () {
15229
+ return this.updateSendParametersQueue.push(() => __awaiter(this, void 0, void 0, function* () {
14701
15230
  const sendParameters = this.sender.getParameters();
14702
15231
  sendParameters.encodings.forEach((encoding, index) => {
14703
15232
  var _a, _b;
@@ -14811,7 +15340,7 @@ class SendSlot {
14811
15340
  this.sendTransceiver = sendTransceiver;
14812
15341
  }
14813
15342
  publishStream(stream) {
14814
- return __awaiter$1(this, void 0, void 0, function* () {
15343
+ return __awaiter(this, void 0, void 0, function* () {
14815
15344
  if (stream === this.sendTransceiver.publishedStream) {
14816
15345
  return Promise.resolve();
14817
15346
  }
@@ -14819,7 +15348,7 @@ class SendSlot {
14819
15348
  });
14820
15349
  }
14821
15350
  unpublishStream() {
14822
- return __awaiter$1(this, void 0, void 0, function* () {
15351
+ return __awaiter(this, void 0, void 0, function* () {
14823
15352
  if (!this.sendTransceiver.publishedStream) {
14824
15353
  return Promise.resolve();
14825
15354
  }
@@ -14839,12 +15368,12 @@ class SendSlot {
14839
15368
  this.sendTransceiver.active = active;
14840
15369
  }
14841
15370
  setCodecParameters(parameters) {
14842
- return __awaiter$1(this, void 0, void 0, function* () {
15371
+ return __awaiter(this, void 0, void 0, function* () {
14843
15372
  this.sendTransceiver.setCodecParameters(parameters);
14844
15373
  });
14845
15374
  }
14846
15375
  deleteCodecParameters(parameters) {
14847
- return __awaiter$1(this, void 0, void 0, function* () {
15376
+ return __awaiter(this, void 0, void 0, function* () {
14848
15377
  this.sendTransceiver.deleteCodecParameters(parameters);
14849
15378
  });
14850
15379
  }
@@ -14856,7 +15385,7 @@ class SendSlot {
14856
15385
  }
14857
15386
  }
14858
15387
 
14859
- const organizeTransceiverStats = (sendTransceivers, recvTransceivers, peerConnectionStats) => __awaiter$1(void 0, void 0, void 0, function* () {
15388
+ const organizeTransceiverStats = (sendTransceivers, recvTransceivers, peerConnectionStats) => __awaiter(void 0, void 0, void 0, function* () {
14860
15389
  const result = {
14861
15390
  audio: {
14862
15391
  senders: [],
@@ -14875,7 +15404,7 @@ const organizeTransceiverStats = (sendTransceivers, recvTransceivers, peerConnec
14875
15404
  receivers: [],
14876
15405
  },
14877
15406
  };
14878
- yield Promise.all([...sendTransceivers.entries()].map(([mediaType, transceiver]) => __awaiter$1(void 0, void 0, void 0, function* () {
15407
+ yield Promise.all([...sendTransceivers.entries()].map(([mediaType, transceiver]) => __awaiter(void 0, void 0, void 0, function* () {
14879
15408
  var _a;
14880
15409
  const item = {
14881
15410
  report: yield transceiver.getStats(),
@@ -14900,8 +15429,8 @@ const organizeTransceiverStats = (sendTransceivers, recvTransceivers, peerConnec
14900
15429
  result.screenShareVideo.senders.push(item);
14901
15430
  }
14902
15431
  })));
14903
- yield Promise.all([...recvTransceivers.entries()].map(([mediaType, transceivers]) => __awaiter$1(void 0, void 0, void 0, function* () {
14904
- return Promise.all(transceivers.map((t) => __awaiter$1(void 0, void 0, void 0, function* () {
15432
+ yield Promise.all([...recvTransceivers.entries()].map(([mediaType, transceivers]) => __awaiter(void 0, void 0, void 0, function* () {
15433
+ return Promise.all(transceivers.map((t) => __awaiter(void 0, void 0, void 0, function* () {
14905
15434
  var _b;
14906
15435
  const item = {
14907
15436
  report: yield t.getStats(),
@@ -15418,14 +15947,14 @@ SCTP Max Message Size: ${maxMessageSize}`);
15418
15947
  return recvOnlyTransceiver;
15419
15948
  }
15420
15949
  createReceiveSlot(mediaType) {
15421
- return __awaiter$1(this, void 0, void 0, function* () {
15950
+ return __awaiter(this, void 0, void 0, function* () {
15422
15951
  return (yield this.createReceiveSlots(mediaType, 1))[0];
15423
15952
  });
15424
15953
  }
15425
15954
  createReceiveSlots(mediaType, count = 1) {
15426
- return __awaiter$1(this, void 0, void 0, function* () {
15955
+ return __awaiter(this, void 0, void 0, function* () {
15427
15956
  return new Promise((createReceiveSlotsResolve) => {
15428
- this.offerAnswerQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
15957
+ this.offerAnswerQueue.push(() => __awaiter(this, void 0, void 0, function* () {
15429
15958
  const createdReceiveOnlyTransceivers = [];
15430
15959
  for (let i = 0; i < count; i++) {
15431
15960
  const recvOnlyTransceiver = this.createReceiveTransceiver(mediaType);
@@ -15472,7 +16001,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15472
16001
  return targetCodec.pt;
15473
16002
  }
15474
16003
  waitForIceGatheringComplete() {
15475
- return __awaiter$1(this, void 0, void 0, function* () {
16004
+ return __awaiter(this, void 0, void 0, function* () {
15476
16005
  return new Promise((resolve, reject) => {
15477
16006
  const finalizeIceCandidatesGathering = () => this.pc.getIceCandidates().length > 0
15478
16007
  ? resolve()
@@ -15498,7 +16027,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15498
16027
  });
15499
16028
  }
15500
16029
  createOffer() {
15501
- return __awaiter$1(this, void 0, void 0, function* () {
16030
+ return __awaiter(this, void 0, void 0, function* () {
15502
16031
  if (!this.pc.getLocalDescription()) {
15503
16032
  this.midPredictor.allocateMidForDatachannel();
15504
16033
  }
@@ -15509,7 +16038,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15509
16038
  }
15510
16039
  const createOfferId = ++this.currentCreateOfferId;
15511
16040
  return new Promise((createOfferResolve, createOfferReject) => {
15512
- this.offerAnswerQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
16041
+ this.offerAnswerQueue.push(() => __awaiter(this, void 0, void 0, function* () {
15513
16042
  var _a;
15514
16043
  try {
15515
16044
  const offer = yield this.pc.createOffer();
@@ -15519,7 +16048,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15519
16048
  offer.sdp = this.preProcessLocalOffer(offer.sdp);
15520
16049
  yield this.pc
15521
16050
  .setLocalDescription(offer)
15522
- .then(() => __awaiter$1(this, void 0, void 0, function* () {
16051
+ .then(() => __awaiter(this, void 0, void 0, function* () {
15523
16052
  logger.info('this.pc.setLocalDescription() resolved');
15524
16053
  }))
15525
16054
  .catch((error) => {
@@ -15553,7 +16082,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15553
16082
  });
15554
16083
  }
15555
16084
  setAnswer(answer) {
15556
- return __awaiter$1(this, void 0, void 0, function* () {
16085
+ return __awaiter(this, void 0, void 0, function* () {
15557
16086
  const sdp = this.preProcessRemoteAnswer(answer);
15558
16087
  if (!this.setAnswerResolve) {
15559
16088
  logErrorAndThrow(exports.WcmeErrorType.SET_ANSWER_FAILED, `Call to setAnswer without having previously called createOffer.`);
@@ -15561,7 +16090,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15561
16090
  logger.info('calling this.pc.setRemoteDescription()');
15562
16091
  return this.pc
15563
16092
  .setRemoteDescription({ type: 'answer', sdp })
15564
- .then(() => __awaiter$1(this, void 0, void 0, function* () {
16093
+ .then(() => __awaiter(this, void 0, void 0, function* () {
15565
16094
  logger.info('this.pc.setRemoteDescription() resolved');
15566
16095
  if (this.setAnswerResolve) {
15567
16096
  this.setAnswerResolve();
@@ -15578,7 +16107,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15578
16107
  }
15579
16108
  doLocalOfferAnswer() {
15580
16109
  var _a;
15581
- return __awaiter$1(this, void 0, void 0, function* () {
16110
+ return __awaiter(this, void 0, void 0, function* () {
15582
16111
  const offer = yield this.pc.createOffer();
15583
16112
  if (!offer.sdp) {
15584
16113
  logErrorAndThrow(exports.WcmeErrorType.CREATE_OFFER_FAILED, 'SDP not found in offer.');
@@ -15586,7 +16115,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15586
16115
  offer.sdp = this.preProcessLocalOffer(offer.sdp);
15587
16116
  yield this.pc
15588
16117
  .setLocalDescription(offer)
15589
- .then(() => __awaiter$1(this, void 0, void 0, function* () {
16118
+ .then(() => __awaiter(this, void 0, void 0, function* () {
15590
16119
  logger.info('this.pc.setLocalDescription() resolved');
15591
16120
  }))
15592
16121
  .catch((error) => {
@@ -15596,7 +16125,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15596
16125
  const answer = this.preProcessRemoteAnswer((_a = this.pc.getRemoteDescription()) === null || _a === void 0 ? void 0 : _a.sdp);
15597
16126
  return this.pc
15598
16127
  .setRemoteDescription({ type: 'answer', sdp: answer })
15599
- .then(() => __awaiter$1(this, void 0, void 0, function* () {
16128
+ .then(() => __awaiter(this, void 0, void 0, function* () {
15600
16129
  logger.info('this.pc.setRemoteDescription() resolved');
15601
16130
  }))
15602
16131
  .catch((error) => {
@@ -15605,8 +16134,8 @@ SCTP Max Message Size: ${maxMessageSize}`);
15605
16134
  });
15606
16135
  }
15607
16136
  queueLocalOfferAnswer() {
15608
- return __awaiter$1(this, void 0, void 0, function* () {
15609
- return this.offerAnswerQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
16137
+ return __awaiter(this, void 0, void 0, function* () {
16138
+ return this.offerAnswerQueue.push(() => __awaiter(this, void 0, void 0, function* () {
15610
16139
  yield this.doLocalOfferAnswer();
15611
16140
  }));
15612
16141
  });
@@ -15779,7 +16308,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15779
16308
  }
15780
16309
  renewPeerConnection(userOptions) {
15781
16310
  var _a;
15782
- return __awaiter$1(this, void 0, void 0, function* () {
16311
+ return __awaiter(this, void 0, void 0, function* () {
15783
16312
  (_a = this.pc) === null || _a === void 0 ? void 0 : _a.close();
15784
16313
  try {
15785
16314
  if (userOptions) {
@@ -15836,28 +16365,28 @@ SCTP Max Message Size: ${maxMessageSize}`);
15836
16365
  return this.statsManager.getStats();
15837
16366
  }
15838
16367
  getTransceiverStats() {
15839
- return __awaiter$1(this, void 0, void 0, function* () {
16368
+ return __awaiter(this, void 0, void 0, function* () {
15840
16369
  const stats = yield this.getStats();
15841
16370
  const peerConnectionStats = [...stats.values()].find((stat) => stat.type === 'peer-connection');
15842
16371
  return organizeTransceiverStats(this.sendTransceivers, this.recvTransceivers, peerConnectionStats);
15843
16372
  });
15844
16373
  }
15845
16374
  preProcessStats(stats) {
15846
- return __awaiter$1(this, void 0, void 0, function* () {
16375
+ return __awaiter(this, void 0, void 0, function* () {
15847
16376
  stats.forEach((stat) => {
15848
16377
  if (stat.type === 'peer-connection') {
15849
16378
  stat.isMediaBypassEdge = this.metadata.isMediaBypassEdge;
15850
16379
  }
15851
16380
  });
15852
- yield Promise.all([...this.sendTransceivers.values()].map((transceiver) => __awaiter$1(this, void 0, void 0, function* () {
16381
+ yield Promise.all([...this.sendTransceivers.values()].map((transceiver) => __awaiter(this, void 0, void 0, function* () {
15853
16382
  (yield transceiver.getStats()).forEach((senderStats) => {
15854
16383
  if (senderStats.type === 'outbound-rtp' || senderStats.type === 'media-source') {
15855
16384
  stats.set(senderStats.id, senderStats);
15856
16385
  }
15857
16386
  });
15858
16387
  })));
15859
- yield Promise.all([...this.recvTransceivers.values()].map((transceivers) => __awaiter$1(this, void 0, void 0, function* () {
15860
- yield Promise.all(transceivers.map((transceiver) => __awaiter$1(this, void 0, void 0, function* () {
16388
+ yield Promise.all([...this.recvTransceivers.values()].map((transceivers) => __awaiter(this, void 0, void 0, function* () {
16389
+ yield Promise.all(transceivers.map((transceiver) => __awaiter(this, void 0, void 0, function* () {
15861
16390
  (yield transceiver.getStats()).forEach((receiverStats) => {
15862
16391
  if (receiverStats.type === 'inbound-rtp') {
15863
16392
  stats.set(receiverStats.id, receiverStats);
@@ -15868,7 +16397,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15868
16397
  });
15869
16398
  }
15870
16399
  attachMetricsObserver() {
15871
- this.forceStatsReport = rtcStats_1(this.pc.getUnderlyingRTCPeerConnection(), (data) => this.metricsCallback(data), 5000, (stats) => this.preProcessStats(stats)).forceStatsReport;
16400
+ this.forceStatsReport = rtcStats(this.pc.getUnderlyingRTCPeerConnection(), (data) => this.metricsCallback(data), 5000, (stats) => this.preProcessStats(stats)).forceStatsReport;
15872
16401
  }
15873
16402
  forceRtcMetricsCallback() {
15874
16403
  var _a;