@whereby.com/media 1.29.0 → 1.31.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 +23 -0
- package/dist/index.cjs +56 -100
- package/dist/index.d.cts +4 -11
- package/dist/index.d.mts +4 -11
- package/dist/index.d.ts +4 -11
- package/dist/index.mjs +57 -98
- package/dist/legacy-esm.js +57 -98
- package/package.json +85 -75
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(
|
|
626
|
-
return __awaiter(this,
|
|
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();
|
|
@@ -1062,32 +1062,6 @@ function addAbsCaptureTimeExtMap(sdp) {
|
|
|
1062
1062
|
return addExtMap(sdp, absCaptureTimeUri, true, true);
|
|
1063
1063
|
}
|
|
1064
1064
|
|
|
1065
|
-
function isRelayed(pc) {
|
|
1066
|
-
return pc.getStats(null).then((result) => {
|
|
1067
|
-
let localCandidateType;
|
|
1068
|
-
let remoteCandidateType;
|
|
1069
|
-
result.forEach((report) => {
|
|
1070
|
-
if (report.type === "transport" && report.selectedCandidatePairId) {
|
|
1071
|
-
const transport = result.get(report.selectedCandidatePairId);
|
|
1072
|
-
if (!transport) {
|
|
1073
|
-
return;
|
|
1074
|
-
}
|
|
1075
|
-
localCandidateType = result.get(transport.localCandidateId).candidateType;
|
|
1076
|
-
remoteCandidateType = result.get(transport.remoteCandidateId).candidateType;
|
|
1077
|
-
return;
|
|
1078
|
-
}
|
|
1079
|
-
if (report.type === "candidate-pair" && report.selected) {
|
|
1080
|
-
localCandidateType = result.get(report.localCandidateId).candidateType;
|
|
1081
|
-
remoteCandidateType = result.get(report.remoteCandidateId).candidateType;
|
|
1082
|
-
}
|
|
1083
|
-
});
|
|
1084
|
-
return (localCandidateType === "relay" ||
|
|
1085
|
-
localCandidateType === "relayed" ||
|
|
1086
|
-
remoteCandidateType === "relay" ||
|
|
1087
|
-
remoteCandidateType === "relayed");
|
|
1088
|
-
});
|
|
1089
|
-
}
|
|
1090
|
-
|
|
1091
1065
|
function setVideoBandwidthUsingSetParameters(pc, bandwidth, logger = console) {
|
|
1092
1066
|
const sender = pc.getSenders().find((s) => s.track && s.track.kind === "video");
|
|
1093
1067
|
if (!sender) {
|
|
@@ -1111,15 +1085,11 @@ function setVideoBandwidthUsingSetParameters(pc, bandwidth, logger = console) {
|
|
|
1111
1085
|
});
|
|
1112
1086
|
}
|
|
1113
1087
|
|
|
1114
|
-
const MAXIMUM_TURN_BANDWIDTH = 1280;
|
|
1115
|
-
const MAXIMUM_TURN_BANDWIDTH_UNLIMITED = -1;
|
|
1116
|
-
const MEDIA_JITTER_BUFFER_TARGET = 400;
|
|
1117
|
-
|
|
1118
1088
|
var _a$5;
|
|
1119
1089
|
const adapter$5 = (_a$5 = adapterRaw.default) !== null && _a$5 !== void 0 ? _a$5 : adapterRaw;
|
|
1120
1090
|
const logger$a = new Logger();
|
|
1121
1091
|
class Session {
|
|
1122
|
-
constructor({ peerConnectionId, bandwidth,
|
|
1092
|
+
constructor({ peerConnectionId, bandwidth, deprioritizeH264Encoding, }) {
|
|
1123
1093
|
this.peerConnectionId = peerConnectionId;
|
|
1124
1094
|
this.relayCandidateSeen = false;
|
|
1125
1095
|
this.serverReflexiveCandidateSeen = false;
|
|
@@ -1136,7 +1106,6 @@ class Session {
|
|
|
1136
1106
|
totalRecv: 0,
|
|
1137
1107
|
};
|
|
1138
1108
|
this.bandwidth = bandwidth || 0;
|
|
1139
|
-
this.maximumTurnBandwidth = maximumTurnBandwidth;
|
|
1140
1109
|
this.pending = [];
|
|
1141
1110
|
this.isOperationPending = false;
|
|
1142
1111
|
this.streamIds = [];
|
|
@@ -1396,19 +1365,6 @@ class Session {
|
|
|
1396
1365
|
});
|
|
1397
1366
|
}
|
|
1398
1367
|
}
|
|
1399
|
-
maybeRestrictRelayBandwidth() {
|
|
1400
|
-
if (this.maximumTurnBandwidth === MAXIMUM_TURN_BANDWIDTH_UNLIMITED) {
|
|
1401
|
-
return;
|
|
1402
|
-
}
|
|
1403
|
-
if (!this.pc.getStats) {
|
|
1404
|
-
return;
|
|
1405
|
-
}
|
|
1406
|
-
isRelayed(this.pc).then((isRelayed) => {
|
|
1407
|
-
if (isRelayed && this.bandwidth === 0) {
|
|
1408
|
-
this.changeBandwidth(this.maximumTurnBandwidth);
|
|
1409
|
-
}
|
|
1410
|
-
});
|
|
1411
|
-
}
|
|
1412
1368
|
changeBandwidth(bandwidth) {
|
|
1413
1369
|
if (bandwidth === this.bandwidth) {
|
|
1414
1370
|
return;
|
|
@@ -1439,6 +1395,8 @@ class Session {
|
|
|
1439
1395
|
}
|
|
1440
1396
|
}
|
|
1441
1397
|
|
|
1398
|
+
const MEDIA_JITTER_BUFFER_TARGET = 400;
|
|
1399
|
+
|
|
1442
1400
|
var _a$4;
|
|
1443
1401
|
const adapter$4 = (_a$4 = adapterRaw.default) !== null && _a$4 !== void 0 ? _a$4 : adapterRaw;
|
|
1444
1402
|
function detectMicrophoneNotWorking(pc) {
|
|
@@ -1983,9 +1941,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
1983
1941
|
return this._pc.getStats();
|
|
1984
1942
|
});
|
|
1985
1943
|
}
|
|
1986
|
-
send(
|
|
1987
|
-
|
|
1988
|
-
|
|
1944
|
+
send(_a) {
|
|
1945
|
+
return __awaiter(this, arguments, void 0, function* ({ track, encodings, codecOptions, codec, onRtpSender }) {
|
|
1946
|
+
var _b;
|
|
1989
1947
|
this.assertNotClosed();
|
|
1990
1948
|
this.assertSendDirection();
|
|
1991
1949
|
logger$9.debug("send() [kind:%s, track.id:%s]", track.kind, track.id);
|
|
@@ -2033,7 +1991,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2033
1991
|
let offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
2034
1992
|
if (!this._transportReady) {
|
|
2035
1993
|
yield this.setupTransport({
|
|
2036
|
-
localDtlsRole: (
|
|
1994
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2037
1995
|
localSdpObject,
|
|
2038
1996
|
});
|
|
2039
1997
|
}
|
|
@@ -2209,9 +2167,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2209
2167
|
return transceiver.sender.getStats();
|
|
2210
2168
|
});
|
|
2211
2169
|
}
|
|
2212
|
-
sendDataChannel(
|
|
2213
|
-
|
|
2214
|
-
|
|
2170
|
+
sendDataChannel(_a) {
|
|
2171
|
+
return __awaiter(this, arguments, void 0, function* ({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
|
|
2172
|
+
var _b;
|
|
2215
2173
|
this.assertNotClosed();
|
|
2216
2174
|
this.assertSendDirection();
|
|
2217
2175
|
const options = {
|
|
@@ -2231,7 +2189,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2231
2189
|
const offerMediaObject = localSdpObject.media.find((m) => m.type === "application");
|
|
2232
2190
|
if (!this._transportReady) {
|
|
2233
2191
|
yield this.setupTransport({
|
|
2234
|
-
localDtlsRole: (
|
|
2192
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2235
2193
|
localSdpObject,
|
|
2236
2194
|
});
|
|
2237
2195
|
}
|
|
@@ -2253,8 +2211,8 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2253
2211
|
});
|
|
2254
2212
|
}
|
|
2255
2213
|
receive(optionsList) {
|
|
2256
|
-
var _a, _b;
|
|
2257
2214
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2215
|
+
var _a, _b;
|
|
2258
2216
|
this.assertNotClosed();
|
|
2259
2217
|
this.assertRecvDirection();
|
|
2260
2218
|
const results = [];
|
|
@@ -2401,9 +2359,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2401
2359
|
return transceiver.receiver.getStats();
|
|
2402
2360
|
});
|
|
2403
2361
|
}
|
|
2404
|
-
receiveDataChannel(
|
|
2405
|
-
|
|
2406
|
-
|
|
2362
|
+
receiveDataChannel(_a) {
|
|
2363
|
+
return __awaiter(this, arguments, void 0, function* ({ sctpStreamParameters, label, protocol, }) {
|
|
2364
|
+
var _b;
|
|
2407
2365
|
this.assertNotClosed();
|
|
2408
2366
|
this.assertRecvDirection();
|
|
2409
2367
|
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
@@ -2426,7 +2384,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2426
2384
|
if (!this._transportReady) {
|
|
2427
2385
|
const localSdpObject = sdpTransform__namespace.parse(answer.sdp);
|
|
2428
2386
|
yield this.setupTransport({
|
|
2429
|
-
localDtlsRole: (
|
|
2387
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2430
2388
|
localSdpObject,
|
|
2431
2389
|
});
|
|
2432
2390
|
}
|
|
@@ -2437,8 +2395,8 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2437
2395
|
return { dataChannel };
|
|
2438
2396
|
});
|
|
2439
2397
|
}
|
|
2440
|
-
setupTransport(
|
|
2441
|
-
return __awaiter(this,
|
|
2398
|
+
setupTransport(_a) {
|
|
2399
|
+
return __awaiter(this, arguments, void 0, function* ({ localDtlsRole, localSdpObject, }) {
|
|
2442
2400
|
if (!localSdpObject) {
|
|
2443
2401
|
localSdpObject = sdpTransform__namespace.parse(this._pc.localDescription.sdp);
|
|
2444
2402
|
}
|
|
@@ -2747,8 +2705,8 @@ class ReconnectManager extends EventEmitter {
|
|
|
2747
2705
|
socket.on(PROTOCOL_RESPONSES.SCREENSHARE_STOPPED, (payload) => this._onScreenshareChanged(payload, false));
|
|
2748
2706
|
}
|
|
2749
2707
|
_onRoomJoined(payload) {
|
|
2750
|
-
var _a;
|
|
2751
2708
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2709
|
+
var _a;
|
|
2752
2710
|
this.reconnectThresholdInMs = (payload.disconnectTimeout || 0) * 0.8;
|
|
2753
2711
|
if (payload === null || payload === void 0 ? void 0 : payload.error) {
|
|
2754
2712
|
this.emit(PROTOCOL_RESPONSES.ROOM_JOINED, payload);
|
|
@@ -3257,9 +3215,6 @@ class P2pRtcManager {
|
|
|
3257
3215
|
supportsScreenShareAudio() {
|
|
3258
3216
|
return true;
|
|
3259
3217
|
}
|
|
3260
|
-
maybeRestrictRelayBandwidth(session) {
|
|
3261
|
-
session.maybeRestrictRelayBandwidth();
|
|
3262
|
-
}
|
|
3263
3218
|
addNewStream(streamId, stream, audioPaused, videoPaused, beforeEffectTracks = []) {
|
|
3264
3219
|
if (stream === this.localStreams[streamId]) {
|
|
3265
3220
|
return;
|
|
@@ -3530,9 +3485,6 @@ class P2pRtcManager {
|
|
|
3530
3485
|
this.peerConnections[peerConnectionId] = session = new Session({
|
|
3531
3486
|
peerConnectionId,
|
|
3532
3487
|
bandwidth: initialBandwidth,
|
|
3533
|
-
maximumTurnBandwidth: this._features.unlimitedBandwidthWhenUsingRelayP2POn
|
|
3534
|
-
? MAXIMUM_TURN_BANDWIDTH_UNLIMITED
|
|
3535
|
-
: MAXIMUM_TURN_BANDWIDTH,
|
|
3536
3488
|
deprioritizeH264Encoding,
|
|
3537
3489
|
});
|
|
3538
3490
|
this.totalSessionsCreated++;
|
|
@@ -3637,9 +3589,6 @@ class P2pRtcManager {
|
|
|
3637
3589
|
(pc.iceConnectionState.match(/connected|completed/) ||
|
|
3638
3590
|
(browserName$1 === "chrome" && pc.localDescription && pc.localDescription.type === "answer"))) {
|
|
3639
3591
|
session.wasEverConnected = true;
|
|
3640
|
-
if (this._features.bandwidth !== "false") {
|
|
3641
|
-
this.maybeRestrictRelayBandwidth(session);
|
|
3642
|
-
}
|
|
3643
3592
|
}
|
|
3644
3593
|
if (this._isAudioOnlyMode) {
|
|
3645
3594
|
session.setAudioOnly(true, this._screenshareVideoTrackIds);
|
|
@@ -5242,8 +5191,8 @@ class VegaRtcManager {
|
|
|
5242
5191
|
this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_CLOSED);
|
|
5243
5192
|
}
|
|
5244
5193
|
_join() {
|
|
5245
|
-
var _a, _b;
|
|
5246
5194
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5195
|
+
var _a, _b;
|
|
5247
5196
|
logger$3.info("join()");
|
|
5248
5197
|
this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_OPEN);
|
|
5249
5198
|
try {
|
|
@@ -5276,8 +5225,8 @@ class VegaRtcManager {
|
|
|
5276
5225
|
});
|
|
5277
5226
|
}
|
|
5278
5227
|
_createTransport(send) {
|
|
5279
|
-
var _a;
|
|
5280
5228
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5229
|
+
var _a;
|
|
5281
5230
|
const creator = send ? "createSendTransport" : "createRecvTransport";
|
|
5282
5231
|
const transportOptions = yield this._vegaConnection.request("createTransport", {
|
|
5283
5232
|
producing: send,
|
|
@@ -5332,7 +5281,7 @@ class VegaRtcManager {
|
|
|
5332
5281
|
transport.removeListener("connectionstatechange", onConnectionStateListener);
|
|
5333
5282
|
});
|
|
5334
5283
|
if (send) {
|
|
5335
|
-
transport === null || transport === void 0 ? void 0 : transport.on("produce", (
|
|
5284
|
+
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) {
|
|
5336
5285
|
var _b;
|
|
5337
5286
|
try {
|
|
5338
5287
|
const { paused } = appData;
|
|
@@ -5349,10 +5298,10 @@ class VegaRtcManager {
|
|
|
5349
5298
|
errback(error);
|
|
5350
5299
|
}
|
|
5351
5300
|
}));
|
|
5352
|
-
transport === null || transport === void 0 ? void 0 : transport.on("producedata", (
|
|
5353
|
-
var
|
|
5301
|
+
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) {
|
|
5302
|
+
var _b;
|
|
5354
5303
|
try {
|
|
5355
|
-
const { id } = yield ((
|
|
5304
|
+
const { id } = yield ((_b = this._vegaConnection) === null || _b === void 0 ? void 0 : _b.request("produceData", {
|
|
5356
5305
|
transportId: transport.id,
|
|
5357
5306
|
sctpStreamParameters,
|
|
5358
5307
|
appData,
|
|
@@ -5370,8 +5319,8 @@ class VegaRtcManager {
|
|
|
5370
5319
|
}
|
|
5371
5320
|
});
|
|
5372
5321
|
}
|
|
5373
|
-
_restartIce(
|
|
5374
|
-
return __awaiter(this,
|
|
5322
|
+
_restartIce(transport_1) {
|
|
5323
|
+
return __awaiter(this, arguments, void 0, function* (transport, retried = 0) {
|
|
5375
5324
|
if (!transport || !("closed" in transport) || !("connectionState" in transport)) {
|
|
5376
5325
|
logger$3.info("_restartIce: No transport or property closed or connectionState!");
|
|
5377
5326
|
return;
|
|
@@ -5525,8 +5474,8 @@ class VegaRtcManager {
|
|
|
5525
5474
|
this._micScoreProducer = null;
|
|
5526
5475
|
}
|
|
5527
5476
|
_replaceMicTrack() {
|
|
5528
|
-
var _a;
|
|
5529
5477
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5478
|
+
var _a;
|
|
5530
5479
|
logger$3.info("_replaceMicTrack()");
|
|
5531
5480
|
if (!this._micTrack || !this._micProducer || this._micProducer.closed)
|
|
5532
5481
|
return;
|
|
@@ -5595,8 +5544,8 @@ class VegaRtcManager {
|
|
|
5595
5544
|
}
|
|
5596
5545
|
}
|
|
5597
5546
|
_internalSendWebcam() {
|
|
5598
|
-
var _a;
|
|
5599
5547
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5548
|
+
var _a;
|
|
5600
5549
|
logger$3.info("_internalSendWebcam()");
|
|
5601
5550
|
if (!this._sendTransport ||
|
|
5602
5551
|
this._webcamProducer ||
|
|
@@ -5605,7 +5554,7 @@ class VegaRtcManager {
|
|
|
5605
5554
|
return;
|
|
5606
5555
|
}
|
|
5607
5556
|
this._webcamProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
5608
|
-
var
|
|
5557
|
+
var _a;
|
|
5609
5558
|
try {
|
|
5610
5559
|
const currentPaused = this._webcamPaused;
|
|
5611
5560
|
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: {
|
|
@@ -5627,7 +5576,7 @@ class VegaRtcManager {
|
|
|
5627
5576
|
this._webcamProducerPromise = null;
|
|
5628
5577
|
this._qualityMonitor.removeProducer(this._selfId, producer.id);
|
|
5629
5578
|
});
|
|
5630
|
-
if (this._webcamTrack && this._webcamTrack !== ((
|
|
5579
|
+
if (this._webcamTrack && this._webcamTrack !== ((_a = this._webcamProducer) === null || _a === void 0 ? void 0 : _a.track)) {
|
|
5631
5580
|
this._webcamProducerPromise = null;
|
|
5632
5581
|
this._replaceWebcamTrack();
|
|
5633
5582
|
}
|
|
@@ -6229,11 +6178,11 @@ class VegaRtcManager {
|
|
|
6229
6178
|
}
|
|
6230
6179
|
});
|
|
6231
6180
|
}
|
|
6232
|
-
_onConsumerClosed(
|
|
6233
|
-
|
|
6234
|
-
|
|
6181
|
+
_onConsumerClosed(_a) {
|
|
6182
|
+
return __awaiter(this, arguments, void 0, function* ({ consumerId, reason }) {
|
|
6183
|
+
var _b;
|
|
6235
6184
|
logger$3.info("_onConsumerClosed()", { consumerId, reason });
|
|
6236
|
-
(
|
|
6185
|
+
(_b = this._consumers.get(consumerId)) === null || _b === void 0 ? void 0 : _b.close();
|
|
6237
6186
|
});
|
|
6238
6187
|
}
|
|
6239
6188
|
_onConsumerPaused({ consumerId }) {
|
|
@@ -6292,8 +6241,8 @@ class VegaRtcManager {
|
|
|
6292
6241
|
this._syncIncomingStreamsWithPWA(clientId);
|
|
6293
6242
|
});
|
|
6294
6243
|
}
|
|
6295
|
-
_onDataConsumerClosed(
|
|
6296
|
-
return __awaiter(this,
|
|
6244
|
+
_onDataConsumerClosed(_a) {
|
|
6245
|
+
return __awaiter(this, arguments, void 0, function* ({ dataConsumerId, reason }) {
|
|
6297
6246
|
logger$3.info("_onDataConsumerClosed()", { dataConsumerId, reason });
|
|
6298
6247
|
const consumer = this._dataConsumers.get(dataConsumerId);
|
|
6299
6248
|
consumer === null || consumer === void 0 ? void 0 : consumer.close();
|
|
@@ -6695,6 +6644,16 @@ const issueDetectors = [
|
|
|
6695
6644
|
},
|
|
6696
6645
|
noTrackStatsIssueDetector,
|
|
6697
6646
|
dryTrackIssueDetector,
|
|
6647
|
+
{
|
|
6648
|
+
id: "denoiser-context-suspended",
|
|
6649
|
+
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); },
|
|
6650
|
+
check: ({ track }) => {
|
|
6651
|
+
var _a;
|
|
6652
|
+
if (!track || !("_denoiserCtx" in track))
|
|
6653
|
+
return false;
|
|
6654
|
+
return ((_a = track._denoiserCtx) === null || _a === void 0 ? void 0 : _a.state) === "suspended";
|
|
6655
|
+
},
|
|
6656
|
+
},
|
|
6698
6657
|
{
|
|
6699
6658
|
id: "low-layer0-bitrate",
|
|
6700
6659
|
enabled: ({ hasLiveTrack, ssrc0, kind, client }) => hasLiveTrack && kind === "video" && !!ssrc0 && !!(ssrc0 === null || ssrc0 === void 0 ? void 0 : ssrc0.height) && !client.isPresentation,
|
|
@@ -7333,8 +7292,8 @@ class BandwidthTester extends EventEmitter {
|
|
|
7333
7292
|
this.emit("close");
|
|
7334
7293
|
}
|
|
7335
7294
|
_start() {
|
|
7336
|
-
var _a, _b;
|
|
7337
7295
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7296
|
+
var _a, _b;
|
|
7338
7297
|
logger$1.info("_start()");
|
|
7339
7298
|
this._connectTime = Date.now() - this._startTime;
|
|
7340
7299
|
if (this._connectTime > 5000) {
|
|
@@ -7386,8 +7345,8 @@ class BandwidthTester extends EventEmitter {
|
|
|
7386
7345
|
});
|
|
7387
7346
|
}
|
|
7388
7347
|
_createTransport(send) {
|
|
7389
|
-
var _a;
|
|
7390
7348
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7349
|
+
var _a;
|
|
7391
7350
|
const creator = send ? "createSendTransport" : "createRecvTransport";
|
|
7392
7351
|
const transportOptions = yield this._vegaConnection.request("createTransport", {
|
|
7393
7352
|
producing: send,
|
|
@@ -7406,7 +7365,7 @@ class BandwidthTester extends EventEmitter {
|
|
|
7406
7365
|
callback();
|
|
7407
7366
|
});
|
|
7408
7367
|
if (send) {
|
|
7409
|
-
transport === null || transport === void 0 ? void 0 : transport.on("produce", (
|
|
7368
|
+
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) {
|
|
7410
7369
|
try {
|
|
7411
7370
|
const { paused } = appData;
|
|
7412
7371
|
const { id } = yield this._vegaConnection.request("produce", {
|
|
@@ -7795,9 +7754,9 @@ function replaceTracksInStream(stream, newStream, only) {
|
|
|
7795
7754
|
});
|
|
7796
7755
|
return replacedTracks;
|
|
7797
7756
|
}
|
|
7798
|
-
function getStream(
|
|
7799
|
-
|
|
7800
|
-
|
|
7757
|
+
function getStream(constraintOpt_1) {
|
|
7758
|
+
return __awaiter(this, arguments, void 0, function* (constraintOpt, { replaceStream, fallback = true } = {}) {
|
|
7759
|
+
var _a;
|
|
7801
7760
|
let error;
|
|
7802
7761
|
let newConstraints;
|
|
7803
7762
|
let retryConstraintOpt;
|
|
@@ -8021,8 +7980,6 @@ exports.EVENTS = EVENTS;
|
|
|
8021
7980
|
exports.KNOCK_MESSAGES = KNOCK_MESSAGES;
|
|
8022
7981
|
exports.KalmanFilter = KalmanFilter;
|
|
8023
7982
|
exports.Logger = Logger;
|
|
8024
|
-
exports.MAXIMUM_TURN_BANDWIDTH = MAXIMUM_TURN_BANDWIDTH;
|
|
8025
|
-
exports.MAXIMUM_TURN_BANDWIDTH_UNLIMITED = MAXIMUM_TURN_BANDWIDTH_UNLIMITED;
|
|
8026
7983
|
exports.MEDIA_JITTER_BUFFER_TARGET = MEDIA_JITTER_BUFFER_TARGET;
|
|
8027
7984
|
exports.NoDevicesError = NoDevicesError;
|
|
8028
7985
|
exports.P2pRtcManager = P2pRtcManager;
|
|
@@ -8095,7 +8052,6 @@ exports.getUserMedia = getUserMedia;
|
|
|
8095
8052
|
exports.hasGetDisplayMedia = hasGetDisplayMedia;
|
|
8096
8053
|
exports.ipRegex = ipRegex;
|
|
8097
8054
|
exports.isMobile = isMobile;
|
|
8098
|
-
exports.isRelayed = isRelayed;
|
|
8099
8055
|
exports.maybeRejectNoH264 = maybeRejectNoH264;
|
|
8100
8056
|
exports.maybeTurnOnly = maybeTurnOnly;
|
|
8101
8057
|
exports.modifyMediaCapabilities = modifyMediaCapabilities;
|
package/dist/index.d.cts
CHANGED
|
@@ -66,7 +66,7 @@ type IssuesAndMetricsByView = {
|
|
|
66
66
|
aggregated: IssuesAndMetricsAggregated;
|
|
67
67
|
};
|
|
68
68
|
declare const getIssuesAndMetrics: () => {
|
|
69
|
-
[
|
|
69
|
+
[clientId: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
|
|
70
70
|
aggregated: IssuesAndMetricsAggregated;
|
|
71
71
|
};
|
|
72
72
|
declare function subscribeIssues(subscription: {
|
|
@@ -256,8 +256,6 @@ declare class BandwidthTester extends EventEmitter {
|
|
|
256
256
|
|
|
257
257
|
declare function detectMicrophoneNotWorking(pc: any): any;
|
|
258
258
|
|
|
259
|
-
declare const MAXIMUM_TURN_BANDWIDTH = 1280;
|
|
260
|
-
declare const MAXIMUM_TURN_BANDWIDTH_UNLIMITED = -1;
|
|
261
259
|
declare const MEDIA_JITTER_BUFFER_TARGET = 400;
|
|
262
260
|
|
|
263
261
|
declare enum RtcEventNames {
|
|
@@ -486,7 +484,6 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
486
484
|
isSfu: any;
|
|
487
485
|
}): boolean;
|
|
488
486
|
supportsScreenShareAudio(): boolean;
|
|
489
|
-
maybeRestrictRelayBandwidth(session: any): void;
|
|
490
487
|
addNewStream(streamId: string, stream: MediaStream, audioPaused: boolean, videoPaused: boolean, beforeEffectTracks?: CustomMediaStreamTrack[]): void;
|
|
491
488
|
replaceTrack(oldTrack: CustomMediaStreamTrack | null, newTrack: CustomMediaStreamTrack): Promise<any[]>;
|
|
492
489
|
disconnectAll(): void;
|
|
@@ -1254,7 +1251,6 @@ declare class Session {
|
|
|
1254
1251
|
totalRecv: number;
|
|
1255
1252
|
};
|
|
1256
1253
|
bandwidth: any;
|
|
1257
|
-
maximumTurnBandwidth: any;
|
|
1258
1254
|
pending: any[];
|
|
1259
1255
|
isOperationPending: boolean;
|
|
1260
1256
|
streamIds: any[];
|
|
@@ -1272,10 +1268,9 @@ declare class Session {
|
|
|
1272
1268
|
shouldAddLocalVideo: any;
|
|
1273
1269
|
signalingState: any;
|
|
1274
1270
|
srdComplete: any;
|
|
1275
|
-
constructor({ peerConnectionId, bandwidth,
|
|
1271
|
+
constructor({ peerConnectionId, bandwidth, deprioritizeH264Encoding, }: {
|
|
1276
1272
|
peerConnectionId: any;
|
|
1277
1273
|
bandwidth: any;
|
|
1278
|
-
maximumTurnBandwidth: any;
|
|
1279
1274
|
deprioritizeH264Encoding: any;
|
|
1280
1275
|
});
|
|
1281
1276
|
setAndGetPeerConnection({ clientId, constraints, peerConnectionConfig, shouldAddLocalVideo, }: {
|
|
@@ -1296,7 +1291,6 @@ declare class Session {
|
|
|
1296
1291
|
close(): void;
|
|
1297
1292
|
hasConnectedPeerConnection(): any;
|
|
1298
1293
|
replaceTrack(oldTrack: MediaStreamTrack, newTrack: MediaStreamTrack): any;
|
|
1299
|
-
maybeRestrictRelayBandwidth(): void;
|
|
1300
1294
|
changeBandwidth(bandwidth: any): void;
|
|
1301
1295
|
setAudioOnly(enable: boolean, excludedTrackIds?: any[]): void;
|
|
1302
1296
|
}
|
|
@@ -1331,8 +1325,6 @@ declare class SfuV2Parser {
|
|
|
1331
1325
|
};
|
|
1332
1326
|
}
|
|
1333
1327
|
|
|
1334
|
-
declare function isRelayed(pc: any): any;
|
|
1335
|
-
|
|
1336
1328
|
declare class VegaConnection extends EventEmitter$1 {
|
|
1337
1329
|
wsUrl: string;
|
|
1338
1330
|
protocol: string;
|
|
@@ -1808,4 +1800,5 @@ declare class RtcStream {
|
|
|
1808
1800
|
static getTypeFromId(id: string): string;
|
|
1809
1801
|
}
|
|
1810
1802
|
|
|
1811
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS,
|
|
1803
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, 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, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1804
|
+
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
|
-
[
|
|
69
|
+
[clientId: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
|
|
70
70
|
aggregated: IssuesAndMetricsAggregated;
|
|
71
71
|
};
|
|
72
72
|
declare function subscribeIssues(subscription: {
|
|
@@ -256,8 +256,6 @@ declare class BandwidthTester extends EventEmitter {
|
|
|
256
256
|
|
|
257
257
|
declare function detectMicrophoneNotWorking(pc: any): any;
|
|
258
258
|
|
|
259
|
-
declare const MAXIMUM_TURN_BANDWIDTH = 1280;
|
|
260
|
-
declare const MAXIMUM_TURN_BANDWIDTH_UNLIMITED = -1;
|
|
261
259
|
declare const MEDIA_JITTER_BUFFER_TARGET = 400;
|
|
262
260
|
|
|
263
261
|
declare enum RtcEventNames {
|
|
@@ -486,7 +484,6 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
486
484
|
isSfu: any;
|
|
487
485
|
}): boolean;
|
|
488
486
|
supportsScreenShareAudio(): boolean;
|
|
489
|
-
maybeRestrictRelayBandwidth(session: any): void;
|
|
490
487
|
addNewStream(streamId: string, stream: MediaStream, audioPaused: boolean, videoPaused: boolean, beforeEffectTracks?: CustomMediaStreamTrack[]): void;
|
|
491
488
|
replaceTrack(oldTrack: CustomMediaStreamTrack | null, newTrack: CustomMediaStreamTrack): Promise<any[]>;
|
|
492
489
|
disconnectAll(): void;
|
|
@@ -1254,7 +1251,6 @@ declare class Session {
|
|
|
1254
1251
|
totalRecv: number;
|
|
1255
1252
|
};
|
|
1256
1253
|
bandwidth: any;
|
|
1257
|
-
maximumTurnBandwidth: any;
|
|
1258
1254
|
pending: any[];
|
|
1259
1255
|
isOperationPending: boolean;
|
|
1260
1256
|
streamIds: any[];
|
|
@@ -1272,10 +1268,9 @@ declare class Session {
|
|
|
1272
1268
|
shouldAddLocalVideo: any;
|
|
1273
1269
|
signalingState: any;
|
|
1274
1270
|
srdComplete: any;
|
|
1275
|
-
constructor({ peerConnectionId, bandwidth,
|
|
1271
|
+
constructor({ peerConnectionId, bandwidth, deprioritizeH264Encoding, }: {
|
|
1276
1272
|
peerConnectionId: any;
|
|
1277
1273
|
bandwidth: any;
|
|
1278
|
-
maximumTurnBandwidth: any;
|
|
1279
1274
|
deprioritizeH264Encoding: any;
|
|
1280
1275
|
});
|
|
1281
1276
|
setAndGetPeerConnection({ clientId, constraints, peerConnectionConfig, shouldAddLocalVideo, }: {
|
|
@@ -1296,7 +1291,6 @@ declare class Session {
|
|
|
1296
1291
|
close(): void;
|
|
1297
1292
|
hasConnectedPeerConnection(): any;
|
|
1298
1293
|
replaceTrack(oldTrack: MediaStreamTrack, newTrack: MediaStreamTrack): any;
|
|
1299
|
-
maybeRestrictRelayBandwidth(): void;
|
|
1300
1294
|
changeBandwidth(bandwidth: any): void;
|
|
1301
1295
|
setAudioOnly(enable: boolean, excludedTrackIds?: any[]): void;
|
|
1302
1296
|
}
|
|
@@ -1331,8 +1325,6 @@ declare class SfuV2Parser {
|
|
|
1331
1325
|
};
|
|
1332
1326
|
}
|
|
1333
1327
|
|
|
1334
|
-
declare function isRelayed(pc: any): any;
|
|
1335
|
-
|
|
1336
1328
|
declare class VegaConnection extends EventEmitter$1 {
|
|
1337
1329
|
wsUrl: string;
|
|
1338
1330
|
protocol: string;
|
|
@@ -1808,4 +1800,5 @@ declare class RtcStream {
|
|
|
1808
1800
|
static getTypeFromId(id: string): string;
|
|
1809
1801
|
}
|
|
1810
1802
|
|
|
1811
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS,
|
|
1803
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, 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, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1804
|
+
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 };
|