@whereby.com/media 2.6.9 → 2.6.10
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/index.cjs +110 -70
- package/dist/index.d.cts +17 -4
- package/dist/index.d.mts +17 -4
- package/dist/index.d.ts +17 -4
- package/dist/index.mjs +110 -71
- package/dist/legacy-esm.js +110 -71
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1828,6 +1828,16 @@ function fromLocation({ host = "whereby.com", protocol = "https:" } = {}) {
|
|
|
1828
1828
|
}
|
|
1829
1829
|
fromLocation(window && window.location);
|
|
1830
1830
|
|
|
1831
|
+
const _trackAnnotations = new WeakMap();
|
|
1832
|
+
function trackAnnotations(o) {
|
|
1833
|
+
let props = _trackAnnotations.get(o);
|
|
1834
|
+
if (!props) {
|
|
1835
|
+
props = {};
|
|
1836
|
+
_trackAnnotations.set(o, props);
|
|
1837
|
+
}
|
|
1838
|
+
return props;
|
|
1839
|
+
}
|
|
1840
|
+
|
|
1831
1841
|
const logger$9 = new Logger();
|
|
1832
1842
|
const debugLogger = {
|
|
1833
1843
|
print: (...args) => console.debug(args[0], ...args.slice(1)),
|
|
@@ -2225,6 +2235,7 @@ class Session {
|
|
|
2225
2235
|
});
|
|
2226
2236
|
}
|
|
2227
2237
|
else {
|
|
2238
|
+
rtcStats.sendEvent("P2PNoAddTrackSupport", {});
|
|
2228
2239
|
this.pc.addStream(stream);
|
|
2229
2240
|
}
|
|
2230
2241
|
}
|
|
@@ -2263,6 +2274,10 @@ class Session {
|
|
|
2263
2274
|
this.pc.removeStream(stream);
|
|
2264
2275
|
}
|
|
2265
2276
|
}
|
|
2277
|
+
else {
|
|
2278
|
+
rtcStats.sendEvent("P2PRemoveStreamNoPC", {});
|
|
2279
|
+
this._incrementAnalyticMetric("P2PRemoveStreamNoPC");
|
|
2280
|
+
}
|
|
2266
2281
|
}
|
|
2267
2282
|
_setRemoteDescription(desc) {
|
|
2268
2283
|
if (this._deprioritizeH264Encoding)
|
|
@@ -2347,98 +2362,104 @@ class Session {
|
|
|
2347
2362
|
return this.pc && this.pc.connectionState === "connected";
|
|
2348
2363
|
}
|
|
2349
2364
|
replaceTrack(oldTrack, newTrack) {
|
|
2350
|
-
var _a, _b;
|
|
2351
|
-
|
|
2352
|
-
if (!
|
|
2353
|
-
rtcStats.sendEvent("
|
|
2365
|
+
var _a, _b, _c;
|
|
2366
|
+
logger$7.info("replacetrack() [oldTrackId: %s, newTrackId: %s]", oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id, newTrack === null || newTrack === void 0 ? void 0 : newTrack.id);
|
|
2367
|
+
if (!newTrack) {
|
|
2368
|
+
rtcStats.sendEvent("P2PReplaceTrackNoNewTrack", {
|
|
2354
2369
|
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2355
|
-
|
|
2370
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2371
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2356
2372
|
});
|
|
2357
|
-
this._incrementAnalyticMetric("
|
|
2373
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNoNewTrack");
|
|
2358
2374
|
return false;
|
|
2359
2375
|
}
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
return null;
|
|
2377
|
-
};
|
|
2378
|
-
const result = process();
|
|
2379
|
-
if (result) {
|
|
2380
|
-
return result;
|
|
2376
|
+
if (newTrack.readyState === "ended") {
|
|
2377
|
+
rtcStats.sendEvent("P2PReplaceTrackNewTrackEnded", {
|
|
2378
|
+
newTrackId: newTrack.id,
|
|
2379
|
+
newTrackKind: newTrack.kind,
|
|
2380
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2381
|
+
});
|
|
2382
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNewTrackEnded");
|
|
2383
|
+
return false;
|
|
2384
|
+
}
|
|
2385
|
+
const pc = this.pc;
|
|
2386
|
+
if ((_b = (_a = window.RTCRtpSender) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b.replaceTrack) {
|
|
2387
|
+
if (oldTrack) {
|
|
2388
|
+
const sender = pc.getSenders().find((s) => { var _a; return ((_a = s.track) === null || _a === void 0 ? void 0 : _a.id) === oldTrack.id; });
|
|
2389
|
+
if (sender) {
|
|
2390
|
+
sender.replaceTrack(newTrack);
|
|
2391
|
+
return Promise.resolve(newTrack);
|
|
2381
2392
|
}
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
rtcStats.sendEvent("P2PReplaceTrackFailed", {
|
|
2402
|
-
newTrackId: newTrack === null || newTrack === void 0 ? void 0 : newTrack.id,
|
|
2403
|
-
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2404
|
-
oldTrackFallbackId: oldTrackFallback === null || oldTrackFallback === void 0 ? void 0 : oldTrackFallback.id,
|
|
2405
|
-
sendersCount: senders === null || senders === void 0 ? void 0 : senders.length,
|
|
2406
|
-
sendersAnalytics,
|
|
2407
|
-
});
|
|
2408
|
-
reject("No sender track to replace");
|
|
2409
|
-
}
|
|
2410
|
-
return;
|
|
2411
|
-
}
|
|
2412
|
-
clearInterval(timer);
|
|
2413
|
-
timer = null;
|
|
2414
|
-
const trackReplaced = yield trackReplacedPromise;
|
|
2415
|
-
resolve(trackReplaced);
|
|
2416
|
-
}), 1000);
|
|
2393
|
+
}
|
|
2394
|
+
const sender = pc.getSenders().find((s) => {
|
|
2395
|
+
const track = s.track;
|
|
2396
|
+
return (track === null || track === void 0 ? void 0 : track.kind) === newTrack.kind && !trackAnnotations(track).fromGetDisplayMedia;
|
|
2397
|
+
});
|
|
2398
|
+
if (sender) {
|
|
2399
|
+
this._incrementAnalyticMetric("P2PReplaceTrackOldTrackNotFound");
|
|
2400
|
+
const track = sender.track;
|
|
2401
|
+
rtcStats.sendEvent("P2PReplaceTrackOldTrackNotFound", {
|
|
2402
|
+
targetTrackId: track === null || track === void 0 ? void 0 : track.id,
|
|
2403
|
+
targetTrackKind: track === null || track === void 0 ? void 0 : track.kind,
|
|
2404
|
+
targetTrackIsEffect: track === null || track === void 0 ? void 0 : track.effectTrack,
|
|
2405
|
+
targetTrackReadyState: track === null || track === void 0 ? void 0 : track.readyState,
|
|
2406
|
+
newTrackId: newTrack.id,
|
|
2407
|
+
newTrackKind: newTrack.kind,
|
|
2408
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2409
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2410
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2411
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2417
2412
|
});
|
|
2413
|
+
sender.replaceTrack(newTrack);
|
|
2414
|
+
return Promise.resolve(newTrack);
|
|
2418
2415
|
}
|
|
2419
|
-
|
|
2416
|
+
let stream = this.streams.find((s) => s.getTracks().find((t) => t.id === newTrack.id));
|
|
2420
2417
|
if (!stream) {
|
|
2418
|
+
rtcStats.sendEvent("P2PReplaceTrackNewTrackNotInStream", {
|
|
2419
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2420
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2421
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2422
|
+
newTrackId: newTrack.id,
|
|
2423
|
+
newTrackKind: newTrack.kind,
|
|
2424
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2425
|
+
});
|
|
2426
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNewTrackNotInStream");
|
|
2427
|
+
}
|
|
2428
|
+
stream = this.streams[0];
|
|
2429
|
+
if (!stream) {
|
|
2430
|
+
rtcStats.sendEvent("P2PReplaceTrackNoStream", {});
|
|
2431
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNoStream");
|
|
2421
2432
|
return Promise.reject(new Error("replaceTrack: No stream?"));
|
|
2422
2433
|
}
|
|
2434
|
+
rtcStats.sendEvent("P2PReplaceTrackSourceKindNotFound", {
|
|
2435
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2436
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2437
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2438
|
+
newTrackId: newTrack.id,
|
|
2439
|
+
newTrackKind: newTrack.kind,
|
|
2440
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2441
|
+
});
|
|
2442
|
+
this._incrementAnalyticMetric("P2PReplaceTrackSourceKindNotFound");
|
|
2423
2443
|
return pc.addTrack(newTrack, stream);
|
|
2424
2444
|
}
|
|
2445
|
+
rtcStats.sendEvent("P2PNoReplaceTrackSupport", {});
|
|
2425
2446
|
if (!this.canModifyPeerConnection()) {
|
|
2426
2447
|
this.pending.push(() => {
|
|
2427
|
-
this.replaceTrack(
|
|
2448
|
+
this.replaceTrack(oldTrack, newTrack);
|
|
2428
2449
|
});
|
|
2429
2450
|
return;
|
|
2430
2451
|
}
|
|
2431
2452
|
this.isOperationPending = true;
|
|
2432
2453
|
const onn = pc.onnegotiationneeded;
|
|
2433
2454
|
pc.onnegotiationneeded = null;
|
|
2434
|
-
if (
|
|
2435
|
-
this.removeTrack(
|
|
2455
|
+
if (oldTrack) {
|
|
2456
|
+
this.removeTrack(oldTrack);
|
|
2436
2457
|
}
|
|
2437
2458
|
this.addTrack(newTrack);
|
|
2438
2459
|
setTimeout(() => {
|
|
2439
2460
|
pc.onnegotiationneeded = onn;
|
|
2440
2461
|
}, 0);
|
|
2441
|
-
if (((
|
|
2462
|
+
if (((_c = pc.localDescription) === null || _c === void 0 ? void 0 : _c.type) === "offer") {
|
|
2442
2463
|
return pc
|
|
2443
2464
|
.createOffer()
|
|
2444
2465
|
.then((offer) => {
|
|
@@ -2665,9 +2686,7 @@ class P2pRtcManager {
|
|
|
2665
2686
|
turnServers: turnServers || [],
|
|
2666
2687
|
mediaserverConfigTtlSeconds,
|
|
2667
2688
|
});
|
|
2668
|
-
this.totalSessionsCreated = 0;
|
|
2669
2689
|
this.analytics = {
|
|
2670
|
-
P2PReplaceTrackNoPC: 0,
|
|
2671
2690
|
P2PNonErrorRejectionValueGUMError: 0,
|
|
2672
2691
|
numNewPc: 0,
|
|
2673
2692
|
numIceConnected: 0,
|
|
@@ -2686,6 +2705,16 @@ class P2pRtcManager {
|
|
|
2686
2705
|
P2PChangeBandwidthEmptySDPType: 0,
|
|
2687
2706
|
P2PNegotiationNeeded: 0,
|
|
2688
2707
|
P2PSessionAlreadyCreated: 0,
|
|
2708
|
+
P2PReplaceTrackNoStream: 0,
|
|
2709
|
+
P2PReplaceTrackNoNewTrack: 0,
|
|
2710
|
+
P2PReplaceTrackNewTrackEnded: 0,
|
|
2711
|
+
P2PReplaceTrackNewTrackNotInStream: 0,
|
|
2712
|
+
P2PReplaceTrackOldTrackNotFound: 0,
|
|
2713
|
+
P2PReplaceTrackToPCsPendingActionsNull: 0,
|
|
2714
|
+
P2PReplaceTrackReturnedFalse: 0,
|
|
2715
|
+
P2PReplaceTrackWithoutPC: 0,
|
|
2716
|
+
P2PReplaceTrackSourceKindNotFound: 0,
|
|
2717
|
+
P2PRemoveStreamNoPC: 0,
|
|
2689
2718
|
};
|
|
2690
2719
|
}
|
|
2691
2720
|
numberOfPeerconnections() {
|
|
@@ -2979,7 +3008,6 @@ class P2pRtcManager {
|
|
|
2979
3008
|
shouldAddLocalVideo,
|
|
2980
3009
|
incrementAnalyticMetric: (metric) => this.analytics[metric]++,
|
|
2981
3010
|
});
|
|
2982
|
-
this.totalSessionsCreated++;
|
|
2983
3011
|
}
|
|
2984
3012
|
else {
|
|
2985
3013
|
this.analytics.P2PSessionAlreadyCreated++;
|
|
@@ -3195,9 +3223,13 @@ class P2pRtcManager {
|
|
|
3195
3223
|
const promises = [];
|
|
3196
3224
|
this._forEachPeerConnection((session) => {
|
|
3197
3225
|
if (!session.hasConnectedPeerConnection()) {
|
|
3226
|
+
rtcStats.sendEvent("P2PReplaceTrackWithoutPC", {});
|
|
3227
|
+
this.analytics.P2PReplaceTrackWithoutPC++;
|
|
3198
3228
|
logger$6.info("Session doesn't have a connected PeerConnection, adding pending action!");
|
|
3199
3229
|
const pendingActions = this._pendingActionsForConnectedPeerConnections;
|
|
3200
3230
|
if (!pendingActions) {
|
|
3231
|
+
rtcStats.sendEvent("P2PReplaceTrackToPCsPendingActionsNull", {});
|
|
3232
|
+
this.analytics.P2PReplaceTrackToPCsPendingActionsNull++;
|
|
3201
3233
|
logger$6.warn(`No pending action is created to replace track, because the pending actions array is null`);
|
|
3202
3234
|
return;
|
|
3203
3235
|
}
|
|
@@ -3205,6 +3237,8 @@ class P2pRtcManager {
|
|
|
3205
3237
|
const action = () => {
|
|
3206
3238
|
const replacedTrackPromise = session.replaceTrack(oldTrack, newTrack);
|
|
3207
3239
|
if (!replacedTrackPromise) {
|
|
3240
|
+
rtcStats.sendEvent("P2PReplaceTrackReturnedFalse", {});
|
|
3241
|
+
this.analytics.P2PReplaceTrackReturnedFalse++;
|
|
3208
3242
|
logger$6.error("replaceTrack returned false!");
|
|
3209
3243
|
reject(`ReplaceTrack returned false`);
|
|
3210
3244
|
return;
|
|
@@ -3218,6 +3252,8 @@ class P2pRtcManager {
|
|
|
3218
3252
|
}
|
|
3219
3253
|
const replacedTrackResult = session.replaceTrack(oldTrack, newTrack);
|
|
3220
3254
|
if (!replacedTrackResult) {
|
|
3255
|
+
rtcStats.sendEvent("P2PReplaceTrackReturnedFalse", {});
|
|
3256
|
+
this.analytics.P2PReplaceTrackReturnedFalse++;
|
|
3221
3257
|
logger$6.error("replaceTrack returned false!");
|
|
3222
3258
|
return;
|
|
3223
3259
|
}
|
|
@@ -7446,6 +7482,9 @@ function getDisplayMedia(constraints = defaultDisplayMediaConstraints, contentHi
|
|
|
7446
7482
|
t.contentHint = contentHint;
|
|
7447
7483
|
}
|
|
7448
7484
|
});
|
|
7485
|
+
stream.getTracks().forEach((t) => {
|
|
7486
|
+
trackAnnotations(t).fromGetDisplayMedia = true;
|
|
7487
|
+
});
|
|
7449
7488
|
return stream;
|
|
7450
7489
|
});
|
|
7451
7490
|
}
|
|
@@ -7619,6 +7658,7 @@ exports.startPerformanceMonitor = startPerformanceMonitor;
|
|
|
7619
7658
|
exports.stopStreamTracks = stopStreamTracks;
|
|
7620
7659
|
exports.subscribeIssues = subscribeIssues;
|
|
7621
7660
|
exports.subscribeStats = subscribeStats;
|
|
7661
|
+
exports.trackAnnotations = trackAnnotations;
|
|
7622
7662
|
exports.turnServerOverride = turnServerOverride;
|
|
7623
7663
|
exports.variance = variance;
|
|
7624
7664
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.cts
CHANGED
|
@@ -555,7 +555,7 @@ declare class Session {
|
|
|
555
555
|
canModifyPeerConnection(): boolean;
|
|
556
556
|
close(): void;
|
|
557
557
|
hasConnectedPeerConnection(): boolean;
|
|
558
|
-
replaceTrack(oldTrack: CustomMediaStreamTrack | undefined
|
|
558
|
+
replaceTrack(oldTrack: CustomMediaStreamTrack | undefined, newTrack: CustomMediaStreamTrack | undefined): any;
|
|
559
559
|
changeBandwidth(bandwidth: any): void;
|
|
560
560
|
setAudioOnly(enable: boolean, excludedTrackIds?: string[]): void;
|
|
561
561
|
}
|
|
@@ -1147,6 +1147,11 @@ declare function fromLocation({ host, protocol }?: {
|
|
|
1147
1147
|
subdomain: string;
|
|
1148
1148
|
};
|
|
1149
1149
|
|
|
1150
|
+
type TrackAnnotation = {
|
|
1151
|
+
fromGetDisplayMedia: boolean;
|
|
1152
|
+
};
|
|
1153
|
+
declare function trackAnnotations(o: MediaStreamTrack): TrackAnnotation;
|
|
1154
|
+
|
|
1150
1155
|
interface GetOrCreateSessionOptions {
|
|
1151
1156
|
peerConnectionId: string;
|
|
1152
1157
|
clientId: string;
|
|
@@ -1155,7 +1160,6 @@ interface GetOrCreateSessionOptions {
|
|
|
1155
1160
|
peerConnectionConfig: RTCConfiguration;
|
|
1156
1161
|
}
|
|
1157
1162
|
type P2PAnalytics = {
|
|
1158
|
-
P2PReplaceTrackNoPC: number;
|
|
1159
1163
|
P2PNonErrorRejectionValueGUMError: number;
|
|
1160
1164
|
numNewPc: number;
|
|
1161
1165
|
numIceConnected: number;
|
|
@@ -1174,6 +1178,16 @@ type P2PAnalytics = {
|
|
|
1174
1178
|
P2PChangeBandwidthEmptySDPType: number;
|
|
1175
1179
|
P2PNegotiationNeeded: number;
|
|
1176
1180
|
P2PSessionAlreadyCreated: number;
|
|
1181
|
+
P2PReplaceTrackNoStream: number;
|
|
1182
|
+
P2PReplaceTrackNewTrackEnded: number;
|
|
1183
|
+
P2PReplaceTrackNoNewTrack: number;
|
|
1184
|
+
P2PReplaceTrackNewTrackNotInStream: number;
|
|
1185
|
+
P2PReplaceTrackOldTrackNotFound: number;
|
|
1186
|
+
P2PReplaceTrackToPCsPendingActionsNull: number;
|
|
1187
|
+
P2PReplaceTrackReturnedFalse: number;
|
|
1188
|
+
P2PReplaceTrackWithoutPC: number;
|
|
1189
|
+
P2PReplaceTrackSourceKindNotFound: number;
|
|
1190
|
+
P2PRemoveStreamNoPC: number;
|
|
1177
1191
|
};
|
|
1178
1192
|
type P2PAnalyticMetric = keyof P2PAnalytics;
|
|
1179
1193
|
type P2PIncrementAnalyticMetric = (metric: P2PAnalyticMetric) => void;
|
|
@@ -1199,7 +1213,6 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1199
1213
|
_pendingActionsForConnectedPeerConnections: any[];
|
|
1200
1214
|
_audioTrackOnEnded: () => void;
|
|
1201
1215
|
_videoTrackOnEnded: () => void;
|
|
1202
|
-
totalSessionsCreated: number;
|
|
1203
1216
|
_iceServers: any;
|
|
1204
1217
|
_turnServers: any;
|
|
1205
1218
|
_sfuServer: any;
|
|
@@ -1888,5 +1901,5 @@ declare class RtcStream {
|
|
|
1888
1901
|
static getCameraId(): string;
|
|
1889
1902
|
}
|
|
1890
1903
|
|
|
1891
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1904
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
|
|
1892
1905
|
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, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UnifiedPlanSDP, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.d.mts
CHANGED
|
@@ -555,7 +555,7 @@ declare class Session {
|
|
|
555
555
|
canModifyPeerConnection(): boolean;
|
|
556
556
|
close(): void;
|
|
557
557
|
hasConnectedPeerConnection(): boolean;
|
|
558
|
-
replaceTrack(oldTrack: CustomMediaStreamTrack | undefined
|
|
558
|
+
replaceTrack(oldTrack: CustomMediaStreamTrack | undefined, newTrack: CustomMediaStreamTrack | undefined): any;
|
|
559
559
|
changeBandwidth(bandwidth: any): void;
|
|
560
560
|
setAudioOnly(enable: boolean, excludedTrackIds?: string[]): void;
|
|
561
561
|
}
|
|
@@ -1147,6 +1147,11 @@ declare function fromLocation({ host, protocol }?: {
|
|
|
1147
1147
|
subdomain: string;
|
|
1148
1148
|
};
|
|
1149
1149
|
|
|
1150
|
+
type TrackAnnotation = {
|
|
1151
|
+
fromGetDisplayMedia: boolean;
|
|
1152
|
+
};
|
|
1153
|
+
declare function trackAnnotations(o: MediaStreamTrack): TrackAnnotation;
|
|
1154
|
+
|
|
1150
1155
|
interface GetOrCreateSessionOptions {
|
|
1151
1156
|
peerConnectionId: string;
|
|
1152
1157
|
clientId: string;
|
|
@@ -1155,7 +1160,6 @@ interface GetOrCreateSessionOptions {
|
|
|
1155
1160
|
peerConnectionConfig: RTCConfiguration;
|
|
1156
1161
|
}
|
|
1157
1162
|
type P2PAnalytics = {
|
|
1158
|
-
P2PReplaceTrackNoPC: number;
|
|
1159
1163
|
P2PNonErrorRejectionValueGUMError: number;
|
|
1160
1164
|
numNewPc: number;
|
|
1161
1165
|
numIceConnected: number;
|
|
@@ -1174,6 +1178,16 @@ type P2PAnalytics = {
|
|
|
1174
1178
|
P2PChangeBandwidthEmptySDPType: number;
|
|
1175
1179
|
P2PNegotiationNeeded: number;
|
|
1176
1180
|
P2PSessionAlreadyCreated: number;
|
|
1181
|
+
P2PReplaceTrackNoStream: number;
|
|
1182
|
+
P2PReplaceTrackNewTrackEnded: number;
|
|
1183
|
+
P2PReplaceTrackNoNewTrack: number;
|
|
1184
|
+
P2PReplaceTrackNewTrackNotInStream: number;
|
|
1185
|
+
P2PReplaceTrackOldTrackNotFound: number;
|
|
1186
|
+
P2PReplaceTrackToPCsPendingActionsNull: number;
|
|
1187
|
+
P2PReplaceTrackReturnedFalse: number;
|
|
1188
|
+
P2PReplaceTrackWithoutPC: number;
|
|
1189
|
+
P2PReplaceTrackSourceKindNotFound: number;
|
|
1190
|
+
P2PRemoveStreamNoPC: number;
|
|
1177
1191
|
};
|
|
1178
1192
|
type P2PAnalyticMetric = keyof P2PAnalytics;
|
|
1179
1193
|
type P2PIncrementAnalyticMetric = (metric: P2PAnalyticMetric) => void;
|
|
@@ -1199,7 +1213,6 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1199
1213
|
_pendingActionsForConnectedPeerConnections: any[];
|
|
1200
1214
|
_audioTrackOnEnded: () => void;
|
|
1201
1215
|
_videoTrackOnEnded: () => void;
|
|
1202
|
-
totalSessionsCreated: number;
|
|
1203
1216
|
_iceServers: any;
|
|
1204
1217
|
_turnServers: any;
|
|
1205
1218
|
_sfuServer: any;
|
|
@@ -1888,5 +1901,5 @@ declare class RtcStream {
|
|
|
1888
1901
|
static getCameraId(): string;
|
|
1889
1902
|
}
|
|
1890
1903
|
|
|
1891
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1904
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
|
|
1892
1905
|
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, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UnifiedPlanSDP, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.d.ts
CHANGED
|
@@ -555,7 +555,7 @@ declare class Session {
|
|
|
555
555
|
canModifyPeerConnection(): boolean;
|
|
556
556
|
close(): void;
|
|
557
557
|
hasConnectedPeerConnection(): boolean;
|
|
558
|
-
replaceTrack(oldTrack: CustomMediaStreamTrack | undefined
|
|
558
|
+
replaceTrack(oldTrack: CustomMediaStreamTrack | undefined, newTrack: CustomMediaStreamTrack | undefined): any;
|
|
559
559
|
changeBandwidth(bandwidth: any): void;
|
|
560
560
|
setAudioOnly(enable: boolean, excludedTrackIds?: string[]): void;
|
|
561
561
|
}
|
|
@@ -1147,6 +1147,11 @@ declare function fromLocation({ host, protocol }?: {
|
|
|
1147
1147
|
subdomain: string;
|
|
1148
1148
|
};
|
|
1149
1149
|
|
|
1150
|
+
type TrackAnnotation = {
|
|
1151
|
+
fromGetDisplayMedia: boolean;
|
|
1152
|
+
};
|
|
1153
|
+
declare function trackAnnotations(o: MediaStreamTrack): TrackAnnotation;
|
|
1154
|
+
|
|
1150
1155
|
interface GetOrCreateSessionOptions {
|
|
1151
1156
|
peerConnectionId: string;
|
|
1152
1157
|
clientId: string;
|
|
@@ -1155,7 +1160,6 @@ interface GetOrCreateSessionOptions {
|
|
|
1155
1160
|
peerConnectionConfig: RTCConfiguration;
|
|
1156
1161
|
}
|
|
1157
1162
|
type P2PAnalytics = {
|
|
1158
|
-
P2PReplaceTrackNoPC: number;
|
|
1159
1163
|
P2PNonErrorRejectionValueGUMError: number;
|
|
1160
1164
|
numNewPc: number;
|
|
1161
1165
|
numIceConnected: number;
|
|
@@ -1174,6 +1178,16 @@ type P2PAnalytics = {
|
|
|
1174
1178
|
P2PChangeBandwidthEmptySDPType: number;
|
|
1175
1179
|
P2PNegotiationNeeded: number;
|
|
1176
1180
|
P2PSessionAlreadyCreated: number;
|
|
1181
|
+
P2PReplaceTrackNoStream: number;
|
|
1182
|
+
P2PReplaceTrackNewTrackEnded: number;
|
|
1183
|
+
P2PReplaceTrackNoNewTrack: number;
|
|
1184
|
+
P2PReplaceTrackNewTrackNotInStream: number;
|
|
1185
|
+
P2PReplaceTrackOldTrackNotFound: number;
|
|
1186
|
+
P2PReplaceTrackToPCsPendingActionsNull: number;
|
|
1187
|
+
P2PReplaceTrackReturnedFalse: number;
|
|
1188
|
+
P2PReplaceTrackWithoutPC: number;
|
|
1189
|
+
P2PReplaceTrackSourceKindNotFound: number;
|
|
1190
|
+
P2PRemoveStreamNoPC: number;
|
|
1177
1191
|
};
|
|
1178
1192
|
type P2PAnalyticMetric = keyof P2PAnalytics;
|
|
1179
1193
|
type P2PIncrementAnalyticMetric = (metric: P2PAnalyticMetric) => void;
|
|
@@ -1199,7 +1213,6 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
1199
1213
|
_pendingActionsForConnectedPeerConnections: any[];
|
|
1200
1214
|
_audioTrackOnEnded: () => void;
|
|
1201
1215
|
_videoTrackOnEnded: () => void;
|
|
1202
|
-
totalSessionsCreated: number;
|
|
1203
1216
|
_iceServers: any;
|
|
1204
1217
|
_turnServers: any;
|
|
1205
1218
|
_sfuServer: any;
|
|
@@ -1888,5 +1901,5 @@ declare class RtcStream {
|
|
|
1888
1901
|
static getCameraId(): string;
|
|
1889
1902
|
}
|
|
1890
1903
|
|
|
1891
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1904
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
|
|
1892
1905
|
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, InvalidAssistantKeyError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, Metric, NewClientEvent, OrganizationAssistantNotEnabledError, OrganizationAssistantNotFoundError, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, SDPRelayMessage, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TurnTransportProtocol, UnifiedPlanSDP, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent };
|
package/dist/index.mjs
CHANGED
|
@@ -1807,6 +1807,16 @@ function fromLocation({ host = "whereby.com", protocol = "https:" } = {}) {
|
|
|
1807
1807
|
}
|
|
1808
1808
|
fromLocation(window && window.location);
|
|
1809
1809
|
|
|
1810
|
+
const _trackAnnotations = new WeakMap();
|
|
1811
|
+
function trackAnnotations(o) {
|
|
1812
|
+
let props = _trackAnnotations.get(o);
|
|
1813
|
+
if (!props) {
|
|
1814
|
+
props = {};
|
|
1815
|
+
_trackAnnotations.set(o, props);
|
|
1816
|
+
}
|
|
1817
|
+
return props;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1810
1820
|
const logger$9 = new Logger();
|
|
1811
1821
|
const debugLogger = {
|
|
1812
1822
|
print: (...args) => console.debug(args[0], ...args.slice(1)),
|
|
@@ -2204,6 +2214,7 @@ class Session {
|
|
|
2204
2214
|
});
|
|
2205
2215
|
}
|
|
2206
2216
|
else {
|
|
2217
|
+
rtcStats.sendEvent("P2PNoAddTrackSupport", {});
|
|
2207
2218
|
this.pc.addStream(stream);
|
|
2208
2219
|
}
|
|
2209
2220
|
}
|
|
@@ -2242,6 +2253,10 @@ class Session {
|
|
|
2242
2253
|
this.pc.removeStream(stream);
|
|
2243
2254
|
}
|
|
2244
2255
|
}
|
|
2256
|
+
else {
|
|
2257
|
+
rtcStats.sendEvent("P2PRemoveStreamNoPC", {});
|
|
2258
|
+
this._incrementAnalyticMetric("P2PRemoveStreamNoPC");
|
|
2259
|
+
}
|
|
2245
2260
|
}
|
|
2246
2261
|
_setRemoteDescription(desc) {
|
|
2247
2262
|
if (this._deprioritizeH264Encoding)
|
|
@@ -2326,98 +2341,104 @@ class Session {
|
|
|
2326
2341
|
return this.pc && this.pc.connectionState === "connected";
|
|
2327
2342
|
}
|
|
2328
2343
|
replaceTrack(oldTrack, newTrack) {
|
|
2329
|
-
var _a, _b;
|
|
2330
|
-
|
|
2331
|
-
if (!
|
|
2332
|
-
rtcStats.sendEvent("
|
|
2344
|
+
var _a, _b, _c;
|
|
2345
|
+
logger$7.info("replacetrack() [oldTrackId: %s, newTrackId: %s]", oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id, newTrack === null || newTrack === void 0 ? void 0 : newTrack.id);
|
|
2346
|
+
if (!newTrack) {
|
|
2347
|
+
rtcStats.sendEvent("P2PReplaceTrackNoNewTrack", {
|
|
2333
2348
|
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2334
|
-
|
|
2349
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2350
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2335
2351
|
});
|
|
2336
|
-
this._incrementAnalyticMetric("
|
|
2352
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNoNewTrack");
|
|
2337
2353
|
return false;
|
|
2338
2354
|
}
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
return null;
|
|
2356
|
-
};
|
|
2357
|
-
const result = process();
|
|
2358
|
-
if (result) {
|
|
2359
|
-
return result;
|
|
2355
|
+
if (newTrack.readyState === "ended") {
|
|
2356
|
+
rtcStats.sendEvent("P2PReplaceTrackNewTrackEnded", {
|
|
2357
|
+
newTrackId: newTrack.id,
|
|
2358
|
+
newTrackKind: newTrack.kind,
|
|
2359
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2360
|
+
});
|
|
2361
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNewTrackEnded");
|
|
2362
|
+
return false;
|
|
2363
|
+
}
|
|
2364
|
+
const pc = this.pc;
|
|
2365
|
+
if ((_b = (_a = window.RTCRtpSender) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b.replaceTrack) {
|
|
2366
|
+
if (oldTrack) {
|
|
2367
|
+
const sender = pc.getSenders().find((s) => { var _a; return ((_a = s.track) === null || _a === void 0 ? void 0 : _a.id) === oldTrack.id; });
|
|
2368
|
+
if (sender) {
|
|
2369
|
+
sender.replaceTrack(newTrack);
|
|
2370
|
+
return Promise.resolve(newTrack);
|
|
2360
2371
|
}
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
rtcStats.sendEvent("P2PReplaceTrackFailed", {
|
|
2381
|
-
newTrackId: newTrack === null || newTrack === void 0 ? void 0 : newTrack.id,
|
|
2382
|
-
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2383
|
-
oldTrackFallbackId: oldTrackFallback === null || oldTrackFallback === void 0 ? void 0 : oldTrackFallback.id,
|
|
2384
|
-
sendersCount: senders === null || senders === void 0 ? void 0 : senders.length,
|
|
2385
|
-
sendersAnalytics,
|
|
2386
|
-
});
|
|
2387
|
-
reject("No sender track to replace");
|
|
2388
|
-
}
|
|
2389
|
-
return;
|
|
2390
|
-
}
|
|
2391
|
-
clearInterval(timer);
|
|
2392
|
-
timer = null;
|
|
2393
|
-
const trackReplaced = yield trackReplacedPromise;
|
|
2394
|
-
resolve(trackReplaced);
|
|
2395
|
-
}), 1000);
|
|
2372
|
+
}
|
|
2373
|
+
const sender = pc.getSenders().find((s) => {
|
|
2374
|
+
const track = s.track;
|
|
2375
|
+
return (track === null || track === void 0 ? void 0 : track.kind) === newTrack.kind && !trackAnnotations(track).fromGetDisplayMedia;
|
|
2376
|
+
});
|
|
2377
|
+
if (sender) {
|
|
2378
|
+
this._incrementAnalyticMetric("P2PReplaceTrackOldTrackNotFound");
|
|
2379
|
+
const track = sender.track;
|
|
2380
|
+
rtcStats.sendEvent("P2PReplaceTrackOldTrackNotFound", {
|
|
2381
|
+
targetTrackId: track === null || track === void 0 ? void 0 : track.id,
|
|
2382
|
+
targetTrackKind: track === null || track === void 0 ? void 0 : track.kind,
|
|
2383
|
+
targetTrackIsEffect: track === null || track === void 0 ? void 0 : track.effectTrack,
|
|
2384
|
+
targetTrackReadyState: track === null || track === void 0 ? void 0 : track.readyState,
|
|
2385
|
+
newTrackId: newTrack.id,
|
|
2386
|
+
newTrackKind: newTrack.kind,
|
|
2387
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2388
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2389
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2390
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2396
2391
|
});
|
|
2392
|
+
sender.replaceTrack(newTrack);
|
|
2393
|
+
return Promise.resolve(newTrack);
|
|
2397
2394
|
}
|
|
2398
|
-
|
|
2395
|
+
let stream = this.streams.find((s) => s.getTracks().find((t) => t.id === newTrack.id));
|
|
2399
2396
|
if (!stream) {
|
|
2397
|
+
rtcStats.sendEvent("P2PReplaceTrackNewTrackNotInStream", {
|
|
2398
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2399
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2400
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2401
|
+
newTrackId: newTrack.id,
|
|
2402
|
+
newTrackKind: newTrack.kind,
|
|
2403
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2404
|
+
});
|
|
2405
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNewTrackNotInStream");
|
|
2406
|
+
}
|
|
2407
|
+
stream = this.streams[0];
|
|
2408
|
+
if (!stream) {
|
|
2409
|
+
rtcStats.sendEvent("P2PReplaceTrackNoStream", {});
|
|
2410
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNoStream");
|
|
2400
2411
|
return Promise.reject(new Error("replaceTrack: No stream?"));
|
|
2401
2412
|
}
|
|
2413
|
+
rtcStats.sendEvent("P2PReplaceTrackSourceKindNotFound", {
|
|
2414
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2415
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2416
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2417
|
+
newTrackId: newTrack.id,
|
|
2418
|
+
newTrackKind: newTrack.kind,
|
|
2419
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2420
|
+
});
|
|
2421
|
+
this._incrementAnalyticMetric("P2PReplaceTrackSourceKindNotFound");
|
|
2402
2422
|
return pc.addTrack(newTrack, stream);
|
|
2403
2423
|
}
|
|
2424
|
+
rtcStats.sendEvent("P2PNoReplaceTrackSupport", {});
|
|
2404
2425
|
if (!this.canModifyPeerConnection()) {
|
|
2405
2426
|
this.pending.push(() => {
|
|
2406
|
-
this.replaceTrack(
|
|
2427
|
+
this.replaceTrack(oldTrack, newTrack);
|
|
2407
2428
|
});
|
|
2408
2429
|
return;
|
|
2409
2430
|
}
|
|
2410
2431
|
this.isOperationPending = true;
|
|
2411
2432
|
const onn = pc.onnegotiationneeded;
|
|
2412
2433
|
pc.onnegotiationneeded = null;
|
|
2413
|
-
if (
|
|
2414
|
-
this.removeTrack(
|
|
2434
|
+
if (oldTrack) {
|
|
2435
|
+
this.removeTrack(oldTrack);
|
|
2415
2436
|
}
|
|
2416
2437
|
this.addTrack(newTrack);
|
|
2417
2438
|
setTimeout(() => {
|
|
2418
2439
|
pc.onnegotiationneeded = onn;
|
|
2419
2440
|
}, 0);
|
|
2420
|
-
if (((
|
|
2441
|
+
if (((_c = pc.localDescription) === null || _c === void 0 ? void 0 : _c.type) === "offer") {
|
|
2421
2442
|
return pc
|
|
2422
2443
|
.createOffer()
|
|
2423
2444
|
.then((offer) => {
|
|
@@ -2644,9 +2665,7 @@ class P2pRtcManager {
|
|
|
2644
2665
|
turnServers: turnServers || [],
|
|
2645
2666
|
mediaserverConfigTtlSeconds,
|
|
2646
2667
|
});
|
|
2647
|
-
this.totalSessionsCreated = 0;
|
|
2648
2668
|
this.analytics = {
|
|
2649
|
-
P2PReplaceTrackNoPC: 0,
|
|
2650
2669
|
P2PNonErrorRejectionValueGUMError: 0,
|
|
2651
2670
|
numNewPc: 0,
|
|
2652
2671
|
numIceConnected: 0,
|
|
@@ -2665,6 +2684,16 @@ class P2pRtcManager {
|
|
|
2665
2684
|
P2PChangeBandwidthEmptySDPType: 0,
|
|
2666
2685
|
P2PNegotiationNeeded: 0,
|
|
2667
2686
|
P2PSessionAlreadyCreated: 0,
|
|
2687
|
+
P2PReplaceTrackNoStream: 0,
|
|
2688
|
+
P2PReplaceTrackNoNewTrack: 0,
|
|
2689
|
+
P2PReplaceTrackNewTrackEnded: 0,
|
|
2690
|
+
P2PReplaceTrackNewTrackNotInStream: 0,
|
|
2691
|
+
P2PReplaceTrackOldTrackNotFound: 0,
|
|
2692
|
+
P2PReplaceTrackToPCsPendingActionsNull: 0,
|
|
2693
|
+
P2PReplaceTrackReturnedFalse: 0,
|
|
2694
|
+
P2PReplaceTrackWithoutPC: 0,
|
|
2695
|
+
P2PReplaceTrackSourceKindNotFound: 0,
|
|
2696
|
+
P2PRemoveStreamNoPC: 0,
|
|
2668
2697
|
};
|
|
2669
2698
|
}
|
|
2670
2699
|
numberOfPeerconnections() {
|
|
@@ -2958,7 +2987,6 @@ class P2pRtcManager {
|
|
|
2958
2987
|
shouldAddLocalVideo,
|
|
2959
2988
|
incrementAnalyticMetric: (metric) => this.analytics[metric]++,
|
|
2960
2989
|
});
|
|
2961
|
-
this.totalSessionsCreated++;
|
|
2962
2990
|
}
|
|
2963
2991
|
else {
|
|
2964
2992
|
this.analytics.P2PSessionAlreadyCreated++;
|
|
@@ -3174,9 +3202,13 @@ class P2pRtcManager {
|
|
|
3174
3202
|
const promises = [];
|
|
3175
3203
|
this._forEachPeerConnection((session) => {
|
|
3176
3204
|
if (!session.hasConnectedPeerConnection()) {
|
|
3205
|
+
rtcStats.sendEvent("P2PReplaceTrackWithoutPC", {});
|
|
3206
|
+
this.analytics.P2PReplaceTrackWithoutPC++;
|
|
3177
3207
|
logger$6.info("Session doesn't have a connected PeerConnection, adding pending action!");
|
|
3178
3208
|
const pendingActions = this._pendingActionsForConnectedPeerConnections;
|
|
3179
3209
|
if (!pendingActions) {
|
|
3210
|
+
rtcStats.sendEvent("P2PReplaceTrackToPCsPendingActionsNull", {});
|
|
3211
|
+
this.analytics.P2PReplaceTrackToPCsPendingActionsNull++;
|
|
3180
3212
|
logger$6.warn(`No pending action is created to replace track, because the pending actions array is null`);
|
|
3181
3213
|
return;
|
|
3182
3214
|
}
|
|
@@ -3184,6 +3216,8 @@ class P2pRtcManager {
|
|
|
3184
3216
|
const action = () => {
|
|
3185
3217
|
const replacedTrackPromise = session.replaceTrack(oldTrack, newTrack);
|
|
3186
3218
|
if (!replacedTrackPromise) {
|
|
3219
|
+
rtcStats.sendEvent("P2PReplaceTrackReturnedFalse", {});
|
|
3220
|
+
this.analytics.P2PReplaceTrackReturnedFalse++;
|
|
3187
3221
|
logger$6.error("replaceTrack returned false!");
|
|
3188
3222
|
reject(`ReplaceTrack returned false`);
|
|
3189
3223
|
return;
|
|
@@ -3197,6 +3231,8 @@ class P2pRtcManager {
|
|
|
3197
3231
|
}
|
|
3198
3232
|
const replacedTrackResult = session.replaceTrack(oldTrack, newTrack);
|
|
3199
3233
|
if (!replacedTrackResult) {
|
|
3234
|
+
rtcStats.sendEvent("P2PReplaceTrackReturnedFalse", {});
|
|
3235
|
+
this.analytics.P2PReplaceTrackReturnedFalse++;
|
|
3200
3236
|
logger$6.error("replaceTrack returned false!");
|
|
3201
3237
|
return;
|
|
3202
3238
|
}
|
|
@@ -7425,6 +7461,9 @@ function getDisplayMedia(constraints = defaultDisplayMediaConstraints, contentHi
|
|
|
7425
7461
|
t.contentHint = contentHint;
|
|
7426
7462
|
}
|
|
7427
7463
|
});
|
|
7464
|
+
stream.getTracks().forEach((t) => {
|
|
7465
|
+
trackAnnotations(t).fromGetDisplayMedia = true;
|
|
7466
|
+
});
|
|
7428
7467
|
return stream;
|
|
7429
7468
|
});
|
|
7430
7469
|
}
|
|
@@ -7503,4 +7542,4 @@ var RtcEventNames;
|
|
|
7503
7542
|
RtcEventNames["stream_added"] = "stream_added";
|
|
7504
7543
|
})(RtcEventNames || (RtcEventNames = {}));
|
|
7505
7544
|
|
|
7506
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
7545
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
|
package/dist/legacy-esm.js
CHANGED
|
@@ -1807,6 +1807,16 @@ function fromLocation({ host = "whereby.com", protocol = "https:" } = {}) {
|
|
|
1807
1807
|
}
|
|
1808
1808
|
fromLocation(window && window.location);
|
|
1809
1809
|
|
|
1810
|
+
const _trackAnnotations = new WeakMap();
|
|
1811
|
+
function trackAnnotations(o) {
|
|
1812
|
+
let props = _trackAnnotations.get(o);
|
|
1813
|
+
if (!props) {
|
|
1814
|
+
props = {};
|
|
1815
|
+
_trackAnnotations.set(o, props);
|
|
1816
|
+
}
|
|
1817
|
+
return props;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1810
1820
|
const logger$9 = new Logger();
|
|
1811
1821
|
const debugLogger = {
|
|
1812
1822
|
print: (...args) => console.debug(args[0], ...args.slice(1)),
|
|
@@ -2204,6 +2214,7 @@ class Session {
|
|
|
2204
2214
|
});
|
|
2205
2215
|
}
|
|
2206
2216
|
else {
|
|
2217
|
+
rtcStats.sendEvent("P2PNoAddTrackSupport", {});
|
|
2207
2218
|
this.pc.addStream(stream);
|
|
2208
2219
|
}
|
|
2209
2220
|
}
|
|
@@ -2242,6 +2253,10 @@ class Session {
|
|
|
2242
2253
|
this.pc.removeStream(stream);
|
|
2243
2254
|
}
|
|
2244
2255
|
}
|
|
2256
|
+
else {
|
|
2257
|
+
rtcStats.sendEvent("P2PRemoveStreamNoPC", {});
|
|
2258
|
+
this._incrementAnalyticMetric("P2PRemoveStreamNoPC");
|
|
2259
|
+
}
|
|
2245
2260
|
}
|
|
2246
2261
|
_setRemoteDescription(desc) {
|
|
2247
2262
|
if (this._deprioritizeH264Encoding)
|
|
@@ -2326,98 +2341,104 @@ class Session {
|
|
|
2326
2341
|
return this.pc && this.pc.connectionState === "connected";
|
|
2327
2342
|
}
|
|
2328
2343
|
replaceTrack(oldTrack, newTrack) {
|
|
2329
|
-
var _a, _b;
|
|
2330
|
-
|
|
2331
|
-
if (!
|
|
2332
|
-
rtcStats.sendEvent("
|
|
2344
|
+
var _a, _b, _c;
|
|
2345
|
+
logger$7.info("replacetrack() [oldTrackId: %s, newTrackId: %s]", oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id, newTrack === null || newTrack === void 0 ? void 0 : newTrack.id);
|
|
2346
|
+
if (!newTrack) {
|
|
2347
|
+
rtcStats.sendEvent("P2PReplaceTrackNoNewTrack", {
|
|
2333
2348
|
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2334
|
-
|
|
2349
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2350
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2335
2351
|
});
|
|
2336
|
-
this._incrementAnalyticMetric("
|
|
2352
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNoNewTrack");
|
|
2337
2353
|
return false;
|
|
2338
2354
|
}
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
return null;
|
|
2356
|
-
};
|
|
2357
|
-
const result = process();
|
|
2358
|
-
if (result) {
|
|
2359
|
-
return result;
|
|
2355
|
+
if (newTrack.readyState === "ended") {
|
|
2356
|
+
rtcStats.sendEvent("P2PReplaceTrackNewTrackEnded", {
|
|
2357
|
+
newTrackId: newTrack.id,
|
|
2358
|
+
newTrackKind: newTrack.kind,
|
|
2359
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2360
|
+
});
|
|
2361
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNewTrackEnded");
|
|
2362
|
+
return false;
|
|
2363
|
+
}
|
|
2364
|
+
const pc = this.pc;
|
|
2365
|
+
if ((_b = (_a = window.RTCRtpSender) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b.replaceTrack) {
|
|
2366
|
+
if (oldTrack) {
|
|
2367
|
+
const sender = pc.getSenders().find((s) => { var _a; return ((_a = s.track) === null || _a === void 0 ? void 0 : _a.id) === oldTrack.id; });
|
|
2368
|
+
if (sender) {
|
|
2369
|
+
sender.replaceTrack(newTrack);
|
|
2370
|
+
return Promise.resolve(newTrack);
|
|
2360
2371
|
}
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
rtcStats.sendEvent("P2PReplaceTrackFailed", {
|
|
2381
|
-
newTrackId: newTrack === null || newTrack === void 0 ? void 0 : newTrack.id,
|
|
2382
|
-
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2383
|
-
oldTrackFallbackId: oldTrackFallback === null || oldTrackFallback === void 0 ? void 0 : oldTrackFallback.id,
|
|
2384
|
-
sendersCount: senders === null || senders === void 0 ? void 0 : senders.length,
|
|
2385
|
-
sendersAnalytics,
|
|
2386
|
-
});
|
|
2387
|
-
reject("No sender track to replace");
|
|
2388
|
-
}
|
|
2389
|
-
return;
|
|
2390
|
-
}
|
|
2391
|
-
clearInterval(timer);
|
|
2392
|
-
timer = null;
|
|
2393
|
-
const trackReplaced = yield trackReplacedPromise;
|
|
2394
|
-
resolve(trackReplaced);
|
|
2395
|
-
}), 1000);
|
|
2372
|
+
}
|
|
2373
|
+
const sender = pc.getSenders().find((s) => {
|
|
2374
|
+
const track = s.track;
|
|
2375
|
+
return (track === null || track === void 0 ? void 0 : track.kind) === newTrack.kind && !trackAnnotations(track).fromGetDisplayMedia;
|
|
2376
|
+
});
|
|
2377
|
+
if (sender) {
|
|
2378
|
+
this._incrementAnalyticMetric("P2PReplaceTrackOldTrackNotFound");
|
|
2379
|
+
const track = sender.track;
|
|
2380
|
+
rtcStats.sendEvent("P2PReplaceTrackOldTrackNotFound", {
|
|
2381
|
+
targetTrackId: track === null || track === void 0 ? void 0 : track.id,
|
|
2382
|
+
targetTrackKind: track === null || track === void 0 ? void 0 : track.kind,
|
|
2383
|
+
targetTrackIsEffect: track === null || track === void 0 ? void 0 : track.effectTrack,
|
|
2384
|
+
targetTrackReadyState: track === null || track === void 0 ? void 0 : track.readyState,
|
|
2385
|
+
newTrackId: newTrack.id,
|
|
2386
|
+
newTrackKind: newTrack.kind,
|
|
2387
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2388
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2389
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2390
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2396
2391
|
});
|
|
2392
|
+
sender.replaceTrack(newTrack);
|
|
2393
|
+
return Promise.resolve(newTrack);
|
|
2397
2394
|
}
|
|
2398
|
-
|
|
2395
|
+
let stream = this.streams.find((s) => s.getTracks().find((t) => t.id === newTrack.id));
|
|
2399
2396
|
if (!stream) {
|
|
2397
|
+
rtcStats.sendEvent("P2PReplaceTrackNewTrackNotInStream", {
|
|
2398
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2399
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2400
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2401
|
+
newTrackId: newTrack.id,
|
|
2402
|
+
newTrackKind: newTrack.kind,
|
|
2403
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2404
|
+
});
|
|
2405
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNewTrackNotInStream");
|
|
2406
|
+
}
|
|
2407
|
+
stream = this.streams[0];
|
|
2408
|
+
if (!stream) {
|
|
2409
|
+
rtcStats.sendEvent("P2PReplaceTrackNoStream", {});
|
|
2410
|
+
this._incrementAnalyticMetric("P2PReplaceTrackNoStream");
|
|
2400
2411
|
return Promise.reject(new Error("replaceTrack: No stream?"));
|
|
2401
2412
|
}
|
|
2413
|
+
rtcStats.sendEvent("P2PReplaceTrackSourceKindNotFound", {
|
|
2414
|
+
oldTrackId: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.id,
|
|
2415
|
+
oldTrackKind: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.kind,
|
|
2416
|
+
oldTrackIsEffect: oldTrack === null || oldTrack === void 0 ? void 0 : oldTrack.effectTrack,
|
|
2417
|
+
newTrackId: newTrack.id,
|
|
2418
|
+
newTrackKind: newTrack.kind,
|
|
2419
|
+
newTrackIsEffect: newTrack.effectTrack,
|
|
2420
|
+
});
|
|
2421
|
+
this._incrementAnalyticMetric("P2PReplaceTrackSourceKindNotFound");
|
|
2402
2422
|
return pc.addTrack(newTrack, stream);
|
|
2403
2423
|
}
|
|
2424
|
+
rtcStats.sendEvent("P2PNoReplaceTrackSupport", {});
|
|
2404
2425
|
if (!this.canModifyPeerConnection()) {
|
|
2405
2426
|
this.pending.push(() => {
|
|
2406
|
-
this.replaceTrack(
|
|
2427
|
+
this.replaceTrack(oldTrack, newTrack);
|
|
2407
2428
|
});
|
|
2408
2429
|
return;
|
|
2409
2430
|
}
|
|
2410
2431
|
this.isOperationPending = true;
|
|
2411
2432
|
const onn = pc.onnegotiationneeded;
|
|
2412
2433
|
pc.onnegotiationneeded = null;
|
|
2413
|
-
if (
|
|
2414
|
-
this.removeTrack(
|
|
2434
|
+
if (oldTrack) {
|
|
2435
|
+
this.removeTrack(oldTrack);
|
|
2415
2436
|
}
|
|
2416
2437
|
this.addTrack(newTrack);
|
|
2417
2438
|
setTimeout(() => {
|
|
2418
2439
|
pc.onnegotiationneeded = onn;
|
|
2419
2440
|
}, 0);
|
|
2420
|
-
if (((
|
|
2441
|
+
if (((_c = pc.localDescription) === null || _c === void 0 ? void 0 : _c.type) === "offer") {
|
|
2421
2442
|
return pc
|
|
2422
2443
|
.createOffer()
|
|
2423
2444
|
.then((offer) => {
|
|
@@ -2644,9 +2665,7 @@ class P2pRtcManager {
|
|
|
2644
2665
|
turnServers: turnServers || [],
|
|
2645
2666
|
mediaserverConfigTtlSeconds,
|
|
2646
2667
|
});
|
|
2647
|
-
this.totalSessionsCreated = 0;
|
|
2648
2668
|
this.analytics = {
|
|
2649
|
-
P2PReplaceTrackNoPC: 0,
|
|
2650
2669
|
P2PNonErrorRejectionValueGUMError: 0,
|
|
2651
2670
|
numNewPc: 0,
|
|
2652
2671
|
numIceConnected: 0,
|
|
@@ -2665,6 +2684,16 @@ class P2pRtcManager {
|
|
|
2665
2684
|
P2PChangeBandwidthEmptySDPType: 0,
|
|
2666
2685
|
P2PNegotiationNeeded: 0,
|
|
2667
2686
|
P2PSessionAlreadyCreated: 0,
|
|
2687
|
+
P2PReplaceTrackNoStream: 0,
|
|
2688
|
+
P2PReplaceTrackNoNewTrack: 0,
|
|
2689
|
+
P2PReplaceTrackNewTrackEnded: 0,
|
|
2690
|
+
P2PReplaceTrackNewTrackNotInStream: 0,
|
|
2691
|
+
P2PReplaceTrackOldTrackNotFound: 0,
|
|
2692
|
+
P2PReplaceTrackToPCsPendingActionsNull: 0,
|
|
2693
|
+
P2PReplaceTrackReturnedFalse: 0,
|
|
2694
|
+
P2PReplaceTrackWithoutPC: 0,
|
|
2695
|
+
P2PReplaceTrackSourceKindNotFound: 0,
|
|
2696
|
+
P2PRemoveStreamNoPC: 0,
|
|
2668
2697
|
};
|
|
2669
2698
|
}
|
|
2670
2699
|
numberOfPeerconnections() {
|
|
@@ -2958,7 +2987,6 @@ class P2pRtcManager {
|
|
|
2958
2987
|
shouldAddLocalVideo,
|
|
2959
2988
|
incrementAnalyticMetric: (metric) => this.analytics[metric]++,
|
|
2960
2989
|
});
|
|
2961
|
-
this.totalSessionsCreated++;
|
|
2962
2990
|
}
|
|
2963
2991
|
else {
|
|
2964
2992
|
this.analytics.P2PSessionAlreadyCreated++;
|
|
@@ -3174,9 +3202,13 @@ class P2pRtcManager {
|
|
|
3174
3202
|
const promises = [];
|
|
3175
3203
|
this._forEachPeerConnection((session) => {
|
|
3176
3204
|
if (!session.hasConnectedPeerConnection()) {
|
|
3205
|
+
rtcStats.sendEvent("P2PReplaceTrackWithoutPC", {});
|
|
3206
|
+
this.analytics.P2PReplaceTrackWithoutPC++;
|
|
3177
3207
|
logger$6.info("Session doesn't have a connected PeerConnection, adding pending action!");
|
|
3178
3208
|
const pendingActions = this._pendingActionsForConnectedPeerConnections;
|
|
3179
3209
|
if (!pendingActions) {
|
|
3210
|
+
rtcStats.sendEvent("P2PReplaceTrackToPCsPendingActionsNull", {});
|
|
3211
|
+
this.analytics.P2PReplaceTrackToPCsPendingActionsNull++;
|
|
3180
3212
|
logger$6.warn(`No pending action is created to replace track, because the pending actions array is null`);
|
|
3181
3213
|
return;
|
|
3182
3214
|
}
|
|
@@ -3184,6 +3216,8 @@ class P2pRtcManager {
|
|
|
3184
3216
|
const action = () => {
|
|
3185
3217
|
const replacedTrackPromise = session.replaceTrack(oldTrack, newTrack);
|
|
3186
3218
|
if (!replacedTrackPromise) {
|
|
3219
|
+
rtcStats.sendEvent("P2PReplaceTrackReturnedFalse", {});
|
|
3220
|
+
this.analytics.P2PReplaceTrackReturnedFalse++;
|
|
3187
3221
|
logger$6.error("replaceTrack returned false!");
|
|
3188
3222
|
reject(`ReplaceTrack returned false`);
|
|
3189
3223
|
return;
|
|
@@ -3197,6 +3231,8 @@ class P2pRtcManager {
|
|
|
3197
3231
|
}
|
|
3198
3232
|
const replacedTrackResult = session.replaceTrack(oldTrack, newTrack);
|
|
3199
3233
|
if (!replacedTrackResult) {
|
|
3234
|
+
rtcStats.sendEvent("P2PReplaceTrackReturnedFalse", {});
|
|
3235
|
+
this.analytics.P2PReplaceTrackReturnedFalse++;
|
|
3200
3236
|
logger$6.error("replaceTrack returned false!");
|
|
3201
3237
|
return;
|
|
3202
3238
|
}
|
|
@@ -7425,6 +7461,9 @@ function getDisplayMedia(constraints = defaultDisplayMediaConstraints, contentHi
|
|
|
7425
7461
|
t.contentHint = contentHint;
|
|
7426
7462
|
}
|
|
7427
7463
|
});
|
|
7464
|
+
stream.getTracks().forEach((t) => {
|
|
7465
|
+
trackAnnotations(t).fromGetDisplayMedia = true;
|
|
7466
|
+
});
|
|
7428
7467
|
return stream;
|
|
7429
7468
|
});
|
|
7430
7469
|
}
|
|
@@ -7503,5 +7542,5 @@ var RtcEventNames;
|
|
|
7503
7542
|
RtcEventNames["stream_added"] = "stream_added";
|
|
7504
7543
|
})(RtcEventNames || (RtcEventNames = {}));
|
|
7505
7544
|
|
|
7506
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
7545
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, 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_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, 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, getMediasoupDeviceAsync, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, issueDetectorOrMetricEnabled, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, trackAnnotations, turnServerOverride, variance };
|
|
7507
7546
|
//# sourceMappingURL=legacy-esm.js.map
|