@whereby.com/media 1.28.0 → 1.30.0

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/LICENCE.md ADDED
@@ -0,0 +1,23 @@
1
+ ## MIT License
2
+
3
+ Copyright (c) 2024 Whereby AS (https://www.whereby.com)
4
+ Permission is hereby granted, free of charge, to any person
5
+ obtaining a copy of this software and associated documentation
6
+ files (the "Software"), to deal in the Software without
7
+ restriction, including without limitation the rights to use,
8
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the
10
+ Software is furnished to do so, subject to the following
11
+ conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23
+ OTHER DEALINGS IN THE SOFTWARE.
package/dist/index.cjs CHANGED
@@ -115,7 +115,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
115
115
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
116
116
  PERFORMANCE OF THIS SOFTWARE.
117
117
  ***************************************************************************** */
118
- /* global Reflect, Promise, SuppressedError, Symbol */
118
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
119
119
 
120
120
 
121
121
  function __awaiter(thisArg, _arguments, P, generator) {
@@ -622,8 +622,8 @@ const removeNonUpdatedStats = (statsByView, time) => {
622
622
  }
623
623
  });
624
624
  };
625
- function collectStats(state, { logger, interval }, immediate) {
626
- return __awaiter(this, void 0, void 0, function* () {
625
+ function collectStats(state_1, _a, immediate_1) {
626
+ return __awaiter(this, arguments, void 0, function* (state, { logger, interval }, immediate) {
627
627
  const collectStatsBound = collectStats.bind(null, state, { interval, logger });
628
628
  try {
629
629
  const clients = state.getClients();
@@ -1674,31 +1674,6 @@ class RtcStream {
1674
1674
  }
1675
1675
  }
1676
1676
 
1677
- const lowPixelCount = 320 * 180;
1678
- const lowBitratePerPixel = 150000 / lowPixelCount;
1679
- const highPixelCount = 1280 * 720;
1680
- const highBitratePerPixel = 1000000 / highPixelCount;
1681
- const bitrateChangePerPixel = (highBitratePerPixel - lowBitratePerPixel) / (highPixelCount - lowPixelCount);
1682
- function getOptimalBitrate(width, height, frameRate) {
1683
- let targetPixelCount = width * height;
1684
- if (targetPixelCount < lowPixelCount)
1685
- targetPixelCount = lowPixelCount;
1686
- if (targetPixelCount > highPixelCount)
1687
- targetPixelCount = highPixelCount;
1688
- let targetBitratePerPixel = lowBitratePerPixel;
1689
- if (targetPixelCount > highPixelCount)
1690
- targetBitratePerPixel = highBitratePerPixel;
1691
- else if (targetPixelCount > lowPixelCount) {
1692
- targetBitratePerPixel += (targetPixelCount - lowPixelCount) * bitrateChangePerPixel;
1693
- }
1694
- let targetBitrate = width * height * targetBitratePerPixel;
1695
- if (frameRate <= 15)
1696
- targetBitrate = targetBitrate * 0.7;
1697
- else if (frameRate <= 24)
1698
- targetBitrate = targetBitrate * 0.9;
1699
- return targetBitrate;
1700
- }
1701
-
1702
1677
  const word = "[a-fA-F\\d:]";
1703
1678
  const boundry = (options) => options && options.includeBoundaries ? `(?:(?<=\\s|^)(?=${word})|(?<=${word})(?=\\s|$))` : "";
1704
1679
  const v4 = "(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}";
@@ -2008,9 +1983,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
2008
1983
  return this._pc.getStats();
2009
1984
  });
2010
1985
  }
2011
- send({ track, encodings, codecOptions, codec, onRtpSender }) {
2012
- var _a;
2013
- return __awaiter(this, void 0, void 0, function* () {
1986
+ send(_a) {
1987
+ return __awaiter(this, arguments, void 0, function* ({ track, encodings, codecOptions, codec, onRtpSender }) {
1988
+ var _b;
2014
1989
  this.assertNotClosed();
2015
1990
  this.assertSendDirection();
2016
1991
  logger$9.debug("send() [kind:%s, track.id:%s]", track.kind, track.id);
@@ -2058,7 +2033,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
2058
2033
  let offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
2059
2034
  if (!this._transportReady) {
2060
2035
  yield this.setupTransport({
2061
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : "client",
2036
+ localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
2062
2037
  localSdpObject,
2063
2038
  });
2064
2039
  }
@@ -2234,9 +2209,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
2234
2209
  return transceiver.sender.getStats();
2235
2210
  });
2236
2211
  }
2237
- sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
2238
- var _a;
2239
- return __awaiter(this, void 0, void 0, function* () {
2212
+ sendDataChannel(_a) {
2213
+ return __awaiter(this, arguments, void 0, function* ({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
2214
+ var _b;
2240
2215
  this.assertNotClosed();
2241
2216
  this.assertSendDirection();
2242
2217
  const options = {
@@ -2256,7 +2231,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
2256
2231
  const offerMediaObject = localSdpObject.media.find((m) => m.type === "application");
2257
2232
  if (!this._transportReady) {
2258
2233
  yield this.setupTransport({
2259
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : "client",
2234
+ localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
2260
2235
  localSdpObject,
2261
2236
  });
2262
2237
  }
@@ -2278,8 +2253,8 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
2278
2253
  });
2279
2254
  }
2280
2255
  receive(optionsList) {
2281
- var _a, _b;
2282
2256
  return __awaiter(this, void 0, void 0, function* () {
2257
+ var _a, _b;
2283
2258
  this.assertNotClosed();
2284
2259
  this.assertRecvDirection();
2285
2260
  const results = [];
@@ -2426,9 +2401,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
2426
2401
  return transceiver.receiver.getStats();
2427
2402
  });
2428
2403
  }
2429
- receiveDataChannel({ sctpStreamParameters, label, protocol, }) {
2430
- var _a;
2431
- return __awaiter(this, void 0, void 0, function* () {
2404
+ receiveDataChannel(_a) {
2405
+ return __awaiter(this, arguments, void 0, function* ({ sctpStreamParameters, label, protocol, }) {
2406
+ var _b;
2432
2407
  this.assertNotClosed();
2433
2408
  this.assertRecvDirection();
2434
2409
  const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
@@ -2451,7 +2426,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
2451
2426
  if (!this._transportReady) {
2452
2427
  const localSdpObject = sdpTransform__namespace.parse(answer.sdp);
2453
2428
  yield this.setupTransport({
2454
- localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : "client",
2429
+ localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
2455
2430
  localSdpObject,
2456
2431
  });
2457
2432
  }
@@ -2462,8 +2437,8 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
2462
2437
  return { dataChannel };
2463
2438
  });
2464
2439
  }
2465
- setupTransport({ localDtlsRole, localSdpObject, }) {
2466
- return __awaiter(this, void 0, void 0, function* () {
2440
+ setupTransport(_a) {
2441
+ return __awaiter(this, arguments, void 0, function* ({ localDtlsRole, localSdpObject, }) {
2467
2442
  if (!localSdpObject) {
2468
2443
  localSdpObject = sdpTransform__namespace.parse(this._pc.localDescription.sdp);
2469
2444
  }
@@ -2576,14 +2551,6 @@ const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY = {
2576
2551
  const SCREEN_SHARE_SETTINGS = {
2577
2552
  encodings: [{}],
2578
2553
  };
2579
- const SCREEN_SHARE_SETTINGS_LOW_BANDWIDTH = {
2580
- encodings: [
2581
- {
2582
- maxBitrate: 600000,
2583
- maxFramerate: 2,
2584
- },
2585
- ],
2586
- };
2587
2554
  const SCREEN_SHARE_SIMULCAST_SETTINGS = {
2588
2555
  encodings: [
2589
2556
  { scaleResolutionDownBy: 2, dtx: true, maxBitrate: 500000 },
@@ -2604,7 +2571,7 @@ const SCREEN_SHARE_SETTINGS_VP9 = {
2604
2571
  encodings: [{ dtx: true }],
2605
2572
  };
2606
2573
  const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
2607
- const { lowDataModeEnabled, simulcastScreenshareOn, lowBandwidth, vp9On, svcKeyScalabilityModeOn } = features;
2574
+ const { lowDataModeEnabled, simulcastScreenshareOn, vp9On, svcKeyScalabilityModeOn } = features;
2608
2575
  if (kind === "audio") {
2609
2576
  return AUDIO_SETTINGS;
2610
2577
  }
@@ -2612,7 +2579,6 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
2612
2579
  const isVp9Available = isChrome && vp9On;
2613
2580
  if (isScreenShare) {
2614
2581
  return getScreenShareMediaSettings({
2615
- lowBandwidth: lowBandwidth,
2616
2582
  isVp9Available,
2617
2583
  isSomeoneAlreadyPresenting,
2618
2584
  simulcastScreenshareOn,
@@ -2620,7 +2586,7 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
2620
2586
  }
2621
2587
  else {
2622
2588
  return getCameraMediaSettings({
2623
- lowBandwidth: lowBandwidth || lowDataModeEnabled,
2589
+ lowBandwidth: lowDataModeEnabled,
2624
2590
  isVp9Available,
2625
2591
  svcKeyScalabilityModeOn,
2626
2592
  });
@@ -2642,14 +2608,12 @@ const getCameraMediaSettings = ({ lowBandwidth, isVp9Available, svcKeyScalabilit
2642
2608
  }
2643
2609
  return VIDEO_SETTINGS_HD;
2644
2610
  };
2645
- const getScreenShareMediaSettings = ({ lowBandwidth, isVp9Available, isSomeoneAlreadyPresenting, simulcastScreenshareOn, }) => {
2611
+ const getScreenShareMediaSettings = ({ isVp9Available, isSomeoneAlreadyPresenting, simulcastScreenshareOn, }) => {
2646
2612
  if (isSomeoneAlreadyPresenting) {
2647
2613
  if (isVp9Available)
2648
2614
  return ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9;
2649
2615
  return ADDITIONAL_SCREEN_SHARE_SETTINGS;
2650
2616
  }
2651
- if (lowBandwidth && !isVp9Available)
2652
- return SCREEN_SHARE_SETTINGS_LOW_BANDWIDTH;
2653
2617
  if (isVp9Available)
2654
2618
  return SCREEN_SHARE_SETTINGS_VP9;
2655
2619
  if (simulcastScreenshareOn)
@@ -2783,8 +2747,8 @@ class ReconnectManager extends EventEmitter {
2783
2747
  socket.on(PROTOCOL_RESPONSES.SCREENSHARE_STOPPED, (payload) => this._onScreenshareChanged(payload, false));
2784
2748
  }
2785
2749
  _onRoomJoined(payload) {
2786
- var _a;
2787
2750
  return __awaiter(this, void 0, void 0, function* () {
2751
+ var _a;
2788
2752
  this.reconnectThresholdInMs = (payload.disconnectTimeout || 0) * 0.8;
2789
2753
  if (payload === null || payload === void 0 ? void 0 : payload.error) {
2790
2754
  this.emit(PROTOCOL_RESPONSES.ROOM_JOINED, payload);
@@ -4009,12 +3973,12 @@ class P2pRtcManager {
4009
3973
  if (numPeers > 7) {
4010
3974
  numPeers = 7;
4011
3975
  }
4012
- let bandwidth = this._features.bandwidth
3976
+ const bandwidth = this._features.bandwidth
4013
3977
  ? parseInt(this._features.bandwidth, 10)
4014
3978
  : {
4015
- 1: this._features.lowBandwidth ? 768 : 0,
4016
- 2: this._features.highP2PBandwidth && !this._features.lowBandwidth ? 768 : 384,
4017
- 3: this._features.highP2PBandwidth && !this._features.lowBandwidth ? 512 : 256,
3979
+ 1: 0,
3980
+ 2: 384,
3981
+ 3: 256,
4018
3982
  4: 192,
4019
3983
  5: 128,
4020
3984
  6: 128,
@@ -4023,22 +3987,6 @@ class P2pRtcManager {
4023
3987
  if (bandwidth === undefined) {
4024
3988
  return 0;
4025
3989
  }
4026
- if (this._features.adjustBitratesFromResolution) {
4027
- const cameraStream = this._getLocalCameraStream();
4028
- if (cameraStream) {
4029
- const cameraTrack = cameraStream && cameraStream.getVideoTracks()[0];
4030
- if (cameraTrack) {
4031
- const { width, height, frameRate } = cameraTrack.getSettings();
4032
- if (width && height && frameRate) {
4033
- const optimalBandwidth = Math.round(getOptimalBitrate(width, height, frameRate) / 1000);
4034
- bandwidth = Math.min(optimalBandwidth, bandwidth || optimalBandwidth);
4035
- }
4036
- }
4037
- }
4038
- }
4039
- if (this._features.higherP2PBitrates && !this._features.lowBandwidth) {
4040
- bandwidth = bandwidth * 1.5;
4041
- }
4042
3990
  this._forEachPeerConnection((session) => {
4043
3991
  session.changeBandwidth(bandwidth);
4044
3992
  });
@@ -5294,8 +5242,8 @@ class VegaRtcManager {
5294
5242
  this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_CLOSED);
5295
5243
  }
5296
5244
  _join() {
5297
- var _a, _b;
5298
5245
  return __awaiter(this, void 0, void 0, function* () {
5246
+ var _a, _b;
5299
5247
  logger$3.info("join()");
5300
5248
  this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_OPEN);
5301
5249
  try {
@@ -5328,8 +5276,8 @@ class VegaRtcManager {
5328
5276
  });
5329
5277
  }
5330
5278
  _createTransport(send) {
5331
- var _a;
5332
5279
  return __awaiter(this, void 0, void 0, function* () {
5280
+ var _a;
5333
5281
  const creator = send ? "createSendTransport" : "createRecvTransport";
5334
5282
  const transportOptions = yield this._vegaConnection.request("createTransport", {
5335
5283
  producing: send,
@@ -5384,7 +5332,7 @@ class VegaRtcManager {
5384
5332
  transport.removeListener("connectionstatechange", onConnectionStateListener);
5385
5333
  });
5386
5334
  if (send) {
5387
- transport === null || transport === void 0 ? void 0 : transport.on("produce", ({ kind, rtpParameters, appData, }, callback, errback) => __awaiter(this, void 0, void 0, function* () {
5335
+ transport === null || transport === void 0 ? void 0 : transport.on("produce", (_a, callback_1, errback_1) => __awaiter(this, [_a, callback_1, errback_1], void 0, function* ({ kind, rtpParameters, appData, }, callback, errback) {
5388
5336
  var _b;
5389
5337
  try {
5390
5338
  const { paused } = appData;
@@ -5401,10 +5349,10 @@ class VegaRtcManager {
5401
5349
  errback(error);
5402
5350
  }
5403
5351
  }));
5404
- transport === null || transport === void 0 ? void 0 : transport.on("producedata", ({ appData, sctpStreamParameters, }, callback, errback) => __awaiter(this, void 0, void 0, function* () {
5405
- var _c;
5352
+ transport === null || transport === void 0 ? void 0 : transport.on("producedata", (_a, callback_1, errback_1) => __awaiter(this, [_a, callback_1, errback_1], void 0, function* ({ appData, sctpStreamParameters, }, callback, errback) {
5353
+ var _b;
5406
5354
  try {
5407
- const { id } = yield ((_c = this._vegaConnection) === null || _c === void 0 ? void 0 : _c.request("produceData", {
5355
+ const { id } = yield ((_b = this._vegaConnection) === null || _b === void 0 ? void 0 : _b.request("produceData", {
5408
5356
  transportId: transport.id,
5409
5357
  sctpStreamParameters,
5410
5358
  appData,
@@ -5422,8 +5370,8 @@ class VegaRtcManager {
5422
5370
  }
5423
5371
  });
5424
5372
  }
5425
- _restartIce(transport, retried = 0) {
5426
- return __awaiter(this, void 0, void 0, function* () {
5373
+ _restartIce(transport_1) {
5374
+ return __awaiter(this, arguments, void 0, function* (transport, retried = 0) {
5427
5375
  if (!transport || !("closed" in transport) || !("connectionState" in transport)) {
5428
5376
  logger$3.info("_restartIce: No transport or property closed or connectionState!");
5429
5377
  return;
@@ -5577,8 +5525,8 @@ class VegaRtcManager {
5577
5525
  this._micScoreProducer = null;
5578
5526
  }
5579
5527
  _replaceMicTrack() {
5580
- var _a;
5581
5528
  return __awaiter(this, void 0, void 0, function* () {
5529
+ var _a;
5582
5530
  logger$3.info("_replaceMicTrack()");
5583
5531
  if (!this._micTrack || !this._micProducer || this._micProducer.closed)
5584
5532
  return;
@@ -5647,8 +5595,8 @@ class VegaRtcManager {
5647
5595
  }
5648
5596
  }
5649
5597
  _internalSendWebcam() {
5650
- var _a;
5651
5598
  return __awaiter(this, void 0, void 0, function* () {
5599
+ var _a;
5652
5600
  logger$3.info("_internalSendWebcam()");
5653
5601
  if (!this._sendTransport ||
5654
5602
  this._webcamProducer ||
@@ -5657,7 +5605,7 @@ class VegaRtcManager {
5657
5605
  return;
5658
5606
  }
5659
5607
  this._webcamProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
5660
- var _b, _c;
5608
+ var _a;
5661
5609
  try {
5662
5610
  const currentPaused = this._webcamPaused;
5663
5611
  const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._webcamTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
@@ -5679,7 +5627,7 @@ class VegaRtcManager {
5679
5627
  this._webcamProducerPromise = null;
5680
5628
  this._qualityMonitor.removeProducer(this._selfId, producer.id);
5681
5629
  });
5682
- if (this._webcamTrack && this._webcamTrack !== ((_b = this._webcamProducer) === null || _b === void 0 ? void 0 : _b.track)) {
5630
+ if (this._webcamTrack && this._webcamTrack !== ((_a = this._webcamProducer) === null || _a === void 0 ? void 0 : _a.track)) {
5683
5631
  this._webcamProducerPromise = null;
5684
5632
  this._replaceWebcamTrack();
5685
5633
  }
@@ -5695,9 +5643,6 @@ class VegaRtcManager {
5695
5643
  this._stopProducer(this._webcamProducer);
5696
5644
  this._webcamProducer = null;
5697
5645
  }
5698
- if (this._features.lowBandwidth && this._screenVideoTrack) {
5699
- (_c = this._webcamProducer) === null || _c === void 0 ? void 0 : _c.setMaxSpatialLayer(0);
5700
- }
5701
5646
  }
5702
5647
  }))();
5703
5648
  });
@@ -5756,7 +5701,6 @@ class VegaRtcManager {
5756
5701
  return __awaiter(this, void 0, void 0, function* () {
5757
5702
  logger$3.info("_internalSendScreenVideo()");
5758
5703
  this._screenVideoProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
5759
- var _a, _b;
5760
5704
  try {
5761
5705
  if (!this._screenVideoTrack || !this._sendTransport || this._screenVideoProducer) {
5762
5706
  this._screenVideoProducerPromise = null;
@@ -5782,9 +5726,6 @@ class VegaRtcManager {
5782
5726
  });
5783
5727
  if (this._screenVideoTrack !== this._screenVideoProducer.track)
5784
5728
  yield this._replaceScreenVideoTrack();
5785
- if (this._features.lowBandwidth) {
5786
- (_a = this._webcamProducer) === null || _a === void 0 ? void 0 : _a.setMaxSpatialLayer(0);
5787
- }
5788
5729
  }
5789
5730
  catch (error) {
5790
5731
  logger$3.error("screenVideoProducer failed:%o", error);
@@ -5794,9 +5735,6 @@ class VegaRtcManager {
5794
5735
  if (!this._screenVideoTrack) {
5795
5736
  yield this._stopProducer(this._screenVideoProducer);
5796
5737
  this._screenVideoProducer = null;
5797
- if (this._features.lowBandwidth) {
5798
- (_b = this._webcamProducer) === null || _b === void 0 ? void 0 : _b.setMaxSpatialLayer(Number.MAX_VALUE);
5799
- }
5800
5738
  }
5801
5739
  }
5802
5740
  }))();
@@ -5962,7 +5900,6 @@ class VegaRtcManager {
5962
5900
  }
5963
5901
  }
5964
5902
  removeStream(streamId, _stream, requestedByClientId) {
5965
- var _a;
5966
5903
  logger$3.info("removeStream() [streamId:%s, requestedByClientId:%s]", streamId, requestedByClientId);
5967
5904
  this._emitToSignal(PROTOCOL_REQUESTS.STOP_SCREENSHARE, {
5968
5905
  streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
@@ -5974,9 +5911,6 @@ class VegaRtcManager {
5974
5911
  this._stopProducer(this._screenAudioProducer);
5975
5912
  this._screenAudioProducer = null;
5976
5913
  this._screenAudioTrack = null;
5977
- if (this._features.lowBandwidth) {
5978
- (_a = this._webcamProducer) === null || _a === void 0 ? void 0 : _a.setMaxSpatialLayer(Number.MAX_VALUE);
5979
- }
5980
5914
  }
5981
5915
  _onMicAnalyserScoreUpdated(data) {
5982
5916
  var _a, _b;
@@ -6295,11 +6229,11 @@ class VegaRtcManager {
6295
6229
  }
6296
6230
  });
6297
6231
  }
6298
- _onConsumerClosed({ consumerId, reason }) {
6299
- var _a;
6300
- return __awaiter(this, void 0, void 0, function* () {
6232
+ _onConsumerClosed(_a) {
6233
+ return __awaiter(this, arguments, void 0, function* ({ consumerId, reason }) {
6234
+ var _b;
6301
6235
  logger$3.info("_onConsumerClosed()", { consumerId, reason });
6302
- (_a = this._consumers.get(consumerId)) === null || _a === void 0 ? void 0 : _a.close();
6236
+ (_b = this._consumers.get(consumerId)) === null || _b === void 0 ? void 0 : _b.close();
6303
6237
  });
6304
6238
  }
6305
6239
  _onConsumerPaused({ consumerId }) {
@@ -6358,8 +6292,8 @@ class VegaRtcManager {
6358
6292
  this._syncIncomingStreamsWithPWA(clientId);
6359
6293
  });
6360
6294
  }
6361
- _onDataConsumerClosed({ dataConsumerId, reason }) {
6362
- return __awaiter(this, void 0, void 0, function* () {
6295
+ _onDataConsumerClosed(_a) {
6296
+ return __awaiter(this, arguments, void 0, function* ({ dataConsumerId, reason }) {
6363
6297
  logger$3.info("_onDataConsumerClosed()", { dataConsumerId, reason });
6364
6298
  const consumer = this._dataConsumers.get(dataConsumerId);
6365
6299
  consumer === null || consumer === void 0 ? void 0 : consumer.close();
@@ -6761,6 +6695,16 @@ const issueDetectors = [
6761
6695
  },
6762
6696
  noTrackStatsIssueDetector,
6763
6697
  dryTrackIssueDetector,
6698
+ {
6699
+ id: "denoiser-context-suspended",
6700
+ enabled: ({ client, kind }) => { var _a, _b; return client.isLocalClient && kind === "audio" && !!((_b = (_a = client.audio) === null || _a === void 0 ? void 0 : _a.track) === null || _b === void 0 ? void 0 : _b._denoiserCtx); },
6701
+ check: ({ track }) => {
6702
+ var _a;
6703
+ if (!track || !("_denoiserCtx" in track))
6704
+ return false;
6705
+ return ((_a = track._denoiserCtx) === null || _a === void 0 ? void 0 : _a.state) === "suspended";
6706
+ },
6707
+ },
6764
6708
  {
6765
6709
  id: "low-layer0-bitrate",
6766
6710
  enabled: ({ hasLiveTrack, ssrc0, kind, client }) => hasLiveTrack && kind === "video" && !!ssrc0 && !!(ssrc0 === null || ssrc0 === void 0 ? void 0 : ssrc0.height) && !client.isPresentation,
@@ -7399,8 +7343,8 @@ class BandwidthTester extends EventEmitter {
7399
7343
  this.emit("close");
7400
7344
  }
7401
7345
  _start() {
7402
- var _a, _b;
7403
7346
  return __awaiter(this, void 0, void 0, function* () {
7347
+ var _a, _b;
7404
7348
  logger$1.info("_start()");
7405
7349
  this._connectTime = Date.now() - this._startTime;
7406
7350
  if (this._connectTime > 5000) {
@@ -7452,8 +7396,8 @@ class BandwidthTester extends EventEmitter {
7452
7396
  });
7453
7397
  }
7454
7398
  _createTransport(send) {
7455
- var _a;
7456
7399
  return __awaiter(this, void 0, void 0, function* () {
7400
+ var _a;
7457
7401
  const creator = send ? "createSendTransport" : "createRecvTransport";
7458
7402
  const transportOptions = yield this._vegaConnection.request("createTransport", {
7459
7403
  producing: send,
@@ -7472,7 +7416,7 @@ class BandwidthTester extends EventEmitter {
7472
7416
  callback();
7473
7417
  });
7474
7418
  if (send) {
7475
- transport === null || transport === void 0 ? void 0 : transport.on("produce", ({ kind, rtpParameters, appData }, callback, errback) => __awaiter(this, void 0, void 0, function* () {
7419
+ transport === null || transport === void 0 ? void 0 : transport.on("produce", (_a, callback_1, errback_1) => __awaiter(this, [_a, callback_1, errback_1], void 0, function* ({ kind, rtpParameters, appData }, callback, errback) {
7476
7420
  try {
7477
7421
  const { paused } = appData;
7478
7422
  const { id } = yield this._vegaConnection.request("produce", {
@@ -7861,9 +7805,9 @@ function replaceTracksInStream(stream, newStream, only) {
7861
7805
  });
7862
7806
  return replacedTracks;
7863
7807
  }
7864
- function getStream(constraintOpt, { replaceStream, fallback = true } = {}) {
7865
- var _a;
7866
- return __awaiter(this, void 0, void 0, function* () {
7808
+ function getStream(constraintOpt_1) {
7809
+ return __awaiter(this, arguments, void 0, function* (constraintOpt, { replaceStream, fallback = true } = {}) {
7810
+ var _a;
7867
7811
  let error;
7868
7812
  let newConstraints;
7869
7813
  let retryConstraintOpt;
@@ -8101,7 +8045,6 @@ exports.ReconnectManager = ReconnectManager;
8101
8045
  exports.RtcManagerDispatcher = RtcManagerDispatcher;
8102
8046
  exports.RtcStream = RtcStream;
8103
8047
  exports.SCREEN_SHARE_SETTINGS = SCREEN_SHARE_SETTINGS;
8104
- exports.SCREEN_SHARE_SETTINGS_LOW_BANDWIDTH = SCREEN_SHARE_SETTINGS_LOW_BANDWIDTH;
8105
8048
  exports.SCREEN_SHARE_SETTINGS_VP9 = SCREEN_SHARE_SETTINGS_VP9;
8106
8049
  exports.SCREEN_SHARE_SIMULCAST_SETTINGS = SCREEN_SHARE_SIMULCAST_SETTINGS;
8107
8050
  exports.STREAM_TYPES = STREAM_TYPES;
@@ -8153,7 +8096,6 @@ exports.getMediasoupDevice = getMediasoupDevice;
8153
8096
  exports.getNumFailedStatsReports = getNumFailedStatsReports;
8154
8097
  exports.getNumFailedTrackSsrcLookups = getNumFailedTrackSsrcLookups;
8155
8098
  exports.getNumMissingTrackSsrcLookups = getNumMissingTrackSsrcLookups;
8156
- exports.getOptimalBitrate = getOptimalBitrate;
8157
8099
  exports.getPeerConnectionIndex = getPeerConnectionIndex;
8158
8100
  exports.getStats = getStats;
8159
8101
  exports.getStream = getStream;
package/dist/index.d.cts CHANGED
@@ -66,7 +66,7 @@ type IssuesAndMetricsByView = {
66
66
  aggregated: IssuesAndMetricsAggregated;
67
67
  };
68
68
  declare const getIssuesAndMetrics: () => {
69
- [x: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
69
+ [clientId: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
70
70
  aggregated: IssuesAndMetricsAggregated;
71
71
  };
72
72
  declare function subscribeIssues(subscription: {
@@ -663,12 +663,6 @@ declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY: {
663
663
  declare const SCREEN_SHARE_SETTINGS: {
664
664
  encodings: {}[];
665
665
  };
666
- declare const SCREEN_SHARE_SETTINGS_LOW_BANDWIDTH: {
667
- encodings: {
668
- maxBitrate: number;
669
- maxFramerate: number;
670
- }[];
671
- };
672
666
  declare const SCREEN_SHARE_SIMULCAST_SETTINGS: {
673
667
  encodings: {
674
668
  scaleResolutionDownBy: number;
@@ -698,7 +692,6 @@ declare const SCREEN_SHARE_SETTINGS_VP9: {
698
692
  declare const getMediaSettings: (kind: string, isScreenShare: boolean, features: {
699
693
  lowDataModeEnabled?: boolean;
700
694
  simulcastScreenshareOn?: boolean;
701
- lowBandwidth?: boolean;
702
695
  vp9On?: boolean;
703
696
  svcKeyScalabilityModeOn?: boolean;
704
697
  }, isSomeoneAlreadyPresenting?: boolean) => {
@@ -719,8 +712,6 @@ declare function sortCodecs(codecs: Codec[], features: {
719
712
  preferHardwareDecodingOn?: boolean;
720
713
  }): Promise<Codec[]>;
721
714
 
722
- declare function getOptimalBitrate(width: number, height: number, frameRate: number): number;
723
-
724
715
  declare class ReconnectManager extends EventEmitter {
725
716
  _socket: any;
726
717
  _clients: any;
@@ -1817,4 +1808,5 @@ declare class RtcStream {
1817
1808
  static getTypeFromId(id: string): string;
1818
1809
  }
1819
1810
 
1820
- export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, type AddSpotlightRequest, type AudioEnableRequest, type AudioEnableRequestedEvent, type AudioEnabledEvent, BandwidthTester, type BreakoutConfig, type BreakoutGroupJoinedEvent, type BreakoutSessionUpdatedEvent, type CannotJoinUnclaimedRoomError, type ChatMessage, type ClientKickedEvent, type ClientLeftEvent, type ClientMetadataPayload, type ClientMetadataReceivedEvent, type ClientRole, type ClientUnableToJoinEvent, type CloudRecordingStartedEvent, type Codec, type Credentials, type CustomMediaStreamTrack, EVENTS, type ForbiddenError, type ForbiddenErrorNames, type GetConstraintsOptions, type GetDeviceDataResult, type GetMediaConstraintsOptions, type GetStreamOptions, type GetStreamResult, type GetUpdatedDevicesResult, type HostPresenceControlsError, type IdentifyDeviceRequest, type InternalServerError, type IssuesAndMetricsByView, type JoinRoomRequest, KNOCK_MESSAGES, KalmanFilter, type KnockAcceptedEvent, type KnockRejectedEvent, type KnockRoomRequest, type KnockerLeftEvent, type LiveTranscriptionStartedEvent, type LiveTranscriptionStoppedEvent, Logger, MAXIMUM_TURN_BANDWIDTH, MAXIMUM_TURN_BANDWIDTH_UNLIMITED, MEDIA_JITTER_BUFFER_TARGET, type MaxViewerLimitReachedError, type NewClientEvent, NoDevicesError, type OrganizationPlanExhaustedError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, type RemoveSpotlightRequest, type RoleName, type RoomConcurrencyControlsError, type RoomFullError, type RoomJoinedErrors, type RoomJoinedEvent, type RoomJoinedSuccess, type RoomKnockedEvent, type RoomLockedError, type RoomLockedEvent, type RoomMeetingTimeExhaustedError, type RoomMode, type RoomSessionEndedEvent, type RtcClientConnectionStatusChangedPayload, RtcEventNames, type RtcEvents, type RtcLocalStreamTrackAddedPayload, type RtcLocalStreamTrackRemovedPayload, type RtcManager, type RtcManagerCreatedPayload, RtcManagerDispatcher, RtcStream, type RtcStreamAddedPayload, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SETTINGS_LOW_BANDWIDTH, SCREEN_SHARE_SETTINGS_VP9, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, type ScreenshareStartedEvent, type ScreenshareStoppedEvent, type SendClientMetadataRequest, ServerSocket, Session, SfuV2Parser, type SignalClient, type SignalEvents, type SignalKnocker, type SignalRequests, type SocketConf, type SocketManager, type Spotlight, type SpotlightAddedEvent, type SpotlightRemovedEvent, type StatsMonitorOptions, type StatsMonitorState, type StatsSubscription, TYPES, type TrackStats, type TurnTransportProtocol, type UpdatedDeviceInfo, type UpdatedDevicesInfo, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_KEY, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, type VideoEnableRequest, type VideoEnableRequestedEvent, type VideoEnabledEvent, type ViewStats, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getOptimalBitrate, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, isRelayed, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, type ssrcStats, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
1811
+ export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MAXIMUM_TURN_BANDWIDTH, MAXIMUM_TURN_BANDWIDTH_UNLIMITED, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SETTINGS_VP9, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_KEY, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, isRelayed, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
1812
+ export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TrackStats, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, ViewStats, ssrcStats };
package/dist/index.d.mts CHANGED
@@ -66,7 +66,7 @@ type IssuesAndMetricsByView = {
66
66
  aggregated: IssuesAndMetricsAggregated;
67
67
  };
68
68
  declare const getIssuesAndMetrics: () => {
69
- [x: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
69
+ [clientId: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
70
70
  aggregated: IssuesAndMetricsAggregated;
71
71
  };
72
72
  declare function subscribeIssues(subscription: {
@@ -663,12 +663,6 @@ declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY: {
663
663
  declare const SCREEN_SHARE_SETTINGS: {
664
664
  encodings: {}[];
665
665
  };
666
- declare const SCREEN_SHARE_SETTINGS_LOW_BANDWIDTH: {
667
- encodings: {
668
- maxBitrate: number;
669
- maxFramerate: number;
670
- }[];
671
- };
672
666
  declare const SCREEN_SHARE_SIMULCAST_SETTINGS: {
673
667
  encodings: {
674
668
  scaleResolutionDownBy: number;
@@ -698,7 +692,6 @@ declare const SCREEN_SHARE_SETTINGS_VP9: {
698
692
  declare const getMediaSettings: (kind: string, isScreenShare: boolean, features: {
699
693
  lowDataModeEnabled?: boolean;
700
694
  simulcastScreenshareOn?: boolean;
701
- lowBandwidth?: boolean;
702
695
  vp9On?: boolean;
703
696
  svcKeyScalabilityModeOn?: boolean;
704
697
  }, isSomeoneAlreadyPresenting?: boolean) => {
@@ -719,8 +712,6 @@ declare function sortCodecs(codecs: Codec[], features: {
719
712
  preferHardwareDecodingOn?: boolean;
720
713
  }): Promise<Codec[]>;
721
714
 
722
- declare function getOptimalBitrate(width: number, height: number, frameRate: number): number;
723
-
724
715
  declare class ReconnectManager extends EventEmitter {
725
716
  _socket: any;
726
717
  _clients: any;
@@ -1817,4 +1808,5 @@ declare class RtcStream {
1817
1808
  static getTypeFromId(id: string): string;
1818
1809
  }
1819
1810
 
1820
- export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, type AddSpotlightRequest, type AudioEnableRequest, type AudioEnableRequestedEvent, type AudioEnabledEvent, BandwidthTester, type BreakoutConfig, type BreakoutGroupJoinedEvent, type BreakoutSessionUpdatedEvent, type CannotJoinUnclaimedRoomError, type ChatMessage, type ClientKickedEvent, type ClientLeftEvent, type ClientMetadataPayload, type ClientMetadataReceivedEvent, type ClientRole, type ClientUnableToJoinEvent, type CloudRecordingStartedEvent, type Codec, type Credentials, type CustomMediaStreamTrack, EVENTS, type ForbiddenError, type ForbiddenErrorNames, type GetConstraintsOptions, type GetDeviceDataResult, type GetMediaConstraintsOptions, type GetStreamOptions, type GetStreamResult, type GetUpdatedDevicesResult, type HostPresenceControlsError, type IdentifyDeviceRequest, type InternalServerError, type IssuesAndMetricsByView, type JoinRoomRequest, KNOCK_MESSAGES, KalmanFilter, type KnockAcceptedEvent, type KnockRejectedEvent, type KnockRoomRequest, type KnockerLeftEvent, type LiveTranscriptionStartedEvent, type LiveTranscriptionStoppedEvent, Logger, MAXIMUM_TURN_BANDWIDTH, MAXIMUM_TURN_BANDWIDTH_UNLIMITED, MEDIA_JITTER_BUFFER_TARGET, type MaxViewerLimitReachedError, type NewClientEvent, NoDevicesError, type OrganizationPlanExhaustedError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, type RemoveSpotlightRequest, type RoleName, type RoomConcurrencyControlsError, type RoomFullError, type RoomJoinedErrors, type RoomJoinedEvent, type RoomJoinedSuccess, type RoomKnockedEvent, type RoomLockedError, type RoomLockedEvent, type RoomMeetingTimeExhaustedError, type RoomMode, type RoomSessionEndedEvent, type RtcClientConnectionStatusChangedPayload, RtcEventNames, type RtcEvents, type RtcLocalStreamTrackAddedPayload, type RtcLocalStreamTrackRemovedPayload, type RtcManager, type RtcManagerCreatedPayload, RtcManagerDispatcher, RtcStream, type RtcStreamAddedPayload, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SETTINGS_LOW_BANDWIDTH, SCREEN_SHARE_SETTINGS_VP9, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, type ScreenshareStartedEvent, type ScreenshareStoppedEvent, type SendClientMetadataRequest, ServerSocket, Session, SfuV2Parser, type SignalClient, type SignalEvents, type SignalKnocker, type SignalRequests, type SocketConf, type SocketManager, type Spotlight, type SpotlightAddedEvent, type SpotlightRemovedEvent, type StatsMonitorOptions, type StatsMonitorState, type StatsSubscription, TYPES, type TrackStats, type TurnTransportProtocol, type UpdatedDeviceInfo, type UpdatedDevicesInfo, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_KEY, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, type VideoEnableRequest, type VideoEnableRequestedEvent, type VideoEnabledEvent, type ViewStats, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getOptimalBitrate, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, isRelayed, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, type ssrcStats, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
1811
+ export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MAXIMUM_TURN_BANDWIDTH, MAXIMUM_TURN_BANDWIDTH_UNLIMITED, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SETTINGS_VP9, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_KEY, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, isRelayed, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
1812
+ export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TrackStats, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, ViewStats, ssrcStats };