@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/esm/index.js CHANGED
@@ -30,7 +30,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
30
30
  PERFORMANCE OF THIS SOFTWARE.
31
31
  ***************************************************************************** */
32
32
 
33
- function __awaiter$2(thisArg, _arguments, P, generator) {
33
+ function __awaiter$1(thisArg, _arguments, P, generator) {
34
34
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
35
35
  return new (P || (P = Promise))(function (resolve, reject) {
36
36
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -352,7 +352,7 @@ var DeviceKind$1;
352
352
  * media has successfully been obtained.
353
353
  */
354
354
  function getUserMedia(constraints) {
355
- return __awaiter$2(this, void 0, void 0, function* () {
355
+ return __awaiter$1(this, void 0, void 0, function* () {
356
356
  return navigator.mediaDevices.getUserMedia(constraints);
357
357
  });
358
358
  }
@@ -377,7 +377,7 @@ function getDisplayMedia(constraints) {
377
377
  * fulfilled.
378
378
  */
379
379
  function enumerateDevices() {
380
- return __awaiter$2(this, void 0, void 0, function* () {
380
+ return __awaiter$1(this, void 0, void 0, function* () {
381
381
  return navigator.mediaDevices.enumerateDevices();
382
382
  });
383
383
  }
@@ -399,7 +399,7 @@ function setOnDeviceChangeHandler$1(handler) {
399
399
  * @returns Array of Permission Status objects.
400
400
  */
401
401
  function checkNavigatorPermissions(deviceKinds) {
402
- return __awaiter$2(this, void 0, void 0, function* () {
402
+ return __awaiter$1(this, void 0, void 0, function* () {
403
403
  const permissionRequests = [];
404
404
  if (deviceKinds.includes(DeviceKind$1.VideoInput)) {
405
405
  permissionRequests.push(navigator.permissions.query({ name: 'camera' }));
@@ -417,7 +417,7 @@ function checkNavigatorPermissions(deviceKinds) {
417
417
  * @returns True if device permissions exist, false if otherwise.
418
418
  */
419
419
  function checkDevicePermissions(deviceKinds) {
420
- return __awaiter$2(this, void 0, void 0, function* () {
420
+ return __awaiter$1(this, void 0, void 0, function* () {
421
421
  try {
422
422
  const permissions = yield checkNavigatorPermissions(deviceKinds);
423
423
  if (permissions.every((permission) => permission.state === 'granted')) {
@@ -447,7 +447,7 @@ function checkDevicePermissions(deviceKinds) {
447
447
  * @returns The callback's response.
448
448
  */
449
449
  function ensureDevicePermissions(deviceKinds, callback) {
450
- return __awaiter$2(this, void 0, void 0, function* () {
450
+ return __awaiter$1(this, void 0, void 0, function* () {
451
451
  try {
452
452
  const hasDevicePermissions = yield checkDevicePermissions(deviceKinds);
453
453
  if (!hasDevicePermissions) {
@@ -516,7 +516,7 @@ class WebrtcCoreError {
516
516
  * @returns A LocalCameraStream object or an error.
517
517
  */
518
518
  function createCameraStream(cameraStreamConstructor, constraints) {
519
- return __awaiter$2(this, void 0, void 0, function* () {
519
+ return __awaiter$1(this, void 0, void 0, function* () {
520
520
  let stream;
521
521
  try {
522
522
  stream = yield getUserMedia({ video: Object.assign({}, constraints) });
@@ -536,7 +536,7 @@ function createCameraStream(cameraStreamConstructor, constraints) {
536
536
  * @returns A LocalMicrophoneStream object or an error.
537
537
  */
538
538
  function createMicrophoneStream(microphoneStreamConstructor, constraints) {
539
- return __awaiter$2(this, void 0, void 0, function* () {
539
+ return __awaiter$1(this, void 0, void 0, function* () {
540
540
  let stream;
541
541
  try {
542
542
  stream = yield getUserMedia({ audio: Object.assign({}, constraints) });
@@ -559,7 +559,7 @@ function createMicrophoneStream(microphoneStreamConstructor, constraints) {
559
559
  * @returns A Promise that resolves to a LocalCameraStream and a LocalMicrophoneStream or an error.
560
560
  */
561
561
  function createCameraAndMicrophoneStreams(cameraStreamConstructor, microphoneStreamConstructor, constraints) {
562
- return __awaiter$2(this, void 0, void 0, function* () {
562
+ return __awaiter$1(this, void 0, void 0, function* () {
563
563
  let stream;
564
564
  try {
565
565
  stream = yield getUserMedia({
@@ -604,7 +604,7 @@ function createCameraAndMicrophoneStreams(cameraStreamConstructor, microphoneStr
604
604
  * instead.
605
605
  */
606
606
  function createDisplayMedia(options) {
607
- return __awaiter$2(this, void 0, void 0, function* () {
607
+ return __awaiter$1(this, void 0, void 0, function* () {
608
608
  var _a, _b;
609
609
  let stream;
610
610
  const videoConstraints = options.video.constraints || true;
@@ -645,7 +645,7 @@ function createDisplayMedia(options) {
645
645
  * @returns A Promise that resolves to a LocalDisplayStream or an error.
646
646
  */
647
647
  function createDisplayStream(displayStreamConstructor, videoContentHint) {
648
- return __awaiter$2(this, void 0, void 0, function* () {
648
+ return __awaiter$1(this, void 0, void 0, function* () {
649
649
  const [localDisplayStream] = yield createDisplayMedia({
650
650
  video: { displayStreamConstructor, videoContentHint },
651
651
  });
@@ -663,7 +663,7 @@ function createDisplayStream(displayStreamConstructor, videoContentHint) {
663
663
  * instead.
664
664
  */
665
665
  function createDisplayStreamWithAudio(displayStreamConstructor, systemAudioStreamConstructor, videoContentHint) {
666
- return __awaiter$2(this, void 0, void 0, function* () {
666
+ return __awaiter$1(this, void 0, void 0, function* () {
667
667
  return createDisplayMedia({
668
668
  video: { displayStreamConstructor, videoContentHint },
669
669
  audio: { systemAudioStreamConstructor },
@@ -677,7 +677,7 @@ function createDisplayStreamWithAudio(displayStreamConstructor, systemAudioStrea
677
677
  * @returns List of media devices in an array of MediaDeviceInfo objects.
678
678
  */
679
679
  function getDevices(deviceKind) {
680
- return __awaiter$2(this, void 0, void 0, function* () {
680
+ return __awaiter$1(this, void 0, void 0, function* () {
681
681
  let devices;
682
682
  const deviceKinds = deviceKind
683
683
  ? [deviceKind]
@@ -697,7 +697,7 @@ function getDevices(deviceKind) {
697
697
  * @returns List of microphone devices in an array of MediaDeviceInfo objects.
698
698
  */
699
699
  function getAudioInputDevices() {
700
- return __awaiter$2(this, void 0, void 0, function* () {
700
+ return __awaiter$1(this, void 0, void 0, function* () {
701
701
  return getDevices(DeviceKind$1.AudioInput);
702
702
  });
703
703
  }
@@ -707,7 +707,7 @@ function getAudioInputDevices() {
707
707
  * @returns List of speaker devices in an array of MediaDeviceInfo objects.
708
708
  */
709
709
  function getAudioOutputDevices() {
710
- return __awaiter$2(this, void 0, void 0, function* () {
710
+ return __awaiter$1(this, void 0, void 0, function* () {
711
711
  return getDevices(DeviceKind$1.AudioOutput);
712
712
  });
713
713
  }
@@ -717,7 +717,7 @@ function getAudioOutputDevices() {
717
717
  * @returns List of camera devices in an array of MediaDeviceInfo objects.
718
718
  */
719
719
  function getVideoInputDevices() {
720
- return __awaiter$2(this, void 0, void 0, function* () {
720
+ return __awaiter$1(this, void 0, void 0, function* () {
721
721
  return getDevices(DeviceKind$1.VideoInput);
722
722
  });
723
723
  }
@@ -860,7 +860,7 @@ EventEmitter$1$1.prototype.emit = function emit(type) {
860
860
  ReflectApply$1$1(handler, this, args);
861
861
  } else {
862
862
  var len = handler.length;
863
- var listeners = arrayClone$1$1(handler, len);
863
+ var listeners = arrayClone$2(handler, len);
864
864
  for (var i = 0; i < len; ++i)
865
865
  ReflectApply$1$1(listeners[i], this, args);
866
866
  }
@@ -868,7 +868,7 @@ EventEmitter$1$1.prototype.emit = function emit(type) {
868
868
  return true;
869
869
  };
870
870
 
871
- function _addListener$1$1(target, type, listener, prepend) {
871
+ function _addListener$2(target, type, listener, prepend) {
872
872
  var m;
873
873
  var events;
874
874
  var existing;
@@ -931,14 +931,14 @@ function _addListener$1$1(target, type, listener, prepend) {
931
931
  }
932
932
 
933
933
  EventEmitter$1$1.prototype.addListener = function addListener(type, listener) {
934
- return _addListener$1$1(this, type, listener, false);
934
+ return _addListener$2(this, type, listener, false);
935
935
  };
936
936
 
937
937
  EventEmitter$1$1.prototype.on = EventEmitter$1$1.prototype.addListener;
938
938
 
939
939
  EventEmitter$1$1.prototype.prependListener =
940
940
  function prependListener(type, listener) {
941
- return _addListener$1$1(this, type, listener, true);
941
+ return _addListener$2(this, type, listener, true);
942
942
  };
943
943
 
944
944
  function onceWrapper$1$1() {
@@ -951,7 +951,7 @@ function onceWrapper$1$1() {
951
951
  }
952
952
  }
953
953
 
954
- function _onceWrap$1$1(target, type, listener) {
954
+ function _onceWrap$2(target, type, listener) {
955
955
  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
956
956
  var wrapped = onceWrapper$1$1.bind(state);
957
957
  wrapped.listener = listener;
@@ -961,14 +961,14 @@ function _onceWrap$1$1(target, type, listener) {
961
961
 
962
962
  EventEmitter$1$1.prototype.once = function once(type, listener) {
963
963
  checkListener$1$1(listener);
964
- this.on(type, _onceWrap$1$1(this, type, listener));
964
+ this.on(type, _onceWrap$2(this, type, listener));
965
965
  return this;
966
966
  };
967
967
 
968
968
  EventEmitter$1$1.prototype.prependOnceListener =
969
969
  function prependOnceListener(type, listener) {
970
970
  checkListener$1$1(listener);
971
- this.prependListener(type, _onceWrap$1$1(this, type, listener));
971
+ this.prependListener(type, _onceWrap$2(this, type, listener));
972
972
  return this;
973
973
  };
974
974
 
@@ -1012,7 +1012,7 @@ EventEmitter$1$1.prototype.removeListener =
1012
1012
  if (position === 0)
1013
1013
  list.shift();
1014
1014
  else {
1015
- spliceOne$1$1(list, position);
1015
+ spliceOne$2(list, position);
1016
1016
  }
1017
1017
 
1018
1018
  if (list.length === 1)
@@ -1092,7 +1092,7 @@ function _listeners$1$1(target, type, unwrap) {
1092
1092
  return unwrap ? [evlistener.listener || evlistener] : [evlistener];
1093
1093
 
1094
1094
  return unwrap ?
1095
- unwrapListeners$1$1(evlistener) : arrayClone$1$1(evlistener, evlistener.length);
1095
+ unwrapListeners$2(evlistener) : arrayClone$2(evlistener, evlistener.length);
1096
1096
  }
1097
1097
 
1098
1098
  EventEmitter$1$1.prototype.listeners = function listeners(type) {
@@ -1107,12 +1107,12 @@ EventEmitter$1$1.listenerCount = function(emitter, type) {
1107
1107
  if (typeof emitter.listenerCount === 'function') {
1108
1108
  return emitter.listenerCount(type);
1109
1109
  } else {
1110
- return listenerCount$1$1.call(emitter, type);
1110
+ return listenerCount$2.call(emitter, type);
1111
1111
  }
1112
1112
  };
1113
1113
 
1114
- EventEmitter$1$1.prototype.listenerCount = listenerCount$1$1;
1115
- function listenerCount$1$1(type) {
1114
+ EventEmitter$1$1.prototype.listenerCount = listenerCount$2;
1115
+ function listenerCount$2(type) {
1116
1116
  var events = this._events;
1117
1117
 
1118
1118
  if (events !== undefined) {
@@ -1132,20 +1132,20 @@ EventEmitter$1$1.prototype.eventNames = function eventNames() {
1132
1132
  return this._eventsCount > 0 ? ReflectOwnKeys$1$1(this._events) : [];
1133
1133
  };
1134
1134
 
1135
- function arrayClone$1$1(arr, n) {
1135
+ function arrayClone$2(arr, n) {
1136
1136
  var copy = new Array(n);
1137
1137
  for (var i = 0; i < n; ++i)
1138
1138
  copy[i] = arr[i];
1139
1139
  return copy;
1140
1140
  }
1141
1141
 
1142
- function spliceOne$1$1(list, index) {
1142
+ function spliceOne$2(list, index) {
1143
1143
  for (; index + 1 < list.length; index++)
1144
1144
  list[index] = list[index + 1];
1145
1145
  list.pop();
1146
1146
  }
1147
1147
 
1148
- function unwrapListeners$1$1(arr) {
1148
+ function unwrapListeners$2(arr) {
1149
1149
  var ret = new Array(arr.length);
1150
1150
  for (var i = 0; i < ret.length; ++i) {
1151
1151
  ret[i] = arr[i].listener || arr[i];
@@ -1202,11 +1202,11 @@ function eventTargetAgnosticAddListener$1$1(emitter, name, listener, flags) {
1202
1202
  }
1203
1203
  }
1204
1204
 
1205
- class EventEmitter$2$1 extends events$1$1.exports.EventEmitter {
1205
+ class EventEmitter$3$1 extends events$1$1.exports.EventEmitter {
1206
1206
  }
1207
1207
  class TypedEvent$1 {
1208
1208
  constructor() {
1209
- this.emitter = new EventEmitter$2$1();
1209
+ this.emitter = new EventEmitter$3$1();
1210
1210
  }
1211
1211
  on(handler) {
1212
1212
  this.emitter.on('event', handler);
@@ -1496,7 +1496,7 @@ class _LocalStream extends Stream {
1496
1496
  * @param effect - The effect to add.
1497
1497
  */
1498
1498
  addEffect(effect) {
1499
- return __awaiter$2(this, void 0, void 0, function* () {
1499
+ return __awaiter$1(this, void 0, void 0, function* () {
1500
1500
  // Check if the effect has already been added.
1501
1501
  if (this.effects.some((e) => e.id === effect.id)) {
1502
1502
  return;
@@ -1633,7 +1633,7 @@ class _LocalStream extends Stream {
1633
1633
  * Cleanup the local effects.
1634
1634
  */
1635
1635
  disposeEffects() {
1636
- return __awaiter$2(this, void 0, void 0, function* () {
1636
+ return __awaiter$1(this, void 0, void 0, function* () {
1637
1637
  this.loadingEffects.clear();
1638
1638
  // Dispose of any effects currently in use
1639
1639
  if (this.effects.length > 0) {
@@ -1658,7 +1658,7 @@ class LocalAudioStream extends LocalStream {
1658
1658
  * @returns A promise which resolves when the constraints have been successfully applied.
1659
1659
  */
1660
1660
  applyConstraints(constraints) {
1661
- return __awaiter$2(this, void 0, void 0, function* () {
1661
+ return __awaiter$1(this, void 0, void 0, function* () {
1662
1662
  logger$3.log(`Applying constraints to local track:`, constraints);
1663
1663
  return this.inputTrack.applyConstraints(constraints).then(() => {
1664
1664
  this[LocalStreamEventNames.ConstraintsChange].emit();
@@ -1678,7 +1678,7 @@ class LocalVideoStream extends LocalStream {
1678
1678
  * @returns A promise which resolves when the constraints have been successfully applied.
1679
1679
  */
1680
1680
  applyConstraints(constraints) {
1681
- return __awaiter$2(this, void 0, void 0, function* () {
1681
+ return __awaiter$1(this, void 0, void 0, function* () {
1682
1682
  logger$3.log(`Applying constraints to local track:`, constraints);
1683
1683
  return this.inputTrack.applyConstraints(constraints).then(() => {
1684
1684
  this[LocalStreamEventNames.ConstraintsChange].emit();
@@ -1859,6 +1859,478 @@ class _RemoteStream extends Stream {
1859
1859
  _a$6 = RemoteStreamEventNames.MediaStateChange;
1860
1860
  const RemoteStream = AddEvents(_RemoteStream);
1861
1861
 
1862
+ var domain;
1863
+
1864
+ // This constructor is used to store event handlers. Instantiating this is
1865
+ // faster than explicitly calling `Object.create(null)` to get a "clean" empty
1866
+ // object (tested with v8 v4.9).
1867
+ function EventHandlers() {}
1868
+ EventHandlers.prototype = Object.create(null);
1869
+
1870
+ function EventEmitter$2$1() {
1871
+ EventEmitter$2$1.init.call(this);
1872
+ }
1873
+
1874
+ // nodejs oddity
1875
+ // require('events') === require('events').EventEmitter
1876
+ EventEmitter$2$1.EventEmitter = EventEmitter$2$1;
1877
+
1878
+ EventEmitter$2$1.usingDomains = false;
1879
+
1880
+ EventEmitter$2$1.prototype.domain = undefined;
1881
+ EventEmitter$2$1.prototype._events = undefined;
1882
+ EventEmitter$2$1.prototype._maxListeners = undefined;
1883
+
1884
+ // By default EventEmitters will print a warning if more than 10 listeners are
1885
+ // added to it. This is a useful default which helps finding memory leaks.
1886
+ EventEmitter$2$1.defaultMaxListeners = 10;
1887
+
1888
+ EventEmitter$2$1.init = function() {
1889
+ this.domain = null;
1890
+ if (EventEmitter$2$1.usingDomains) {
1891
+ // if there is an active domain, then attach to it.
1892
+ if (domain.active ) ;
1893
+ }
1894
+
1895
+ if (!this._events || this._events === Object.getPrototypeOf(this)._events) {
1896
+ this._events = new EventHandlers();
1897
+ this._eventsCount = 0;
1898
+ }
1899
+
1900
+ this._maxListeners = this._maxListeners || undefined;
1901
+ };
1902
+
1903
+ // Obviously not all Emitters should be limited to 10. This function allows
1904
+ // that to be increased. Set to zero for unlimited.
1905
+ EventEmitter$2$1.prototype.setMaxListeners = function setMaxListeners(n) {
1906
+ if (typeof n !== 'number' || n < 0 || isNaN(n))
1907
+ throw new TypeError('"n" argument must be a positive number');
1908
+ this._maxListeners = n;
1909
+ return this;
1910
+ };
1911
+
1912
+ function $getMaxListeners(that) {
1913
+ if (that._maxListeners === undefined)
1914
+ return EventEmitter$2$1.defaultMaxListeners;
1915
+ return that._maxListeners;
1916
+ }
1917
+
1918
+ EventEmitter$2$1.prototype.getMaxListeners = function getMaxListeners() {
1919
+ return $getMaxListeners(this);
1920
+ };
1921
+
1922
+ // These standalone emit* functions are used to optimize calling of event
1923
+ // handlers for fast cases because emit() itself often has a variable number of
1924
+ // arguments and can be deoptimized because of that. These functions always have
1925
+ // the same number of arguments and thus do not get deoptimized, so the code
1926
+ // inside them can execute faster.
1927
+ function emitNone(handler, isFn, self) {
1928
+ if (isFn)
1929
+ handler.call(self);
1930
+ else {
1931
+ var len = handler.length;
1932
+ var listeners = arrayClone$1$1(handler, len);
1933
+ for (var i = 0; i < len; ++i)
1934
+ listeners[i].call(self);
1935
+ }
1936
+ }
1937
+ function emitOne(handler, isFn, self, arg1) {
1938
+ if (isFn)
1939
+ handler.call(self, arg1);
1940
+ else {
1941
+ var len = handler.length;
1942
+ var listeners = arrayClone$1$1(handler, len);
1943
+ for (var i = 0; i < len; ++i)
1944
+ listeners[i].call(self, arg1);
1945
+ }
1946
+ }
1947
+ function emitTwo(handler, isFn, self, arg1, arg2) {
1948
+ if (isFn)
1949
+ handler.call(self, arg1, arg2);
1950
+ else {
1951
+ var len = handler.length;
1952
+ var listeners = arrayClone$1$1(handler, len);
1953
+ for (var i = 0; i < len; ++i)
1954
+ listeners[i].call(self, arg1, arg2);
1955
+ }
1956
+ }
1957
+ function emitThree(handler, isFn, self, arg1, arg2, arg3) {
1958
+ if (isFn)
1959
+ handler.call(self, arg1, arg2, arg3);
1960
+ else {
1961
+ var len = handler.length;
1962
+ var listeners = arrayClone$1$1(handler, len);
1963
+ for (var i = 0; i < len; ++i)
1964
+ listeners[i].call(self, arg1, arg2, arg3);
1965
+ }
1966
+ }
1967
+
1968
+ function emitMany(handler, isFn, self, args) {
1969
+ if (isFn)
1970
+ handler.apply(self, args);
1971
+ else {
1972
+ var len = handler.length;
1973
+ var listeners = arrayClone$1$1(handler, len);
1974
+ for (var i = 0; i < len; ++i)
1975
+ listeners[i].apply(self, args);
1976
+ }
1977
+ }
1978
+
1979
+ EventEmitter$2$1.prototype.emit = function emit(type) {
1980
+ var er, handler, len, args, i, events, domain;
1981
+ var doError = (type === 'error');
1982
+
1983
+ events = this._events;
1984
+ if (events)
1985
+ doError = (doError && events.error == null);
1986
+ else if (!doError)
1987
+ return false;
1988
+
1989
+ domain = this.domain;
1990
+
1991
+ // If there is no 'error' event listener then throw.
1992
+ if (doError) {
1993
+ er = arguments[1];
1994
+ if (domain) {
1995
+ if (!er)
1996
+ er = new Error('Uncaught, unspecified "error" event');
1997
+ er.domainEmitter = this;
1998
+ er.domain = domain;
1999
+ er.domainThrown = false;
2000
+ domain.emit('error', er);
2001
+ } else if (er instanceof Error) {
2002
+ throw er; // Unhandled 'error' event
2003
+ } else {
2004
+ // At least give some kind of context to the user
2005
+ var err = new Error('Uncaught, unspecified "error" event. (' + er + ')');
2006
+ err.context = er;
2007
+ throw err;
2008
+ }
2009
+ return false;
2010
+ }
2011
+
2012
+ handler = events[type];
2013
+
2014
+ if (!handler)
2015
+ return false;
2016
+
2017
+ var isFn = typeof handler === 'function';
2018
+ len = arguments.length;
2019
+ switch (len) {
2020
+ // fast cases
2021
+ case 1:
2022
+ emitNone(handler, isFn, this);
2023
+ break;
2024
+ case 2:
2025
+ emitOne(handler, isFn, this, arguments[1]);
2026
+ break;
2027
+ case 3:
2028
+ emitTwo(handler, isFn, this, arguments[1], arguments[2]);
2029
+ break;
2030
+ case 4:
2031
+ emitThree(handler, isFn, this, arguments[1], arguments[2], arguments[3]);
2032
+ break;
2033
+ // slower
2034
+ default:
2035
+ args = new Array(len - 1);
2036
+ for (i = 1; i < len; i++)
2037
+ args[i - 1] = arguments[i];
2038
+ emitMany(handler, isFn, this, args);
2039
+ }
2040
+
2041
+ return true;
2042
+ };
2043
+
2044
+ function _addListener$1$1(target, type, listener, prepend) {
2045
+ var m;
2046
+ var events;
2047
+ var existing;
2048
+
2049
+ if (typeof listener !== 'function')
2050
+ throw new TypeError('"listener" argument must be a function');
2051
+
2052
+ events = target._events;
2053
+ if (!events) {
2054
+ events = target._events = new EventHandlers();
2055
+ target._eventsCount = 0;
2056
+ } else {
2057
+ // To avoid recursion in the case that type === "newListener"! Before
2058
+ // adding it to the listeners, first emit "newListener".
2059
+ if (events.newListener) {
2060
+ target.emit('newListener', type,
2061
+ listener.listener ? listener.listener : listener);
2062
+
2063
+ // Re-assign `events` because a newListener handler could have caused the
2064
+ // this._events to be assigned to a new object
2065
+ events = target._events;
2066
+ }
2067
+ existing = events[type];
2068
+ }
2069
+
2070
+ if (!existing) {
2071
+ // Optimize the case of one listener. Don't need the extra array object.
2072
+ existing = events[type] = listener;
2073
+ ++target._eventsCount;
2074
+ } else {
2075
+ if (typeof existing === 'function') {
2076
+ // Adding the second element, need to change to array.
2077
+ existing = events[type] = prepend ? [listener, existing] :
2078
+ [existing, listener];
2079
+ } else {
2080
+ // If we've already got an array, just append.
2081
+ if (prepend) {
2082
+ existing.unshift(listener);
2083
+ } else {
2084
+ existing.push(listener);
2085
+ }
2086
+ }
2087
+
2088
+ // Check for listener leak
2089
+ if (!existing.warned) {
2090
+ m = $getMaxListeners(target);
2091
+ if (m && m > 0 && existing.length > m) {
2092
+ existing.warned = true;
2093
+ var w = new Error('Possible EventEmitter memory leak detected. ' +
2094
+ existing.length + ' ' + type + ' listeners added. ' +
2095
+ 'Use emitter.setMaxListeners() to increase limit');
2096
+ w.name = 'MaxListenersExceededWarning';
2097
+ w.emitter = target;
2098
+ w.type = type;
2099
+ w.count = existing.length;
2100
+ emitWarning(w);
2101
+ }
2102
+ }
2103
+ }
2104
+
2105
+ return target;
2106
+ }
2107
+ function emitWarning(e) {
2108
+ typeof console.warn === 'function' ? console.warn(e) : console.log(e);
2109
+ }
2110
+ EventEmitter$2$1.prototype.addListener = function addListener(type, listener) {
2111
+ return _addListener$1$1(this, type, listener, false);
2112
+ };
2113
+
2114
+ EventEmitter$2$1.prototype.on = EventEmitter$2$1.prototype.addListener;
2115
+
2116
+ EventEmitter$2$1.prototype.prependListener =
2117
+ function prependListener(type, listener) {
2118
+ return _addListener$1$1(this, type, listener, true);
2119
+ };
2120
+
2121
+ function _onceWrap$1$1(target, type, listener) {
2122
+ var fired = false;
2123
+ function g() {
2124
+ target.removeListener(type, g);
2125
+ if (!fired) {
2126
+ fired = true;
2127
+ listener.apply(target, arguments);
2128
+ }
2129
+ }
2130
+ g.listener = listener;
2131
+ return g;
2132
+ }
2133
+
2134
+ EventEmitter$2$1.prototype.once = function once(type, listener) {
2135
+ if (typeof listener !== 'function')
2136
+ throw new TypeError('"listener" argument must be a function');
2137
+ this.on(type, _onceWrap$1$1(this, type, listener));
2138
+ return this;
2139
+ };
2140
+
2141
+ EventEmitter$2$1.prototype.prependOnceListener =
2142
+ function prependOnceListener(type, listener) {
2143
+ if (typeof listener !== 'function')
2144
+ throw new TypeError('"listener" argument must be a function');
2145
+ this.prependListener(type, _onceWrap$1$1(this, type, listener));
2146
+ return this;
2147
+ };
2148
+
2149
+ // emits a 'removeListener' event iff the listener was removed
2150
+ EventEmitter$2$1.prototype.removeListener =
2151
+ function removeListener(type, listener) {
2152
+ var list, events, position, i, originalListener;
2153
+
2154
+ if (typeof listener !== 'function')
2155
+ throw new TypeError('"listener" argument must be a function');
2156
+
2157
+ events = this._events;
2158
+ if (!events)
2159
+ return this;
2160
+
2161
+ list = events[type];
2162
+ if (!list)
2163
+ return this;
2164
+
2165
+ if (list === listener || (list.listener && list.listener === listener)) {
2166
+ if (--this._eventsCount === 0)
2167
+ this._events = new EventHandlers();
2168
+ else {
2169
+ delete events[type];
2170
+ if (events.removeListener)
2171
+ this.emit('removeListener', type, list.listener || listener);
2172
+ }
2173
+ } else if (typeof list !== 'function') {
2174
+ position = -1;
2175
+
2176
+ for (i = list.length; i-- > 0;) {
2177
+ if (list[i] === listener ||
2178
+ (list[i].listener && list[i].listener === listener)) {
2179
+ originalListener = list[i].listener;
2180
+ position = i;
2181
+ break;
2182
+ }
2183
+ }
2184
+
2185
+ if (position < 0)
2186
+ return this;
2187
+
2188
+ if (list.length === 1) {
2189
+ list[0] = undefined;
2190
+ if (--this._eventsCount === 0) {
2191
+ this._events = new EventHandlers();
2192
+ return this;
2193
+ } else {
2194
+ delete events[type];
2195
+ }
2196
+ } else {
2197
+ spliceOne$1$1(list, position);
2198
+ }
2199
+
2200
+ if (events.removeListener)
2201
+ this.emit('removeListener', type, originalListener || listener);
2202
+ }
2203
+
2204
+ return this;
2205
+ };
2206
+
2207
+ // Alias for removeListener added in NodeJS 10.0
2208
+ // https://nodejs.org/api/events.html#events_emitter_off_eventname_listener
2209
+ EventEmitter$2$1.prototype.off = function(type, listener){
2210
+ return this.removeListener(type, listener);
2211
+ };
2212
+
2213
+ EventEmitter$2$1.prototype.removeAllListeners =
2214
+ function removeAllListeners(type) {
2215
+ var listeners, events;
2216
+
2217
+ events = this._events;
2218
+ if (!events)
2219
+ return this;
2220
+
2221
+ // not listening for removeListener, no need to emit
2222
+ if (!events.removeListener) {
2223
+ if (arguments.length === 0) {
2224
+ this._events = new EventHandlers();
2225
+ this._eventsCount = 0;
2226
+ } else if (events[type]) {
2227
+ if (--this._eventsCount === 0)
2228
+ this._events = new EventHandlers();
2229
+ else
2230
+ delete events[type];
2231
+ }
2232
+ return this;
2233
+ }
2234
+
2235
+ // emit removeListener for all listeners on all events
2236
+ if (arguments.length === 0) {
2237
+ var keys = Object.keys(events);
2238
+ for (var i = 0, key; i < keys.length; ++i) {
2239
+ key = keys[i];
2240
+ if (key === 'removeListener') continue;
2241
+ this.removeAllListeners(key);
2242
+ }
2243
+ this.removeAllListeners('removeListener');
2244
+ this._events = new EventHandlers();
2245
+ this._eventsCount = 0;
2246
+ return this;
2247
+ }
2248
+
2249
+ listeners = events[type];
2250
+
2251
+ if (typeof listeners === 'function') {
2252
+ this.removeListener(type, listeners);
2253
+ } else if (listeners) {
2254
+ // LIFO order
2255
+ do {
2256
+ this.removeListener(type, listeners[listeners.length - 1]);
2257
+ } while (listeners[0]);
2258
+ }
2259
+
2260
+ return this;
2261
+ };
2262
+
2263
+ EventEmitter$2$1.prototype.listeners = function listeners(type) {
2264
+ var evlistener;
2265
+ var ret;
2266
+ var events = this._events;
2267
+
2268
+ if (!events)
2269
+ ret = [];
2270
+ else {
2271
+ evlistener = events[type];
2272
+ if (!evlistener)
2273
+ ret = [];
2274
+ else if (typeof evlistener === 'function')
2275
+ ret = [evlistener.listener || evlistener];
2276
+ else
2277
+ ret = unwrapListeners$1$1(evlistener);
2278
+ }
2279
+
2280
+ return ret;
2281
+ };
2282
+
2283
+ EventEmitter$2$1.listenerCount = function(emitter, type) {
2284
+ if (typeof emitter.listenerCount === 'function') {
2285
+ return emitter.listenerCount(type);
2286
+ } else {
2287
+ return listenerCount$1$1.call(emitter, type);
2288
+ }
2289
+ };
2290
+
2291
+ EventEmitter$2$1.prototype.listenerCount = listenerCount$1$1;
2292
+ function listenerCount$1$1(type) {
2293
+ var events = this._events;
2294
+
2295
+ if (events) {
2296
+ var evlistener = events[type];
2297
+
2298
+ if (typeof evlistener === 'function') {
2299
+ return 1;
2300
+ } else if (evlistener) {
2301
+ return evlistener.length;
2302
+ }
2303
+ }
2304
+
2305
+ return 0;
2306
+ }
2307
+
2308
+ EventEmitter$2$1.prototype.eventNames = function eventNames() {
2309
+ return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];
2310
+ };
2311
+
2312
+ // About 1.5x faster than the two-arg version of Array#splice().
2313
+ function spliceOne$1$1(list, index) {
2314
+ for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1)
2315
+ list[i] = list[k];
2316
+ list.pop();
2317
+ }
2318
+
2319
+ function arrayClone$1$1(arr, i) {
2320
+ var copy = new Array(i);
2321
+ while (i--)
2322
+ copy[i] = arr[i];
2323
+ return copy;
2324
+ }
2325
+
2326
+ function unwrapListeners$1$1(arr) {
2327
+ var ret = new Array(arr.length);
2328
+ for (var i = 0; i < ret.length; ++i) {
2329
+ ret[i] = arr[i].listener || arr[i];
2330
+ }
2331
+ return ret;
2332
+ }
2333
+
1862
2334
  var commonjsGlobal$3 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
1863
2335
 
1864
2336
  function getDefaultExportFromCjs$1 (x) {
@@ -1880,6 +2352,12 @@ var BrowserName$1;
1880
2352
  BrowserName["EDGE"] = "Microsoft Edge";
1881
2353
  BrowserName["SAFARI"] = "Safari";
1882
2354
  })(BrowserName$1 || (BrowserName$1 = {}));
2355
+ var OSName$1;
2356
+ (function (OSName) {
2357
+ OSName["WINDOWS"] = "Windows";
2358
+ OSName["MAC"] = "macOS";
2359
+ OSName["LINUX"] = "Linux";
2360
+ })(OSName$1 || (OSName$1 = {}));
1883
2361
  class BrowserInfo$1 {
1884
2362
  static getBrowserDetails() {
1885
2363
  return this.browser.getBrowser();
@@ -1905,6 +2383,15 @@ class BrowserInfo$1 {
1905
2383
  static isSafari() {
1906
2384
  return this.browser.getBrowserName() === BrowserName$1.SAFARI;
1907
2385
  }
2386
+ static isWindows() {
2387
+ return this.browser.getOSName() === OSName$1.WINDOWS;
2388
+ }
2389
+ static isMac() {
2390
+ return this.browser.getOSName() === OSName$1.MAC;
2391
+ }
2392
+ static isLinux() {
2393
+ return this.browser.getOSName() === OSName$1.LINUX;
2394
+ }
1908
2395
  static isVersionGreaterThan(version) {
1909
2396
  const browserName = this.browser.getBrowserName();
1910
2397
  const checkTree = { [browserName]: `>${version}` };
@@ -1933,12 +2420,44 @@ class BrowserInfo$1 {
1933
2420
  }
1934
2421
  BrowserInfo$1.browser = Bowser$1.getParser(window.navigator.userAgent);
1935
2422
 
2423
+ var SystemInfoEvents$1;
2424
+ (function (SystemInfoEvents) {
2425
+ SystemInfoEvents["CpuPressureStateChange"] = "cpu-pressure-state-change";
2426
+ })(SystemInfoEvents$1 || (SystemInfoEvents$1 = {}));
2427
+ class PressureObserverHelper$1 extends EventEmitter$2$1 {
2428
+ constructor() {
2429
+ super();
2430
+ this.lastCpuPressure = undefined;
2431
+ if (PressureObserverHelper$1.isPressureObserverSupported()) {
2432
+ this.observer = new PressureObserver(this.handleStateChange.bind(this));
2433
+ if (this.observer) {
2434
+ this.observer.observe('cpu');
2435
+ }
2436
+ }
2437
+ }
2438
+ handleStateChange(records) {
2439
+ records.forEach((record) => {
2440
+ if (record.source === 'cpu' && record.state !== this.lastCpuPressure) {
2441
+ this.lastCpuPressure = record.state;
2442
+ this.emit(SystemInfoEvents$1.CpuPressureStateChange, record.state);
2443
+ }
2444
+ });
2445
+ }
2446
+ getCpuPressure() {
2447
+ return this.lastCpuPressure;
2448
+ }
2449
+ static isPressureObserverSupported() {
2450
+ return 'PressureObserver' in window;
2451
+ }
2452
+ }
2453
+ new PressureObserverHelper$1();
2454
+
1936
2455
  var CapabilityState$1;
1937
2456
  (function (CapabilityState) {
1938
2457
  CapabilityState["NOT_CAPABLE"] = "not capable";
1939
2458
  CapabilityState["CAPABLE"] = "capable";
1940
2459
  CapabilityState["UNKNOWN"] = "unknown";
1941
- })(CapabilityState$1 || (CapabilityState$1 = {}));
2460
+ })(CapabilityState$1 || (CapabilityState$1 = {}));
1942
2461
 
1943
2462
  var events$2 = {exports: {}};
1944
2463
 
@@ -2074,7 +2593,7 @@ EventEmitter$1$2.prototype.emit = function emit(type) {
2074
2593
  ReflectApply$2(handler, this, args);
2075
2594
  } else {
2076
2595
  var len = handler.length;
2077
- var listeners = arrayClone$2(handler, len);
2596
+ var listeners = arrayClone$3(handler, len);
2078
2597
  for (var i = 0; i < len; ++i)
2079
2598
  ReflectApply$2(listeners[i], this, args);
2080
2599
  }
@@ -2082,7 +2601,7 @@ EventEmitter$1$2.prototype.emit = function emit(type) {
2082
2601
  return true;
2083
2602
  };
2084
2603
 
2085
- function _addListener$2(target, type, listener, prepend) {
2604
+ function _addListener$3(target, type, listener, prepend) {
2086
2605
  var m;
2087
2606
  var events;
2088
2607
  var existing;
@@ -2145,14 +2664,14 @@ function _addListener$2(target, type, listener, prepend) {
2145
2664
  }
2146
2665
 
2147
2666
  EventEmitter$1$2.prototype.addListener = function addListener(type, listener) {
2148
- return _addListener$2(this, type, listener, false);
2667
+ return _addListener$3(this, type, listener, false);
2149
2668
  };
2150
2669
 
2151
2670
  EventEmitter$1$2.prototype.on = EventEmitter$1$2.prototype.addListener;
2152
2671
 
2153
2672
  EventEmitter$1$2.prototype.prependListener =
2154
2673
  function prependListener(type, listener) {
2155
- return _addListener$2(this, type, listener, true);
2674
+ return _addListener$3(this, type, listener, true);
2156
2675
  };
2157
2676
 
2158
2677
  function onceWrapper$2() {
@@ -2165,7 +2684,7 @@ function onceWrapper$2() {
2165
2684
  }
2166
2685
  }
2167
2686
 
2168
- function _onceWrap$2(target, type, listener) {
2687
+ function _onceWrap$3(target, type, listener) {
2169
2688
  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
2170
2689
  var wrapped = onceWrapper$2.bind(state);
2171
2690
  wrapped.listener = listener;
@@ -2175,14 +2694,14 @@ function _onceWrap$2(target, type, listener) {
2175
2694
 
2176
2695
  EventEmitter$1$2.prototype.once = function once(type, listener) {
2177
2696
  checkListener$2(listener);
2178
- this.on(type, _onceWrap$2(this, type, listener));
2697
+ this.on(type, _onceWrap$3(this, type, listener));
2179
2698
  return this;
2180
2699
  };
2181
2700
 
2182
2701
  EventEmitter$1$2.prototype.prependOnceListener =
2183
2702
  function prependOnceListener(type, listener) {
2184
2703
  checkListener$2(listener);
2185
- this.prependListener(type, _onceWrap$2(this, type, listener));
2704
+ this.prependListener(type, _onceWrap$3(this, type, listener));
2186
2705
  return this;
2187
2706
  };
2188
2707
 
@@ -2226,7 +2745,7 @@ EventEmitter$1$2.prototype.removeListener =
2226
2745
  if (position === 0)
2227
2746
  list.shift();
2228
2747
  else {
2229
- spliceOne$2(list, position);
2748
+ spliceOne$3(list, position);
2230
2749
  }
2231
2750
 
2232
2751
  if (list.length === 1)
@@ -2306,7 +2825,7 @@ function _listeners$2(target, type, unwrap) {
2306
2825
  return unwrap ? [evlistener.listener || evlistener] : [evlistener];
2307
2826
 
2308
2827
  return unwrap ?
2309
- unwrapListeners$2(evlistener) : arrayClone$2(evlistener, evlistener.length);
2828
+ unwrapListeners$3(evlistener) : arrayClone$3(evlistener, evlistener.length);
2310
2829
  }
2311
2830
 
2312
2831
  EventEmitter$1$2.prototype.listeners = function listeners(type) {
@@ -2321,12 +2840,12 @@ EventEmitter$1$2.listenerCount = function(emitter, type) {
2321
2840
  if (typeof emitter.listenerCount === 'function') {
2322
2841
  return emitter.listenerCount(type);
2323
2842
  } else {
2324
- return listenerCount$2.call(emitter, type);
2843
+ return listenerCount$3.call(emitter, type);
2325
2844
  }
2326
2845
  };
2327
2846
 
2328
- EventEmitter$1$2.prototype.listenerCount = listenerCount$2;
2329
- function listenerCount$2(type) {
2847
+ EventEmitter$1$2.prototype.listenerCount = listenerCount$3;
2848
+ function listenerCount$3(type) {
2330
2849
  var events = this._events;
2331
2850
 
2332
2851
  if (events !== undefined) {
@@ -2346,20 +2865,20 @@ EventEmitter$1$2.prototype.eventNames = function eventNames() {
2346
2865
  return this._eventsCount > 0 ? ReflectOwnKeys$2(this._events) : [];
2347
2866
  };
2348
2867
 
2349
- function arrayClone$2(arr, n) {
2868
+ function arrayClone$3(arr, n) {
2350
2869
  var copy = new Array(n);
2351
2870
  for (var i = 0; i < n; ++i)
2352
2871
  copy[i] = arr[i];
2353
2872
  return copy;
2354
2873
  }
2355
2874
 
2356
- function spliceOne$2(list, index) {
2875
+ function spliceOne$3(list, index) {
2357
2876
  for (; index + 1 < list.length; index++)
2358
2877
  list[index] = list[index + 1];
2359
2878
  list.pop();
2360
2879
  }
2361
2880
 
2362
- function unwrapListeners$2(arr) {
2881
+ function unwrapListeners$3(arr) {
2363
2882
  var ret = new Array(arr.length);
2364
2883
  for (var i = 0; i < ret.length; ++i) {
2365
2884
  ret[i] = arr[i].listener || arr[i];
@@ -6060,7 +6579,7 @@ class PeerConnection extends EventEmitter$4 {
6060
6579
  * other peer.
6061
6580
  */
6062
6581
  createAnswer(options) {
6063
- return __awaiter$2(this, void 0, void 0, function* () {
6582
+ return __awaiter$1(this, void 0, void 0, function* () {
6064
6583
  return this.pc.createAnswer(options).then((answer) => {
6065
6584
  this.emit(PeerConnection.Events.CreateAnswerOnSuccess, answer);
6066
6585
  return answer;
@@ -6078,7 +6597,7 @@ class PeerConnection extends EventEmitter$4 {
6078
6597
  * That received offer should be delivered through the signaling server to a remote peer.
6079
6598
  */
6080
6599
  createOffer(options) {
6081
- return __awaiter$2(this, void 0, void 0, function* () {
6600
+ return __awaiter$1(this, void 0, void 0, function* () {
6082
6601
  return this.pc.createOffer(options).then((offer) => {
6083
6602
  this.emit(PeerConnection.Events.CreateOfferOnSuccess, offer);
6084
6603
  return offer;
@@ -6094,7 +6613,7 @@ class PeerConnection extends EventEmitter$4 {
6094
6613
  * successfully changed or rejected if the change cannot be applied.
6095
6614
  */
6096
6615
  setLocalDescription(description) {
6097
- return __awaiter$2(this, void 0, void 0, function* () {
6616
+ return __awaiter$1(this, void 0, void 0, function* () {
6098
6617
  var _a;
6099
6618
  // In Firefox, setLocalDescription will not throw an error if an m-line has no codecs, even
6100
6619
  // though it violates https://datatracker.ietf.org/doc/html/rfc8866. See
@@ -6124,7 +6643,7 @@ class PeerConnection extends EventEmitter$4 {
6124
6643
  * specified description is incompatible with one or both of the peers on the connection).
6125
6644
  */
6126
6645
  setRemoteDescription(description) {
6127
- return __awaiter$2(this, void 0, void 0, function* () {
6646
+ return __awaiter$1(this, void 0, void 0, function* () {
6128
6647
  return this.pc.setRemoteDescription(description).then(() => {
6129
6648
  this.emit(PeerConnection.Events.SetRemoteDescriptionOnSuccess, description);
6130
6649
  });
@@ -6199,7 +6718,7 @@ class PeerConnection extends EventEmitter$4 {
6199
6718
  * @returns The connection type which would be `ConnectionType`.
6200
6719
  */
6201
6720
  getCurrentConnectionType() {
6202
- return __awaiter$2(this, void 0, void 0, function* () {
6721
+ return __awaiter$1(this, void 0, void 0, function* () {
6203
6722
  var _a;
6204
6723
  // make sure this method only can be called when the ice connection is established;
6205
6724
  const isIceConnected = this.pc.iceConnectionState === 'connected' || this.pc.iceConnectionState === 'completed';
@@ -7654,7 +8173,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
7654
8173
  PERFORMANCE OF THIS SOFTWARE.
7655
8174
  ***************************************************************************** */
7656
8175
 
7657
- function __awaiter$1(thisArg, _arguments, P, generator) {
8176
+ function __awaiter(thisArg, _arguments, P, generator) {
7658
8177
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7659
8178
  return new (P || (P = Promise))(function (resolve, reject) {
7660
8179
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -7664,53 +8183,15 @@ function __awaiter$1(thisArg, _arguments, P, generator) {
7664
8183
  });
7665
8184
  }
7666
8185
 
7667
- var rtcstats = {};
7668
-
7669
- var __awaiter = (commonjsGlobal$1 && commonjsGlobal$1.__awaiter) || function (thisArg, _arguments, P, generator) {
7670
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7671
- return new (P || (P = Promise))(function (resolve, reject) {
7672
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7673
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7674
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7675
- step((generator = generator.apply(thisArg, _arguments || [])).next());
7676
- });
7677
- };
7678
- var __generator = (commonjsGlobal$1 && commonjsGlobal$1.__generator) || function (thisArg, body) {
7679
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7680
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7681
- function verb(n) { return function (v) { return step([n, v]); }; }
7682
- function step(op) {
7683
- if (f) throw new TypeError("Generator is already executing.");
7684
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
7685
- 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;
7686
- if (y = 0, t) op = [op[0] & 2, t.value];
7687
- switch (op[0]) {
7688
- case 0: case 1: t = op; break;
7689
- case 4: _.label++; return { value: op[1], done: false };
7690
- case 5: _.label++; y = op[1]; op = [0]; continue;
7691
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
7692
- default:
7693
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
7694
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
7695
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
7696
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
7697
- if (t[2]) _.ops.pop();
7698
- _.trys.pop(); continue;
7699
- }
7700
- op = body.call(thisArg, _);
7701
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
7702
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
7703
- }
7704
- };
7705
- Object.defineProperty(rtcstats, "__esModule", { value: true });
7706
- var rtcStats_1 = rtcstats.rtcStats = void 0;
8186
+ // @todo WEBEX-425803: fix types issues with inline ts-ignore rules.
8187
+ // @see https://jira-eng-gpk2.cisco.com/jira/browse/WEBEX-425803
7707
8188
  /**
7708
8189
  * Copies values of any nested depth.
7709
8190
  *
7710
8191
  * @param value - The value to be copied.
7711
8192
  * @returns - Copied value.
7712
8193
  */
7713
- var deepCopy$1 = function (value) { return JSON.parse(JSON.stringify(value)); };
8194
+ const deepCopy$1 = (value) => JSON.parse(JSON.stringify(value));
7714
8195
  /**
7715
8196
  * Check deep equality between two values.
7716
8197
  *
@@ -7718,7 +8199,7 @@ var deepCopy$1 = function (value) { return JSON.parse(JSON.stringify(value)); };
7718
8199
  * @param value2 - Second value to check.
7719
8200
  * @returns True if values are deeply equal, false otherwise.
7720
8201
  */
7721
- var deepEqual = function (value1, value2) {
8202
+ const deepEqual = (value1, value2) => {
7722
8203
  // If both immutable values are equal, return true.
7723
8204
  if (value1 === value2) {
7724
8205
  return true;
@@ -7733,8 +8214,10 @@ var deepEqual = function (value1, value2) {
7733
8214
  }
7734
8215
  // Deep equal check each property in the object, returns true if we found no
7735
8216
  // differing properties.
7736
- return Object.keys(value1).reduce(function (val, prop) {
8217
+ return Object.keys(value1).reduce((val, prop) => {
8218
+ // @ts-ignore
7737
8219
  if (value2[prop]) {
8220
+ // @ts-ignore
7738
8221
  if (!deepEqual(value1[prop], value2[prop])) {
7739
8222
  return false;
7740
8223
  }
@@ -7754,38 +8237,36 @@ var deepEqual = function (value1, value2) {
7754
8237
  * @param report - The report in Map form.
7755
8238
  * @returns - A deduped object.
7756
8239
  */
7757
- var map2obj = function (report) {
8240
+ const map2obj = (report) => {
7758
8241
  if (!report.size) {
7759
8242
  return report;
7760
8243
  }
7761
- var o = {};
7762
- report.forEach(function (value, key) {
8244
+ const o = {};
8245
+ report.forEach((value, key) => {
8246
+ // @ts-ignore
7763
8247
  o[key] = value;
7764
8248
  });
7765
8249
  return o;
7766
8250
  };
7767
- var dumpStream = function (stream) { return ({
8251
+ const dumpStream = (stream) => ({
7768
8252
  id: stream.id,
7769
- tracks: stream.getTracks().map(function (track) { return ({
8253
+ tracks: stream.getTracks().map((track) => ({
7770
8254
  id: track.id,
7771
8255
  kind: track.kind,
7772
8256
  label: track.label,
7773
8257
  enabled: track.enabled,
7774
8258
  muted: track.muted,
7775
8259
  readyState: track.readyState,
7776
- }); }),
7777
- }); };
7778
- var persistedKeys = ['type', 'id', 'timestamp'];
8260
+ })),
8261
+ });
8262
+ const persistedKeys = ['type', 'id', 'timestamp'];
7779
8263
  /**
7780
8264
  * Check to see if the report consists of more than just the persisted metadata.
7781
8265
  *
7782
8266
  * @param report - The report line being checked.
7783
8267
  * @returns True if the report item contains non-persisted keys, false otherwise.
7784
8268
  */
7785
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7786
- var hasNonMetadata = function (report) {
7787
- return !!Object.keys(report).filter(function (key) { return !persistedKeys.includes(key); }).length;
7788
- };
8269
+ const hasNonMetadata = (report) => !!Object.keys(report).filter((key) => !persistedKeys.includes(key)).length;
7789
8270
  /**
7790
8271
  * Apply a delta compression to the stats report. Reduces size by ~90%.
7791
8272
  * To reduce further, report keys could be compressed.
@@ -7794,35 +8275,42 @@ var hasNonMetadata = function (report) {
7794
8275
  * @param newStats - New incoming stats.
7795
8276
  * @returns - Compressed Stats.
7796
8277
  */
7797
- var deltaCompression = function (oldStats, newStats) {
7798
- var updatedStats = deepCopy$1(newStats);
7799
- Object.keys(updatedStats).forEach(function (id) {
7800
- var report = updatedStats[id];
8278
+ const deltaCompression = (oldStats, newStats) => {
8279
+ const updatedStats = deepCopy$1(newStats);
8280
+ Object.keys(updatedStats).forEach((id) => {
8281
+ // @ts-ignore
8282
+ const report = updatedStats[id];
8283
+ // @ts-ignore
7801
8284
  if (!oldStats[id]) {
7802
8285
  return;
7803
8286
  }
7804
8287
  // Persist specific values beyond delta compression, as long as they
7805
8288
  // aren't the only non-deduped keys.
7806
- Object.keys(report).forEach(function (name) {
8289
+ Object.keys(report).forEach((name) => {
8290
+ // @ts-ignore
7807
8291
  if (deepEqual(report[name], oldStats[id][name]) && !persistedKeys.includes(name)) {
8292
+ // @ts-ignore
7808
8293
  delete updatedStats[id][name];
7809
8294
  }
7810
8295
  if (!hasNonMetadata(report)) {
8296
+ // @ts-ignore
7811
8297
  delete updatedStats[id];
7812
8298
  }
7813
8299
  });
7814
8300
  });
7815
8301
  // Use the most recent timestamp.
7816
- var timestamp = -Infinity;
7817
- Object.keys(updatedStats).forEach(function (id) {
7818
- var report = updatedStats[id];
8302
+ let timestamp = -Infinity;
8303
+ Object.keys(updatedStats).forEach((id) => {
8304
+ // @ts-ignore
8305
+ const report = updatedStats[id];
7819
8306
  if (report.timestamp > timestamp) {
7820
8307
  timestamp = report.timestamp;
7821
8308
  }
7822
8309
  });
7823
8310
  // Delete the timestamps on each item.
7824
- Object.keys(updatedStats).forEach(function (id) {
7825
- var report = updatedStats[id];
8311
+ Object.keys(updatedStats).forEach((id) => {
8312
+ // @ts-ignore
8313
+ const report = updatedStats[id];
7826
8314
  if (report.timestamp === timestamp) {
7827
8315
  delete report.timestamp;
7828
8316
  }
@@ -7836,10 +8324,11 @@ var deltaCompression = function (oldStats, newStats) {
7836
8324
  * @param report - A WebRTC stats report.
7837
8325
  * @returns - An array of Stats Report items.
7838
8326
  */
7839
- var formatStatsReport = function (report) {
7840
- return Object.keys(report)
7841
- .filter(function (name) { return name !== 'timestamp'; })
7842
- .map(function (name) { return JSON.stringify(report[name]); });
8327
+ const formatStatsReport = (report) => {
8328
+ return (Object.keys(report)
8329
+ .filter((name) => name !== 'timestamp')
8330
+ // @ts-ignore
8331
+ .map((name) => JSON.stringify(report[name])));
7843
8332
  };
7844
8333
  /**
7845
8334
  * Parametrize a single string event to contain type and an (empty) id.
@@ -7847,7 +8336,7 @@ var formatStatsReport = function (report) {
7847
8336
  * @param value - The value to parametrize.
7848
8337
  * @returns An event object.
7849
8338
  */
7850
- var makeEvent = function (value) { return [JSON.stringify({ value: value, type: 'string', id: '' })]; };
8339
+ const makeEvent = (value) => [JSON.stringify({ value, type: 'string', id: '' })];
7851
8340
  /**
7852
8341
  * Attach a Peer Connection to periodically get updated on events and stats.
7853
8342
  *
@@ -7856,9 +8345,10 @@ var makeEvent = function (value) { return [JSON.stringify({ value: value, type:
7856
8345
  * @param intervalTime - Time between each `getStats` check.
7857
8346
  * @param statsPreProcessor - Optional function that modifies stats.
7858
8347
  */
7859
- var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
7860
- if (statsPreProcessor === void 0) { statsPreProcessor = function () { return Promise.resolve(); }; }
7861
- var prev = {};
8348
+ const rtcStats = (pc, logger, intervalTime,
8349
+ // eslint-disable-next-line no-unused-vars
8350
+ statsPreProcessor = () => Promise.resolve()) => {
8351
+ let prev = {};
7862
8352
  /**
7863
8353
  * Log stats or event data with additional tracking information.
7864
8354
  *
@@ -7866,131 +8356,143 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
7866
8356
  * @param payload - Log data pertaining to the event.
7867
8357
  * @param timestamp - Time the event happened in milliseconds.
7868
8358
  */
7869
- var trace = function (name, payload, timestamp) {
7870
- logger({ timestamp: timestamp ? Math.round(timestamp) : Date.now(), name: name, payload: payload });
8359
+ const trace = (name, payload, timestamp) => {
8360
+ logger({ timestamp: timestamp ? Math.round(timestamp) : Date.now(), name, payload });
7871
8361
  };
7872
8362
  trace('rtcConfiguration', makeEvent(JSON.stringify(pc.getConfiguration())));
7873
- var origPeerConnection = window.RTCPeerConnection;
7874
- pc.addEventListener('icecandidate', function (e) {
8363
+ const origPeerConnection = window.RTCPeerConnection;
8364
+ pc.addEventListener('icecandidate', (e) => {
7875
8365
  if (e.candidate) {
7876
8366
  trace('onicecandidate', makeEvent(JSON.stringify(e.candidate)));
7877
8367
  }
7878
8368
  });
7879
- pc.addEventListener('icecandidateerror', function (event) {
7880
- var url = event.url, errorCode = event.errorCode, errorText = event.errorText;
7881
- trace('onicecandidateerror', makeEvent("[".concat(url, "] ").concat(errorCode, ": ").concat(errorText)));
8369
+ pc.addEventListener('icecandidateerror', (event) => {
8370
+ const { url, errorCode, errorText } = event;
8371
+ trace('onicecandidateerror', makeEvent(`[${url}] ${errorCode}: ${errorText}`));
7882
8372
  });
7883
- pc.addEventListener('track', function (e) {
7884
- trace('ontrack', makeEvent("".concat(e.track.kind, ":").concat(e.track.id, " ").concat(e.streams
7885
- .map(function (stream) { return "stream:".concat(stream.id); })
7886
- .join(' '))));
8373
+ pc.addEventListener('track', (e) => {
8374
+ trace('ontrack', makeEvent(`${e.track.kind}:${e.track.id} ${e.streams
8375
+ .map((stream) => `stream:${stream.id}`)
8376
+ .join(' ')}`));
7887
8377
  });
7888
- pc.addEventListener('signalingstatechange', function () {
8378
+ pc.addEventListener('signalingstatechange', () => {
7889
8379
  trace('onsignalingstatechange', makeEvent(pc.signalingState));
7890
8380
  });
7891
- pc.addEventListener('iceconnectionstatechange', function () {
8381
+ pc.addEventListener('iceconnectionstatechange', () => {
7892
8382
  trace('oniceconnectionstatechange', makeEvent(pc.iceConnectionState));
7893
8383
  });
7894
- pc.addEventListener('icegatheringstatechange', function () {
8384
+ pc.addEventListener('icegatheringstatechange', () => {
7895
8385
  trace('onicegatheringstatechange', makeEvent(pc.iceGatheringState));
7896
8386
  });
7897
- pc.addEventListener('connectionstatechange', function () {
8387
+ pc.addEventListener('connectionstatechange', () => {
7898
8388
  trace('onconnectionstatechange', makeEvent(pc.connectionState));
7899
8389
  });
7900
- pc.addEventListener('negotiationneeded', function () {
8390
+ pc.addEventListener('negotiationneeded', () => {
7901
8391
  trace('onnegotiationneeded', makeEvent('negotiationneeded'));
7902
8392
  });
7903
- pc.addEventListener('datachannel', function (event) {
7904
- trace('ondatachannel', makeEvent("".concat(event.channel.id, ": ").concat(event.channel.label)));
8393
+ pc.addEventListener('datachannel', (event) => {
8394
+ trace('ondatachannel', makeEvent(`${event.channel.id}: ${event.channel.label}`));
7905
8395
  });
7906
- ['close'].forEach(function (method) {
7907
- var nativeMethod = origPeerConnection.prototype[method];
8396
+ ['close'].forEach((method) => {
8397
+ // @ts-ignore
8398
+ const nativeMethod = origPeerConnection.prototype[method];
7908
8399
  if (nativeMethod) {
8400
+ // @ts-ignore
7909
8401
  origPeerConnection.prototype[method] = function () {
7910
- trace("on".concat(method), makeEvent(method));
8402
+ trace(`on${method}`, makeEvent(method));
7911
8403
  return nativeMethod.apply(this, arguments);
7912
8404
  };
7913
8405
  }
7914
8406
  });
7915
- ['createDataChannel'].forEach(function (method) {
7916
- var nativeMethod = origPeerConnection.prototype[method];
8407
+ ['createDataChannel'].forEach((method) => {
8408
+ // @ts-ignore
8409
+ const nativeMethod = origPeerConnection.prototype[method];
7917
8410
  if (nativeMethod) {
8411
+ // @ts-ignore
7918
8412
  origPeerConnection.prototype[method] = function () {
7919
- trace("on".concat(method), makeEvent(method));
7920
- var dataChannel = nativeMethod.apply(this, arguments);
7921
- dataChannel.addEventListener('open', function () {
7922
- trace("ondataChannelOpen", makeEvent("".concat(dataChannel.id, ":").concat(dataChannel.label)));
8413
+ trace(`on${method}`, makeEvent(method));
8414
+ const dataChannel = nativeMethod.apply(this, arguments);
8415
+ dataChannel.addEventListener('open', () => {
8416
+ trace(`ondataChannelOpen`, makeEvent(`${dataChannel.id}:${dataChannel.label}`));
7923
8417
  });
7924
- dataChannel.addEventListener('close', function () {
7925
- trace("ondataChannelClose", makeEvent("".concat(dataChannel.id, ":").concat(dataChannel.label)));
8418
+ dataChannel.addEventListener('close', () => {
8419
+ trace(`ondataChannelClose`, makeEvent(`${dataChannel.id}:${dataChannel.label}`));
7926
8420
  });
7927
- dataChannel.addEventListener('error', function (event) {
7928
- var error = event.error;
7929
- trace("ondataChannelError", makeEvent("".concat(dataChannel.id, ":").concat(dataChannel.label, ": ").concat(error.errorDetail)));
8421
+ dataChannel.addEventListener('error', (event) => {
8422
+ const { error } = event;
8423
+ trace(`ondataChannelError`, makeEvent(`${dataChannel.id}:${dataChannel.label}: ${error.errorDetail}`));
7930
8424
  });
7931
8425
  return dataChannel;
7932
8426
  };
7933
8427
  }
7934
8428
  });
7935
- ['addStream', 'removeStream'].forEach(function (method) {
7936
- var nativeMethod = origPeerConnection.prototype[method];
8429
+ ['addStream', 'removeStream'].forEach((method) => {
8430
+ // @ts-ignore
8431
+ const nativeMethod = origPeerConnection.prototype[method];
7937
8432
  if (nativeMethod) {
8433
+ // @ts-ignore
7938
8434
  origPeerConnection.prototype[method] = function () {
7939
- var stream = arguments[0];
7940
- var streamInfo = stream
8435
+ const stream = arguments[0];
8436
+ const streamInfo = stream
7941
8437
  .getTracks()
7942
- .map(function (t) { return "".concat(t.kind, ":").concat(t.id); })
8438
+ .map((t) => `${t.kind}:${t.id}`)
7943
8439
  .join(',');
7944
- trace("on".concat(method), makeEvent("".concat(stream.id, " ").concat(streamInfo)));
8440
+ trace(`on${method}`, makeEvent(`${stream.id} ${streamInfo}`));
7945
8441
  return nativeMethod.apply(this, arguments);
7946
8442
  };
7947
8443
  }
7948
8444
  });
7949
- ['addTrack'].forEach(function (method) {
7950
- var nativeMethod = origPeerConnection.prototype[method];
8445
+ ['addTrack'].forEach((method) => {
8446
+ // @ts-ignore
8447
+ const nativeMethod = origPeerConnection.prototype[method];
7951
8448
  if (nativeMethod) {
8449
+ // @ts-ignore
7952
8450
  origPeerConnection.prototype[method] = function () {
7953
- var track = arguments[0];
7954
- var streams = [].slice.call(arguments, 1);
7955
- trace("on".concat(method), makeEvent("".concat(track.kind, ":").concat(track.id, " ").concat(streams.map(function (s) { return "stream:".concat(s.id); }).join(';') || '-')));
8451
+ const track = arguments[0];
8452
+ const streams = [].slice.call(arguments, 1);
8453
+ trace(`on${method}`, makeEvent(`${track.kind}:${track.id} ${streams.map((s) => `stream:${s.id}`).join(';') || '-'}`));
7956
8454
  return nativeMethod.apply(this, arguments);
7957
8455
  };
7958
8456
  }
7959
8457
  });
7960
- ['removeTrack'].forEach(function (method) {
7961
- var nativeMethod = origPeerConnection.prototype[method];
8458
+ ['removeTrack'].forEach((method) => {
8459
+ // @ts-ignore
8460
+ const nativeMethod = origPeerConnection.prototype[method];
7962
8461
  if (nativeMethod) {
8462
+ // @ts-ignore
7963
8463
  origPeerConnection.prototype[method] = function () {
7964
- var track = arguments[0].track;
7965
- trace("on".concat(method), makeEvent(track ? "".concat(track.kind, ":").concat(track.id) : 'null'));
8464
+ const track = arguments[0].track;
8465
+ trace(`on${method}`, makeEvent(track ? `${track.kind}:${track.id}` : 'null'));
7966
8466
  return nativeMethod.apply(this, arguments);
7967
8467
  };
7968
8468
  }
7969
8469
  });
7970
- ['createOffer', 'createAnswer'].forEach(function (method) {
7971
- var nativeMethod = origPeerConnection.prototype[method];
8470
+ ['createOffer', 'createAnswer'].forEach((method) => {
8471
+ // @ts-ignore
8472
+ const nativeMethod = origPeerConnection.prototype[method];
7972
8473
  if (nativeMethod) {
8474
+ // @ts-ignore
7973
8475
  origPeerConnection.prototype[method] = function () {
7974
- var opts;
7975
- var args = arguments;
8476
+ let opts;
8477
+ const args = arguments;
7976
8478
  if (arguments.length === 1 && typeof arguments[0] === 'object') {
7977
- // eslint-disable-next-line prefer-destructuring
7978
8479
  opts = arguments[0];
7979
8480
  }
7980
8481
  else if (arguments.length === 3 && typeof arguments[2] === 'object') {
7981
- // eslint-disable-next-line prefer-destructuring
7982
8482
  opts = arguments[2];
7983
8483
  }
7984
- trace("on".concat(method), makeEvent(opts || ''));
7985
- return nativeMethod.apply(this, opts ? [opts] : undefined).then(function (description) {
7986
- trace("on".concat(method, "OnSuccess"), makeEvent(description.sdp));
8484
+ trace(`on${method}`, makeEvent(opts || ''));
8485
+ return nativeMethod.apply(this, opts ? [opts] : undefined).then(
8486
+ // @ts-ignore
8487
+ (description) => {
8488
+ trace(`on${method}OnSuccess`, makeEvent(description.sdp));
7987
8489
  if (args.length > 0 && typeof args[0] === 'function') {
7988
8490
  args[0].apply(null, [description]);
7989
8491
  return undefined;
7990
8492
  }
7991
8493
  return description;
7992
- }, function (err) {
7993
- trace("on".concat(method, "OnFailure"), makeEvent(err.toString()));
8494
+ }, (err) => {
8495
+ trace(`on${method}OnFailure`, makeEvent(err.toString()));
7994
8496
  if (args.length > 1 && typeof args[1] === 'function') {
7995
8497
  args[1].apply(null, [err]);
7996
8498
  return;
@@ -8000,64 +8502,66 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
8000
8502
  };
8001
8503
  }
8002
8504
  });
8003
- ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) {
8004
- var nativeMethod = origPeerConnection.prototype[method];
8505
+ ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach((method) => {
8506
+ // @ts-ignore
8507
+ const nativeMethod = origPeerConnection.prototype[method];
8005
8508
  if (nativeMethod) {
8509
+ // @ts-ignore
8006
8510
  origPeerConnection.prototype[method] = function () {
8007
- var _this = this;
8008
- var args = arguments;
8009
- trace("on".concat(method), makeEvent(method === 'addIceCandidate'
8511
+ const args = arguments;
8512
+ trace(`on${method}`, makeEvent(method === 'addIceCandidate'
8010
8513
  ? arguments[0]
8011
- : (arguments[0] ? arguments[0].sdp : 'undefined')));
8012
- return nativeMethod.apply(this, [arguments[0]]).then(function () {
8514
+ : arguments[0]
8515
+ ? arguments[0].sdp
8516
+ : 'undefined'));
8517
+ return nativeMethod.apply(this, [arguments[0]]).then(() => {
8013
8518
  var _a;
8014
- trace("on".concat(method, "OnSuccess"), makeEvent('success'));
8519
+ trace(`on${method}OnSuccess`, makeEvent('success'));
8015
8520
  if (method.endsWith('Description')) {
8016
- if (!_this.transportEventsPreviouslyAdded) {
8017
- var senders = _this.getSenders();
8018
- var _loop_1 = function (sender) {
8521
+ // @ts-ignore
8522
+ if (!this.transportEventsPreviouslyAdded) {
8523
+ const senders = this.getSenders();
8524
+ for (const sender of senders) {
8019
8525
  if (sender.transport) {
8020
- sender.transport.addEventListener('statechange', function () {
8526
+ sender.transport.addEventListener('statechange', () => {
8021
8527
  if (sender && sender.transport) {
8022
- trace("ondtlsStateChange", makeEvent(sender.transport.state));
8528
+ trace(`ondtlsStateChange`, makeEvent(sender.transport.state));
8023
8529
  }
8024
8530
  });
8025
- sender.transport.addEventListener('error', function (error) {
8026
- var errorEvent = error;
8027
- trace("ondtlsError", makeEvent(errorEvent.error.errorDetail));
8531
+ sender.transport.addEventListener('error', (error) => {
8532
+ const errorEvent = error;
8533
+ trace(`ondtlsError`, makeEvent(errorEvent.error.errorDetail));
8028
8534
  });
8029
8535
  if (sender.transport.iceTransport) {
8030
- sender.transport.iceTransport.addEventListener('selectedcandidatepairchange', function () {
8536
+ sender.transport.iceTransport.addEventListener('selectedcandidatepairchange', () => {
8031
8537
  var _a, _b, _c, _d, _e, _f;
8032
8538
  if (sender.transport && sender.transport.iceTransport) {
8033
- var pair = sender.transport.iceTransport.getSelectedCandidatePair();
8034
- 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);
8035
- 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);
8036
- var pairString = "local: ".concat(localCandidate, ", remote: ").concat(remoteCandidate);
8539
+ const pair = sender.transport.iceTransport.getSelectedCandidatePair();
8540
+ 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}`;
8541
+ 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}`;
8542
+ const pairString = `local: ${localCandidate}, remote: ${remoteCandidate}`;
8037
8543
  trace('onselectedCandidatePairChange', makeEvent(pairString));
8038
8544
  }
8039
8545
  });
8040
8546
  }
8041
- _this.transportEventsPreviouslyAdded = true;
8547
+ // @ts-ignore
8548
+ this.transportEventsPreviouslyAdded = true;
8042
8549
  if (pc.getConfiguration().bundlePolicy === 'max-bundle') {
8043
- return "break";
8550
+ break;
8044
8551
  }
8045
8552
  }
8046
- };
8047
- for (var _i = 0, senders_1 = senders; _i < senders_1.length; _i++) {
8048
- var sender = senders_1[_i];
8049
- var state_1 = _loop_1(sender);
8050
- if (state_1 === "break")
8051
- break;
8052
8553
  }
8053
8554
  }
8054
- if (!_this.sctpEventsPreviouslyAdded) {
8555
+ // @ts-ignore
8556
+ if (!this.sctpEventsPreviouslyAdded) {
8055
8557
  // Some Firefox versions prior to 113 have sctp defined but not the events, so check both here.
8056
- if ((_a = _this.sctp) === null || _a === void 0 ? void 0 : _a.addEventListener) {
8057
- _this.sctp.addEventListener('statechange', function () {
8058
- trace('onsctpStateChange', makeEvent(_this.sctp.state));
8558
+ if ((_a = this.sctp) === null || _a === void 0 ? void 0 : _a.addEventListener) {
8559
+ this.sctp.addEventListener('statechange', () => {
8560
+ // @ts-ignore
8561
+ trace('onsctpStateChange', makeEvent(this.sctp.state));
8059
8562
  });
8060
- _this.sctpEventsPreviouslyAdded = true;
8563
+ // @ts-ignore
8564
+ this.sctpEventsPreviouslyAdded = true;
8061
8565
  }
8062
8566
  }
8063
8567
  }
@@ -8066,8 +8570,8 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
8066
8570
  return undefined;
8067
8571
  }
8068
8572
  return undefined;
8069
- }, function (err) {
8070
- trace("on".concat(method, "OnFailure"), makeEvent(err.toString()));
8573
+ }, (err) => {
8574
+ trace(`on${method}OnFailure`, makeEvent(err.toString()));
8071
8575
  if (args.length >= 3 && typeof args[2] === 'function') {
8072
8576
  args[2].apply(null, [err]);
8073
8577
  return undefined;
@@ -8078,15 +8582,15 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
8078
8582
  }
8079
8583
  });
8080
8584
  if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
8081
- var origGetUserMedia_1 = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);
8082
- var gum = function () {
8585
+ const origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);
8586
+ const gum = function () {
8083
8587
  trace('onnavigator.mediaDevices.getUserMedia', makeEvent(JSON.stringify(arguments[0])));
8084
- return origGetUserMedia_1
8588
+ return origGetUserMedia
8085
8589
  .apply(navigator.mediaDevices, arguments)
8086
- .then(function (stream) {
8590
+ .then((stream) => {
8087
8591
  trace('onnavigator.mediaDevices.getUserMediaOnSuccess', makeEvent(JSON.stringify(dumpStream(stream))));
8088
8592
  return stream;
8089
- }, function (err) {
8593
+ }, (err) => {
8090
8594
  trace('onnavigator.mediaDevices.getUserMediaOnFailure', makeEvent(err.name));
8091
8595
  return Promise.reject(err);
8092
8596
  });
@@ -8094,53 +8598,46 @@ var rtcStats = function (pc, logger, intervalTime, statsPreProcessor) {
8094
8598
  navigator.mediaDevices.getUserMedia = gum.bind(navigator.mediaDevices);
8095
8599
  }
8096
8600
  if (navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) {
8097
- var origGetDisplayMedia_1 = navigator.mediaDevices.getDisplayMedia.bind(navigator.mediaDevices);
8098
- var gdm = function () {
8601
+ const origGetDisplayMedia = navigator.mediaDevices.getDisplayMedia.bind(navigator.mediaDevices);
8602
+ const gdm = function () {
8099
8603
  trace('onnavigator.mediaDevices.getDisplayMedia', makeEvent(JSON.stringify(arguments[0])));
8100
- return origGetDisplayMedia_1
8604
+ return origGetDisplayMedia
8101
8605
  .apply(navigator.mediaDevices, arguments)
8102
- .then(function (stream) {
8606
+ .then((stream) => {
8103
8607
  trace('onnavigator.mediaDevices.getDisplayMediaOnSuccess', makeEvent(JSON.stringify(dumpStream(stream))));
8104
8608
  return stream;
8105
- }, function (err) {
8609
+ }, (err) => {
8106
8610
  trace('onnavigator.mediaDevices.getDisplayMediaOnFailure', makeEvent(err.name));
8107
8611
  return Promise.reject(err);
8108
8612
  });
8109
8613
  };
8110
8614
  navigator.mediaDevices.getDisplayMedia = gdm.bind(navigator.mediaDevices);
8111
8615
  }
8112
- var getStatsReport = function () { return __awaiter(void 0, void 0, void 0, function () {
8113
- return __generator(this, function (_a) {
8114
- return [2 /*return*/, pc.getStats(null).then(function (res) {
8115
- // Convert from stats report to js Map in order to have values set in `statsPreProcessor`
8116
- var statsMap = new Map();
8117
- res.forEach(function (stats, key) { return statsMap.set(key, stats); });
8118
- return statsPreProcessor(statsMap).then(function () {
8119
- var now = map2obj(statsMap);
8120
- var base = deepCopy$1(now); // our new prev
8121
- var compressed = deltaCompression(prev, now);
8122
- trace('stats-report', formatStatsReport(compressed), compressed.timestamp !== -Infinity ? compressed.timestamp : undefined);
8123
- prev = base;
8124
- return Promise.resolve();
8125
- });
8126
- })];
8616
+ const getStatsReport = async () => pc.getStats(null).then((res) => {
8617
+ // Convert from stats report to js Map in order to have values set in `statsPreProcessor`
8618
+ const statsMap = new Map();
8619
+ res.forEach((stats, key) => statsMap.set(key, stats));
8620
+ return statsPreProcessor(statsMap).then(() => {
8621
+ const now = map2obj(statsMap);
8622
+ const base = deepCopy$1(now); // our new prev
8623
+ const compressed = deltaCompression(prev, now);
8624
+ trace('stats-report', formatStatsReport(compressed), compressed.timestamp !== -Infinity ? compressed.timestamp : undefined);
8625
+ prev = base;
8626
+ return Promise.resolve();
8127
8627
  });
8128
- }); };
8129
- var interval = window.setInterval(function () {
8628
+ });
8629
+ const interval = window.setInterval(() => {
8130
8630
  if (pc.signalingState === 'closed') {
8131
8631
  window.clearInterval(interval);
8132
8632
  return;
8133
8633
  }
8134
8634
  getStatsReport();
8135
8635
  }, intervalTime);
8136
- var forceStatsReport = function () { return __awaiter(void 0, void 0, void 0, function () {
8137
- return __generator(this, function (_a) {
8138
- return [2 /*return*/, getStatsReport()];
8139
- });
8140
- }); };
8141
- return { forceStatsReport: forceStatsReport };
8636
+ const forceStatsReport = async () => {
8637
+ return getStatsReport();
8638
+ };
8639
+ return { forceStatsReport };
8142
8640
  };
8143
- rtcStats_1 = rtcstats.rtcStats = rtcStats;
8144
8641
 
8145
8642
  const NUM = '\\d+';
8146
8643
  const SDP_TOKEN = "[!#$%&'*+\\-.^_`{|}~a-zA-Z0-9]+";
@@ -9598,6 +10095,38 @@ class BrowserInfo {
9598
10095
  }
9599
10096
  BrowserInfo.browser = Bowser.getParser(window.navigator.userAgent);
9600
10097
 
10098
+ var SystemInfoEvents;
10099
+ (function (SystemInfoEvents) {
10100
+ SystemInfoEvents["CpuPressureStateChange"] = "cpu-pressure-state-change";
10101
+ })(SystemInfoEvents || (SystemInfoEvents = {}));
10102
+ class PressureObserverHelper extends EventEmitter$5 {
10103
+ constructor() {
10104
+ super();
10105
+ this.lastCpuPressure = undefined;
10106
+ if (PressureObserverHelper.isPressureObserverSupported()) {
10107
+ this.observer = new PressureObserver(this.handleStateChange.bind(this));
10108
+ if (this.observer) {
10109
+ this.observer.observe('cpu');
10110
+ }
10111
+ }
10112
+ }
10113
+ handleStateChange(records) {
10114
+ records.forEach((record) => {
10115
+ if (record.source === 'cpu' && record.state !== this.lastCpuPressure) {
10116
+ this.lastCpuPressure = record.state;
10117
+ this.emit(SystemInfoEvents.CpuPressureStateChange, record.state);
10118
+ }
10119
+ });
10120
+ }
10121
+ getCpuPressure() {
10122
+ return this.lastCpuPressure;
10123
+ }
10124
+ static isPressureObserverSupported() {
10125
+ return 'PressureObserver' in window;
10126
+ }
10127
+ }
10128
+ new PressureObserverHelper();
10129
+
9601
10130
  var CapabilityState;
9602
10131
  (function (CapabilityState) {
9603
10132
  CapabilityState["NOT_CAPABLE"] = "not capable";
@@ -10656,12 +11185,12 @@ function getCurrentTimestamp() {
10656
11185
  return performance.timeOrigin + performance.now();
10657
11186
  }
10658
11187
  class StatsManager {
10659
- constructor(statsGetter, statsPreprocessor = () => __awaiter$1(this, void 0, void 0, function* () { })) {
11188
+ constructor(statsGetter, statsPreprocessor = () => __awaiter(this, void 0, void 0, function* () { })) {
10660
11189
  this.statsGetter = statsGetter;
10661
11190
  this.statsPreProcessor = statsPreprocessor;
10662
11191
  }
10663
11192
  getStats() {
10664
- return __awaiter$1(this, void 0, void 0, function* () {
11193
+ return __awaiter(this, void 0, void 0, function* () {
10665
11194
  const statsReport = yield this.statsGetter();
10666
11195
  const statsMap = new Map();
10667
11196
  statsReport.forEach((stats, key) => statsMap.set(key, stats));
@@ -10727,7 +11256,7 @@ class ReceiveOnlyTransceiver extends Transceiver {
10727
11256
  return this._receiveSlot;
10728
11257
  }
10729
11258
  getStats() {
10730
- return __awaiter$1(this, void 0, void 0, function* () {
11259
+ return __awaiter(this, void 0, void 0, function* () {
10731
11260
  const statsMap = new Map();
10732
11261
  const statsReport = yield this.receiver.getStats();
10733
11262
  statsReport.forEach((stats, key) => {
@@ -14477,7 +15006,7 @@ function waterfall (tasks, callback) {
14477
15006
  awaitify(waterfall);
14478
15007
 
14479
15008
  function processTasks(task, finishedCallback) {
14480
- return __awaiter$1(this, void 0, void 0, function* () {
15009
+ return __awaiter(this, void 0, void 0, function* () {
14481
15010
  try {
14482
15011
  yield task();
14483
15012
  finishedCallback();
@@ -14537,7 +15066,7 @@ class SendOnlyTransceiver extends Transceiver {
14537
15066
  }
14538
15067
  replaceSenderSource(stream) {
14539
15068
  var _a, _b;
14540
- return __awaiter$1(this, void 0, void 0, function* () {
15069
+ return __awaiter(this, void 0, void 0, function* () {
14541
15070
  const trackOrNull = (_a = stream === null || stream === void 0 ? void 0 : stream.outputStream.getTracks()[0]) !== null && _a !== void 0 ? _a : null;
14542
15071
  if (((_b = this.sender.track) === null || _b === void 0 ? void 0 : _b.id) !== (trackOrNull === null || trackOrNull === void 0 ? void 0 : trackOrNull.id)) {
14543
15072
  yield this.sender.replaceTrack(trackOrNull);
@@ -14551,14 +15080,14 @@ class SendOnlyTransceiver extends Transceiver {
14551
15080
  });
14552
15081
  }
14553
15082
  handleTrackChange() {
14554
- return __awaiter$1(this, void 0, void 0, function* () {
15083
+ return __awaiter(this, void 0, void 0, function* () {
14555
15084
  if (this.requested) {
14556
15085
  yield this.replaceSenderSource(this.publishedStream);
14557
15086
  }
14558
15087
  });
14559
15088
  }
14560
15089
  handleStreamConstraintsChange() {
14561
- return __awaiter$1(this, void 0, void 0, function* () {
15090
+ return __awaiter(this, void 0, void 0, function* () {
14562
15091
  yield this.updateSendParameters(this.requestedIdEncodingParamsMap);
14563
15092
  });
14564
15093
  }
@@ -14575,7 +15104,7 @@ class SendOnlyTransceiver extends Transceiver {
14575
15104
  const _super = Object.create(null, {
14576
15105
  replaceTransceiver: { get: () => super.replaceTransceiver }
14577
15106
  });
14578
- return __awaiter$1(this, void 0, void 0, function* () {
15107
+ return __awaiter(this, void 0, void 0, function* () {
14579
15108
  _super.replaceTransceiver.call(this, newRtcRtpTransceiver);
14580
15109
  newRtcRtpTransceiver.direction = this.direction;
14581
15110
  if (this.requested) {
@@ -14584,7 +15113,7 @@ class SendOnlyTransceiver extends Transceiver {
14584
15113
  });
14585
15114
  }
14586
15115
  replacePublishedStream(newStream) {
14587
- return __awaiter$1(this, void 0, void 0, function* () {
15116
+ return __awaiter(this, void 0, void 0, function* () {
14588
15117
  const oldStream = this.publishedStream;
14589
15118
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(LocalStreamEventNames.OutputTrackChange, this.handleTrackChange);
14590
15119
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(LocalStreamEventNames.ConstraintsChange, this.handleStreamConstraintsChange);
@@ -14637,7 +15166,7 @@ class SendOnlyTransceiver extends Transceiver {
14637
15166
  }
14638
15167
  }
14639
15168
  getStats() {
14640
- return __awaiter$1(this, void 0, void 0, function* () {
15169
+ return __awaiter(this, void 0, void 0, function* () {
14641
15170
  const statsMap = new Map();
14642
15171
  const statsReport = yield this.sender.getStats();
14643
15172
  statsReport.forEach((stats, key) => {
@@ -14692,8 +15221,8 @@ class SendOnlyTransceiver extends Transceiver {
14692
15221
  });
14693
15222
  }
14694
15223
  updateSendParameters(requestedIdEncodingParamsMap) {
14695
- return __awaiter$1(this, void 0, void 0, function* () {
14696
- return this.updateSendParametersQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
15224
+ return __awaiter(this, void 0, void 0, function* () {
15225
+ return this.updateSendParametersQueue.push(() => __awaiter(this, void 0, void 0, function* () {
14697
15226
  const sendParameters = this.sender.getParameters();
14698
15227
  sendParameters.encodings.forEach((encoding, index) => {
14699
15228
  var _a, _b;
@@ -14807,7 +15336,7 @@ class SendSlot {
14807
15336
  this.sendTransceiver = sendTransceiver;
14808
15337
  }
14809
15338
  publishStream(stream) {
14810
- return __awaiter$1(this, void 0, void 0, function* () {
15339
+ return __awaiter(this, void 0, void 0, function* () {
14811
15340
  if (stream === this.sendTransceiver.publishedStream) {
14812
15341
  return Promise.resolve();
14813
15342
  }
@@ -14815,7 +15344,7 @@ class SendSlot {
14815
15344
  });
14816
15345
  }
14817
15346
  unpublishStream() {
14818
- return __awaiter$1(this, void 0, void 0, function* () {
15347
+ return __awaiter(this, void 0, void 0, function* () {
14819
15348
  if (!this.sendTransceiver.publishedStream) {
14820
15349
  return Promise.resolve();
14821
15350
  }
@@ -14835,12 +15364,12 @@ class SendSlot {
14835
15364
  this.sendTransceiver.active = active;
14836
15365
  }
14837
15366
  setCodecParameters(parameters) {
14838
- return __awaiter$1(this, void 0, void 0, function* () {
15367
+ return __awaiter(this, void 0, void 0, function* () {
14839
15368
  this.sendTransceiver.setCodecParameters(parameters);
14840
15369
  });
14841
15370
  }
14842
15371
  deleteCodecParameters(parameters) {
14843
- return __awaiter$1(this, void 0, void 0, function* () {
15372
+ return __awaiter(this, void 0, void 0, function* () {
14844
15373
  this.sendTransceiver.deleteCodecParameters(parameters);
14845
15374
  });
14846
15375
  }
@@ -14852,7 +15381,7 @@ class SendSlot {
14852
15381
  }
14853
15382
  }
14854
15383
 
14855
- const organizeTransceiverStats = (sendTransceivers, recvTransceivers, peerConnectionStats) => __awaiter$1(void 0, void 0, void 0, function* () {
15384
+ const organizeTransceiverStats = (sendTransceivers, recvTransceivers, peerConnectionStats) => __awaiter(void 0, void 0, void 0, function* () {
14856
15385
  const result = {
14857
15386
  audio: {
14858
15387
  senders: [],
@@ -14871,7 +15400,7 @@ const organizeTransceiverStats = (sendTransceivers, recvTransceivers, peerConnec
14871
15400
  receivers: [],
14872
15401
  },
14873
15402
  };
14874
- yield Promise.all([...sendTransceivers.entries()].map(([mediaType, transceiver]) => __awaiter$1(void 0, void 0, void 0, function* () {
15403
+ yield Promise.all([...sendTransceivers.entries()].map(([mediaType, transceiver]) => __awaiter(void 0, void 0, void 0, function* () {
14875
15404
  var _a;
14876
15405
  const item = {
14877
15406
  report: yield transceiver.getStats(),
@@ -14896,8 +15425,8 @@ const organizeTransceiverStats = (sendTransceivers, recvTransceivers, peerConnec
14896
15425
  result.screenShareVideo.senders.push(item);
14897
15426
  }
14898
15427
  })));
14899
- yield Promise.all([...recvTransceivers.entries()].map(([mediaType, transceivers]) => __awaiter$1(void 0, void 0, void 0, function* () {
14900
- return Promise.all(transceivers.map((t) => __awaiter$1(void 0, void 0, void 0, function* () {
15428
+ yield Promise.all([...recvTransceivers.entries()].map(([mediaType, transceivers]) => __awaiter(void 0, void 0, void 0, function* () {
15429
+ return Promise.all(transceivers.map((t) => __awaiter(void 0, void 0, void 0, function* () {
14901
15430
  var _b;
14902
15431
  const item = {
14903
15432
  report: yield t.getStats(),
@@ -15414,14 +15943,14 @@ SCTP Max Message Size: ${maxMessageSize}`);
15414
15943
  return recvOnlyTransceiver;
15415
15944
  }
15416
15945
  createReceiveSlot(mediaType) {
15417
- return __awaiter$1(this, void 0, void 0, function* () {
15946
+ return __awaiter(this, void 0, void 0, function* () {
15418
15947
  return (yield this.createReceiveSlots(mediaType, 1))[0];
15419
15948
  });
15420
15949
  }
15421
15950
  createReceiveSlots(mediaType, count = 1) {
15422
- return __awaiter$1(this, void 0, void 0, function* () {
15951
+ return __awaiter(this, void 0, void 0, function* () {
15423
15952
  return new Promise((createReceiveSlotsResolve) => {
15424
- this.offerAnswerQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
15953
+ this.offerAnswerQueue.push(() => __awaiter(this, void 0, void 0, function* () {
15425
15954
  const createdReceiveOnlyTransceivers = [];
15426
15955
  for (let i = 0; i < count; i++) {
15427
15956
  const recvOnlyTransceiver = this.createReceiveTransceiver(mediaType);
@@ -15468,7 +15997,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15468
15997
  return targetCodec.pt;
15469
15998
  }
15470
15999
  waitForIceGatheringComplete() {
15471
- return __awaiter$1(this, void 0, void 0, function* () {
16000
+ return __awaiter(this, void 0, void 0, function* () {
15472
16001
  return new Promise((resolve, reject) => {
15473
16002
  const finalizeIceCandidatesGathering = () => this.pc.getIceCandidates().length > 0
15474
16003
  ? resolve()
@@ -15494,7 +16023,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15494
16023
  });
15495
16024
  }
15496
16025
  createOffer() {
15497
- return __awaiter$1(this, void 0, void 0, function* () {
16026
+ return __awaiter(this, void 0, void 0, function* () {
15498
16027
  if (!this.pc.getLocalDescription()) {
15499
16028
  this.midPredictor.allocateMidForDatachannel();
15500
16029
  }
@@ -15505,7 +16034,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15505
16034
  }
15506
16035
  const createOfferId = ++this.currentCreateOfferId;
15507
16036
  return new Promise((createOfferResolve, createOfferReject) => {
15508
- this.offerAnswerQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
16037
+ this.offerAnswerQueue.push(() => __awaiter(this, void 0, void 0, function* () {
15509
16038
  var _a;
15510
16039
  try {
15511
16040
  const offer = yield this.pc.createOffer();
@@ -15515,7 +16044,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15515
16044
  offer.sdp = this.preProcessLocalOffer(offer.sdp);
15516
16045
  yield this.pc
15517
16046
  .setLocalDescription(offer)
15518
- .then(() => __awaiter$1(this, void 0, void 0, function* () {
16047
+ .then(() => __awaiter(this, void 0, void 0, function* () {
15519
16048
  logger.info('this.pc.setLocalDescription() resolved');
15520
16049
  }))
15521
16050
  .catch((error) => {
@@ -15549,7 +16078,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15549
16078
  });
15550
16079
  }
15551
16080
  setAnswer(answer) {
15552
- return __awaiter$1(this, void 0, void 0, function* () {
16081
+ return __awaiter(this, void 0, void 0, function* () {
15553
16082
  const sdp = this.preProcessRemoteAnswer(answer);
15554
16083
  if (!this.setAnswerResolve) {
15555
16084
  logErrorAndThrow(WcmeErrorType.SET_ANSWER_FAILED, `Call to setAnswer without having previously called createOffer.`);
@@ -15557,7 +16086,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15557
16086
  logger.info('calling this.pc.setRemoteDescription()');
15558
16087
  return this.pc
15559
16088
  .setRemoteDescription({ type: 'answer', sdp })
15560
- .then(() => __awaiter$1(this, void 0, void 0, function* () {
16089
+ .then(() => __awaiter(this, void 0, void 0, function* () {
15561
16090
  logger.info('this.pc.setRemoteDescription() resolved');
15562
16091
  if (this.setAnswerResolve) {
15563
16092
  this.setAnswerResolve();
@@ -15574,7 +16103,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15574
16103
  }
15575
16104
  doLocalOfferAnswer() {
15576
16105
  var _a;
15577
- return __awaiter$1(this, void 0, void 0, function* () {
16106
+ return __awaiter(this, void 0, void 0, function* () {
15578
16107
  const offer = yield this.pc.createOffer();
15579
16108
  if (!offer.sdp) {
15580
16109
  logErrorAndThrow(WcmeErrorType.CREATE_OFFER_FAILED, 'SDP not found in offer.');
@@ -15582,7 +16111,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15582
16111
  offer.sdp = this.preProcessLocalOffer(offer.sdp);
15583
16112
  yield this.pc
15584
16113
  .setLocalDescription(offer)
15585
- .then(() => __awaiter$1(this, void 0, void 0, function* () {
16114
+ .then(() => __awaiter(this, void 0, void 0, function* () {
15586
16115
  logger.info('this.pc.setLocalDescription() resolved');
15587
16116
  }))
15588
16117
  .catch((error) => {
@@ -15592,7 +16121,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15592
16121
  const answer = this.preProcessRemoteAnswer((_a = this.pc.getRemoteDescription()) === null || _a === void 0 ? void 0 : _a.sdp);
15593
16122
  return this.pc
15594
16123
  .setRemoteDescription({ type: 'answer', sdp: answer })
15595
- .then(() => __awaiter$1(this, void 0, void 0, function* () {
16124
+ .then(() => __awaiter(this, void 0, void 0, function* () {
15596
16125
  logger.info('this.pc.setRemoteDescription() resolved');
15597
16126
  }))
15598
16127
  .catch((error) => {
@@ -15601,8 +16130,8 @@ SCTP Max Message Size: ${maxMessageSize}`);
15601
16130
  });
15602
16131
  }
15603
16132
  queueLocalOfferAnswer() {
15604
- return __awaiter$1(this, void 0, void 0, function* () {
15605
- return this.offerAnswerQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
16133
+ return __awaiter(this, void 0, void 0, function* () {
16134
+ return this.offerAnswerQueue.push(() => __awaiter(this, void 0, void 0, function* () {
15606
16135
  yield this.doLocalOfferAnswer();
15607
16136
  }));
15608
16137
  });
@@ -15775,7 +16304,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15775
16304
  }
15776
16305
  renewPeerConnection(userOptions) {
15777
16306
  var _a;
15778
- return __awaiter$1(this, void 0, void 0, function* () {
16307
+ return __awaiter(this, void 0, void 0, function* () {
15779
16308
  (_a = this.pc) === null || _a === void 0 ? void 0 : _a.close();
15780
16309
  try {
15781
16310
  if (userOptions) {
@@ -15832,28 +16361,28 @@ SCTP Max Message Size: ${maxMessageSize}`);
15832
16361
  return this.statsManager.getStats();
15833
16362
  }
15834
16363
  getTransceiverStats() {
15835
- return __awaiter$1(this, void 0, void 0, function* () {
16364
+ return __awaiter(this, void 0, void 0, function* () {
15836
16365
  const stats = yield this.getStats();
15837
16366
  const peerConnectionStats = [...stats.values()].find((stat) => stat.type === 'peer-connection');
15838
16367
  return organizeTransceiverStats(this.sendTransceivers, this.recvTransceivers, peerConnectionStats);
15839
16368
  });
15840
16369
  }
15841
16370
  preProcessStats(stats) {
15842
- return __awaiter$1(this, void 0, void 0, function* () {
16371
+ return __awaiter(this, void 0, void 0, function* () {
15843
16372
  stats.forEach((stat) => {
15844
16373
  if (stat.type === 'peer-connection') {
15845
16374
  stat.isMediaBypassEdge = this.metadata.isMediaBypassEdge;
15846
16375
  }
15847
16376
  });
15848
- yield Promise.all([...this.sendTransceivers.values()].map((transceiver) => __awaiter$1(this, void 0, void 0, function* () {
16377
+ yield Promise.all([...this.sendTransceivers.values()].map((transceiver) => __awaiter(this, void 0, void 0, function* () {
15849
16378
  (yield transceiver.getStats()).forEach((senderStats) => {
15850
16379
  if (senderStats.type === 'outbound-rtp' || senderStats.type === 'media-source') {
15851
16380
  stats.set(senderStats.id, senderStats);
15852
16381
  }
15853
16382
  });
15854
16383
  })));
15855
- yield Promise.all([...this.recvTransceivers.values()].map((transceivers) => __awaiter$1(this, void 0, void 0, function* () {
15856
- yield Promise.all(transceivers.map((transceiver) => __awaiter$1(this, void 0, void 0, function* () {
16384
+ yield Promise.all([...this.recvTransceivers.values()].map((transceivers) => __awaiter(this, void 0, void 0, function* () {
16385
+ yield Promise.all(transceivers.map((transceiver) => __awaiter(this, void 0, void 0, function* () {
15857
16386
  (yield transceiver.getStats()).forEach((receiverStats) => {
15858
16387
  if (receiverStats.type === 'inbound-rtp') {
15859
16388
  stats.set(receiverStats.id, receiverStats);
@@ -15864,7 +16393,7 @@ SCTP Max Message Size: ${maxMessageSize}`);
15864
16393
  });
15865
16394
  }
15866
16395
  attachMetricsObserver() {
15867
- this.forceStatsReport = rtcStats_1(this.pc.getUnderlyingRTCPeerConnection(), (data) => this.metricsCallback(data), 5000, (stats) => this.preProcessStats(stats)).forceStatsReport;
16396
+ this.forceStatsReport = rtcStats(this.pc.getUnderlyingRTCPeerConnection(), (data) => this.metricsCallback(data), 5000, (stats) => this.preProcessStats(stats)).forceStatsReport;
15868
16397
  }
15869
16398
  forceRtcMetricsCallback() {
15870
16399
  var _a;