@whereby.com/media 1.29.0 → 1.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENCE.md +23 -0
- package/dist/index.cjs +53 -43
- package/dist/index.d.cts +3 -2
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.mjs +53 -43
- package/dist/legacy-esm.js +53 -43
- 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();
|
|
@@ -1983,9 +1983,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
1983
1983
|
return this._pc.getStats();
|
|
1984
1984
|
});
|
|
1985
1985
|
}
|
|
1986
|
-
send(
|
|
1987
|
-
|
|
1988
|
-
|
|
1986
|
+
send(_a) {
|
|
1987
|
+
return __awaiter(this, arguments, void 0, function* ({ track, encodings, codecOptions, codec, onRtpSender }) {
|
|
1988
|
+
var _b;
|
|
1989
1989
|
this.assertNotClosed();
|
|
1990
1990
|
this.assertSendDirection();
|
|
1991
1991
|
logger$9.debug("send() [kind:%s, track.id:%s]", track.kind, track.id);
|
|
@@ -2033,7 +2033,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2033
2033
|
let offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
2034
2034
|
if (!this._transportReady) {
|
|
2035
2035
|
yield this.setupTransport({
|
|
2036
|
-
localDtlsRole: (
|
|
2036
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2037
2037
|
localSdpObject,
|
|
2038
2038
|
});
|
|
2039
2039
|
}
|
|
@@ -2209,9 +2209,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2209
2209
|
return transceiver.sender.getStats();
|
|
2210
2210
|
});
|
|
2211
2211
|
}
|
|
2212
|
-
sendDataChannel(
|
|
2213
|
-
|
|
2214
|
-
|
|
2212
|
+
sendDataChannel(_a) {
|
|
2213
|
+
return __awaiter(this, arguments, void 0, function* ({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
|
|
2214
|
+
var _b;
|
|
2215
2215
|
this.assertNotClosed();
|
|
2216
2216
|
this.assertSendDirection();
|
|
2217
2217
|
const options = {
|
|
@@ -2231,7 +2231,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2231
2231
|
const offerMediaObject = localSdpObject.media.find((m) => m.type === "application");
|
|
2232
2232
|
if (!this._transportReady) {
|
|
2233
2233
|
yield this.setupTransport({
|
|
2234
|
-
localDtlsRole: (
|
|
2234
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2235
2235
|
localSdpObject,
|
|
2236
2236
|
});
|
|
2237
2237
|
}
|
|
@@ -2253,8 +2253,8 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2253
2253
|
});
|
|
2254
2254
|
}
|
|
2255
2255
|
receive(optionsList) {
|
|
2256
|
-
var _a, _b;
|
|
2257
2256
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2257
|
+
var _a, _b;
|
|
2258
2258
|
this.assertNotClosed();
|
|
2259
2259
|
this.assertRecvDirection();
|
|
2260
2260
|
const results = [];
|
|
@@ -2401,9 +2401,9 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2401
2401
|
return transceiver.receiver.getStats();
|
|
2402
2402
|
});
|
|
2403
2403
|
}
|
|
2404
|
-
receiveDataChannel(
|
|
2405
|
-
|
|
2406
|
-
|
|
2404
|
+
receiveDataChannel(_a) {
|
|
2405
|
+
return __awaiter(this, arguments, void 0, function* ({ sctpStreamParameters, label, protocol, }) {
|
|
2406
|
+
var _b;
|
|
2407
2407
|
this.assertNotClosed();
|
|
2408
2408
|
this.assertRecvDirection();
|
|
2409
2409
|
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
@@ -2426,7 +2426,7 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2426
2426
|
if (!this._transportReady) {
|
|
2427
2427
|
const localSdpObject = sdpTransform__namespace.parse(answer.sdp);
|
|
2428
2428
|
yield this.setupTransport({
|
|
2429
|
-
localDtlsRole: (
|
|
2429
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2430
2430
|
localSdpObject,
|
|
2431
2431
|
});
|
|
2432
2432
|
}
|
|
@@ -2437,8 +2437,8 @@ class Safari17 extends HandlerInterface_js.HandlerInterface {
|
|
|
2437
2437
|
return { dataChannel };
|
|
2438
2438
|
});
|
|
2439
2439
|
}
|
|
2440
|
-
setupTransport(
|
|
2441
|
-
return __awaiter(this,
|
|
2440
|
+
setupTransport(_a) {
|
|
2441
|
+
return __awaiter(this, arguments, void 0, function* ({ localDtlsRole, localSdpObject, }) {
|
|
2442
2442
|
if (!localSdpObject) {
|
|
2443
2443
|
localSdpObject = sdpTransform__namespace.parse(this._pc.localDescription.sdp);
|
|
2444
2444
|
}
|
|
@@ -2747,8 +2747,8 @@ class ReconnectManager extends EventEmitter {
|
|
|
2747
2747
|
socket.on(PROTOCOL_RESPONSES.SCREENSHARE_STOPPED, (payload) => this._onScreenshareChanged(payload, false));
|
|
2748
2748
|
}
|
|
2749
2749
|
_onRoomJoined(payload) {
|
|
2750
|
-
var _a;
|
|
2751
2750
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2751
|
+
var _a;
|
|
2752
2752
|
this.reconnectThresholdInMs = (payload.disconnectTimeout || 0) * 0.8;
|
|
2753
2753
|
if (payload === null || payload === void 0 ? void 0 : payload.error) {
|
|
2754
2754
|
this.emit(PROTOCOL_RESPONSES.ROOM_JOINED, payload);
|
|
@@ -5242,8 +5242,8 @@ class VegaRtcManager {
|
|
|
5242
5242
|
this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_CLOSED);
|
|
5243
5243
|
}
|
|
5244
5244
|
_join() {
|
|
5245
|
-
var _a, _b;
|
|
5246
5245
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5246
|
+
var _a, _b;
|
|
5247
5247
|
logger$3.info("join()");
|
|
5248
5248
|
this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_OPEN);
|
|
5249
5249
|
try {
|
|
@@ -5276,8 +5276,8 @@ class VegaRtcManager {
|
|
|
5276
5276
|
});
|
|
5277
5277
|
}
|
|
5278
5278
|
_createTransport(send) {
|
|
5279
|
-
var _a;
|
|
5280
5279
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5280
|
+
var _a;
|
|
5281
5281
|
const creator = send ? "createSendTransport" : "createRecvTransport";
|
|
5282
5282
|
const transportOptions = yield this._vegaConnection.request("createTransport", {
|
|
5283
5283
|
producing: send,
|
|
@@ -5332,7 +5332,7 @@ class VegaRtcManager {
|
|
|
5332
5332
|
transport.removeListener("connectionstatechange", onConnectionStateListener);
|
|
5333
5333
|
});
|
|
5334
5334
|
if (send) {
|
|
5335
|
-
transport === null || transport === void 0 ? void 0 : transport.on("produce", (
|
|
5335
|
+
transport === null || transport === void 0 ? void 0 : transport.on("produce", (_a, callback_1, errback_1) => __awaiter(this, [_a, callback_1, errback_1], void 0, function* ({ kind, rtpParameters, appData, }, callback, errback) {
|
|
5336
5336
|
var _b;
|
|
5337
5337
|
try {
|
|
5338
5338
|
const { paused } = appData;
|
|
@@ -5349,10 +5349,10 @@ class VegaRtcManager {
|
|
|
5349
5349
|
errback(error);
|
|
5350
5350
|
}
|
|
5351
5351
|
}));
|
|
5352
|
-
transport === null || transport === void 0 ? void 0 : transport.on("producedata", (
|
|
5353
|
-
var
|
|
5352
|
+
transport === null || transport === void 0 ? void 0 : transport.on("producedata", (_a, callback_1, errback_1) => __awaiter(this, [_a, callback_1, errback_1], void 0, function* ({ appData, sctpStreamParameters, }, callback, errback) {
|
|
5353
|
+
var _b;
|
|
5354
5354
|
try {
|
|
5355
|
-
const { id } = yield ((
|
|
5355
|
+
const { id } = yield ((_b = this._vegaConnection) === null || _b === void 0 ? void 0 : _b.request("produceData", {
|
|
5356
5356
|
transportId: transport.id,
|
|
5357
5357
|
sctpStreamParameters,
|
|
5358
5358
|
appData,
|
|
@@ -5370,8 +5370,8 @@ class VegaRtcManager {
|
|
|
5370
5370
|
}
|
|
5371
5371
|
});
|
|
5372
5372
|
}
|
|
5373
|
-
_restartIce(
|
|
5374
|
-
return __awaiter(this,
|
|
5373
|
+
_restartIce(transport_1) {
|
|
5374
|
+
return __awaiter(this, arguments, void 0, function* (transport, retried = 0) {
|
|
5375
5375
|
if (!transport || !("closed" in transport) || !("connectionState" in transport)) {
|
|
5376
5376
|
logger$3.info("_restartIce: No transport or property closed or connectionState!");
|
|
5377
5377
|
return;
|
|
@@ -5525,8 +5525,8 @@ class VegaRtcManager {
|
|
|
5525
5525
|
this._micScoreProducer = null;
|
|
5526
5526
|
}
|
|
5527
5527
|
_replaceMicTrack() {
|
|
5528
|
-
var _a;
|
|
5529
5528
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5529
|
+
var _a;
|
|
5530
5530
|
logger$3.info("_replaceMicTrack()");
|
|
5531
5531
|
if (!this._micTrack || !this._micProducer || this._micProducer.closed)
|
|
5532
5532
|
return;
|
|
@@ -5595,8 +5595,8 @@ class VegaRtcManager {
|
|
|
5595
5595
|
}
|
|
5596
5596
|
}
|
|
5597
5597
|
_internalSendWebcam() {
|
|
5598
|
-
var _a;
|
|
5599
5598
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5599
|
+
var _a;
|
|
5600
5600
|
logger$3.info("_internalSendWebcam()");
|
|
5601
5601
|
if (!this._sendTransport ||
|
|
5602
5602
|
this._webcamProducer ||
|
|
@@ -5605,7 +5605,7 @@ class VegaRtcManager {
|
|
|
5605
5605
|
return;
|
|
5606
5606
|
}
|
|
5607
5607
|
this._webcamProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
5608
|
-
var
|
|
5608
|
+
var _a;
|
|
5609
5609
|
try {
|
|
5610
5610
|
const currentPaused = this._webcamPaused;
|
|
5611
5611
|
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._webcamTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
@@ -5627,7 +5627,7 @@ class VegaRtcManager {
|
|
|
5627
5627
|
this._webcamProducerPromise = null;
|
|
5628
5628
|
this._qualityMonitor.removeProducer(this._selfId, producer.id);
|
|
5629
5629
|
});
|
|
5630
|
-
if (this._webcamTrack && this._webcamTrack !== ((
|
|
5630
|
+
if (this._webcamTrack && this._webcamTrack !== ((_a = this._webcamProducer) === null || _a === void 0 ? void 0 : _a.track)) {
|
|
5631
5631
|
this._webcamProducerPromise = null;
|
|
5632
5632
|
this._replaceWebcamTrack();
|
|
5633
5633
|
}
|
|
@@ -6229,11 +6229,11 @@ class VegaRtcManager {
|
|
|
6229
6229
|
}
|
|
6230
6230
|
});
|
|
6231
6231
|
}
|
|
6232
|
-
_onConsumerClosed(
|
|
6233
|
-
|
|
6234
|
-
|
|
6232
|
+
_onConsumerClosed(_a) {
|
|
6233
|
+
return __awaiter(this, arguments, void 0, function* ({ consumerId, reason }) {
|
|
6234
|
+
var _b;
|
|
6235
6235
|
logger$3.info("_onConsumerClosed()", { consumerId, reason });
|
|
6236
|
-
(
|
|
6236
|
+
(_b = this._consumers.get(consumerId)) === null || _b === void 0 ? void 0 : _b.close();
|
|
6237
6237
|
});
|
|
6238
6238
|
}
|
|
6239
6239
|
_onConsumerPaused({ consumerId }) {
|
|
@@ -6292,8 +6292,8 @@ class VegaRtcManager {
|
|
|
6292
6292
|
this._syncIncomingStreamsWithPWA(clientId);
|
|
6293
6293
|
});
|
|
6294
6294
|
}
|
|
6295
|
-
_onDataConsumerClosed(
|
|
6296
|
-
return __awaiter(this,
|
|
6295
|
+
_onDataConsumerClosed(_a) {
|
|
6296
|
+
return __awaiter(this, arguments, void 0, function* ({ dataConsumerId, reason }) {
|
|
6297
6297
|
logger$3.info("_onDataConsumerClosed()", { dataConsumerId, reason });
|
|
6298
6298
|
const consumer = this._dataConsumers.get(dataConsumerId);
|
|
6299
6299
|
consumer === null || consumer === void 0 ? void 0 : consumer.close();
|
|
@@ -6695,6 +6695,16 @@ const issueDetectors = [
|
|
|
6695
6695
|
},
|
|
6696
6696
|
noTrackStatsIssueDetector,
|
|
6697
6697
|
dryTrackIssueDetector,
|
|
6698
|
+
{
|
|
6699
|
+
id: "denoiser-context-suspended",
|
|
6700
|
+
enabled: ({ client, kind }) => { var _a, _b; return client.isLocalClient && kind === "audio" && !!((_b = (_a = client.audio) === null || _a === void 0 ? void 0 : _a.track) === null || _b === void 0 ? void 0 : _b._denoiserCtx); },
|
|
6701
|
+
check: ({ track }) => {
|
|
6702
|
+
var _a;
|
|
6703
|
+
if (!track || !("_denoiserCtx" in track))
|
|
6704
|
+
return false;
|
|
6705
|
+
return ((_a = track._denoiserCtx) === null || _a === void 0 ? void 0 : _a.state) === "suspended";
|
|
6706
|
+
},
|
|
6707
|
+
},
|
|
6698
6708
|
{
|
|
6699
6709
|
id: "low-layer0-bitrate",
|
|
6700
6710
|
enabled: ({ hasLiveTrack, ssrc0, kind, client }) => hasLiveTrack && kind === "video" && !!ssrc0 && !!(ssrc0 === null || ssrc0 === void 0 ? void 0 : ssrc0.height) && !client.isPresentation,
|
|
@@ -7333,8 +7343,8 @@ class BandwidthTester extends EventEmitter {
|
|
|
7333
7343
|
this.emit("close");
|
|
7334
7344
|
}
|
|
7335
7345
|
_start() {
|
|
7336
|
-
var _a, _b;
|
|
7337
7346
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7347
|
+
var _a, _b;
|
|
7338
7348
|
logger$1.info("_start()");
|
|
7339
7349
|
this._connectTime = Date.now() - this._startTime;
|
|
7340
7350
|
if (this._connectTime > 5000) {
|
|
@@ -7386,8 +7396,8 @@ class BandwidthTester extends EventEmitter {
|
|
|
7386
7396
|
});
|
|
7387
7397
|
}
|
|
7388
7398
|
_createTransport(send) {
|
|
7389
|
-
var _a;
|
|
7390
7399
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7400
|
+
var _a;
|
|
7391
7401
|
const creator = send ? "createSendTransport" : "createRecvTransport";
|
|
7392
7402
|
const transportOptions = yield this._vegaConnection.request("createTransport", {
|
|
7393
7403
|
producing: send,
|
|
@@ -7406,7 +7416,7 @@ class BandwidthTester extends EventEmitter {
|
|
|
7406
7416
|
callback();
|
|
7407
7417
|
});
|
|
7408
7418
|
if (send) {
|
|
7409
|
-
transport === null || transport === void 0 ? void 0 : transport.on("produce", (
|
|
7419
|
+
transport === null || transport === void 0 ? void 0 : transport.on("produce", (_a, callback_1, errback_1) => __awaiter(this, [_a, callback_1, errback_1], void 0, function* ({ kind, rtpParameters, appData }, callback, errback) {
|
|
7410
7420
|
try {
|
|
7411
7421
|
const { paused } = appData;
|
|
7412
7422
|
const { id } = yield this._vegaConnection.request("produce", {
|
|
@@ -7795,9 +7805,9 @@ function replaceTracksInStream(stream, newStream, only) {
|
|
|
7795
7805
|
});
|
|
7796
7806
|
return replacedTracks;
|
|
7797
7807
|
}
|
|
7798
|
-
function getStream(
|
|
7799
|
-
|
|
7800
|
-
|
|
7808
|
+
function getStream(constraintOpt_1) {
|
|
7809
|
+
return __awaiter(this, arguments, void 0, function* (constraintOpt, { replaceStream, fallback = true } = {}) {
|
|
7810
|
+
var _a;
|
|
7801
7811
|
let error;
|
|
7802
7812
|
let newConstraints;
|
|
7803
7813
|
let retryConstraintOpt;
|
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: {
|
|
@@ -1808,4 +1808,5 @@ declare class RtcStream {
|
|
|
1808
1808
|
static getTypeFromId(id: string): string;
|
|
1809
1809
|
}
|
|
1810
1810
|
|
|
1811
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS,
|
|
1811
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MAXIMUM_TURN_BANDWIDTH, MAXIMUM_TURN_BANDWIDTH_UNLIMITED, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SETTINGS_VP9, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_KEY, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, isRelayed, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1812
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TrackStats, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, ViewStats, ssrcStats };
|
package/dist/index.d.mts
CHANGED
|
@@ -66,7 +66,7 @@ type IssuesAndMetricsByView = {
|
|
|
66
66
|
aggregated: IssuesAndMetricsAggregated;
|
|
67
67
|
};
|
|
68
68
|
declare const getIssuesAndMetrics: () => {
|
|
69
|
-
[
|
|
69
|
+
[clientId: string]: IssuesAndMetrics | IssuesAndMetricsAggregated;
|
|
70
70
|
aggregated: IssuesAndMetricsAggregated;
|
|
71
71
|
};
|
|
72
72
|
declare function subscribeIssues(subscription: {
|
|
@@ -1808,4 +1808,5 @@ declare class RtcStream {
|
|
|
1808
1808
|
static getTypeFromId(id: string): string;
|
|
1809
1809
|
}
|
|
1810
1810
|
|
|
1811
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS,
|
|
1811
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MAXIMUM_TURN_BANDWIDTH, MAXIMUM_TURN_BANDWIDTH_UNLIMITED, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SETTINGS_VP9, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_KEY, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, isRelayed, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1812
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TrackStats, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, ViewStats, ssrcStats };
|
package/dist/index.d.ts
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: {
|
|
@@ -1808,4 +1808,5 @@ declare class RtcStream {
|
|
|
1808
1808
|
static getTypeFromId(id: string): string;
|
|
1809
1809
|
}
|
|
1810
1810
|
|
|
1811
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS,
|
|
1811
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MAXIMUM_TURN_BANDWIDTH, MAXIMUM_TURN_BANDWIDTH_UNLIMITED, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SETTINGS_VP9, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_KEY, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, isRelayed, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1812
|
+
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TrackStats, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, ViewStats, ssrcStats };
|
package/dist/index.mjs
CHANGED
|
@@ -90,7 +90,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
|
90
90
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
91
91
|
PERFORMANCE OF THIS SOFTWARE.
|
|
92
92
|
***************************************************************************** */
|
|
93
|
-
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
93
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
@@ -597,8 +597,8 @@ const removeNonUpdatedStats = (statsByView, time) => {
|
|
|
597
597
|
}
|
|
598
598
|
});
|
|
599
599
|
};
|
|
600
|
-
function collectStats(
|
|
601
|
-
return __awaiter(this,
|
|
600
|
+
function collectStats(state_1, _a, immediate_1) {
|
|
601
|
+
return __awaiter(this, arguments, void 0, function* (state, { logger, interval }, immediate) {
|
|
602
602
|
const collectStatsBound = collectStats.bind(null, state, { interval, logger });
|
|
603
603
|
try {
|
|
604
604
|
const clients = state.getClients();
|
|
@@ -1958,9 +1958,9 @@ class Safari17 extends HandlerInterface {
|
|
|
1958
1958
|
return this._pc.getStats();
|
|
1959
1959
|
});
|
|
1960
1960
|
}
|
|
1961
|
-
send(
|
|
1962
|
-
|
|
1963
|
-
|
|
1961
|
+
send(_a) {
|
|
1962
|
+
return __awaiter(this, arguments, void 0, function* ({ track, encodings, codecOptions, codec, onRtpSender }) {
|
|
1963
|
+
var _b;
|
|
1964
1964
|
this.assertNotClosed();
|
|
1965
1965
|
this.assertSendDirection();
|
|
1966
1966
|
logger$9.debug("send() [kind:%s, track.id:%s]", track.kind, track.id);
|
|
@@ -2008,7 +2008,7 @@ class Safari17 extends HandlerInterface {
|
|
|
2008
2008
|
let offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
2009
2009
|
if (!this._transportReady) {
|
|
2010
2010
|
yield this.setupTransport({
|
|
2011
|
-
localDtlsRole: (
|
|
2011
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2012
2012
|
localSdpObject,
|
|
2013
2013
|
});
|
|
2014
2014
|
}
|
|
@@ -2184,9 +2184,9 @@ class Safari17 extends HandlerInterface {
|
|
|
2184
2184
|
return transceiver.sender.getStats();
|
|
2185
2185
|
});
|
|
2186
2186
|
}
|
|
2187
|
-
sendDataChannel(
|
|
2188
|
-
|
|
2189
|
-
|
|
2187
|
+
sendDataChannel(_a) {
|
|
2188
|
+
return __awaiter(this, arguments, void 0, function* ({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
|
|
2189
|
+
var _b;
|
|
2190
2190
|
this.assertNotClosed();
|
|
2191
2191
|
this.assertSendDirection();
|
|
2192
2192
|
const options = {
|
|
@@ -2206,7 +2206,7 @@ class Safari17 extends HandlerInterface {
|
|
|
2206
2206
|
const offerMediaObject = localSdpObject.media.find((m) => m.type === "application");
|
|
2207
2207
|
if (!this._transportReady) {
|
|
2208
2208
|
yield this.setupTransport({
|
|
2209
|
-
localDtlsRole: (
|
|
2209
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2210
2210
|
localSdpObject,
|
|
2211
2211
|
});
|
|
2212
2212
|
}
|
|
@@ -2228,8 +2228,8 @@ class Safari17 extends HandlerInterface {
|
|
|
2228
2228
|
});
|
|
2229
2229
|
}
|
|
2230
2230
|
receive(optionsList) {
|
|
2231
|
-
var _a, _b;
|
|
2232
2231
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2232
|
+
var _a, _b;
|
|
2233
2233
|
this.assertNotClosed();
|
|
2234
2234
|
this.assertRecvDirection();
|
|
2235
2235
|
const results = [];
|
|
@@ -2376,9 +2376,9 @@ class Safari17 extends HandlerInterface {
|
|
|
2376
2376
|
return transceiver.receiver.getStats();
|
|
2377
2377
|
});
|
|
2378
2378
|
}
|
|
2379
|
-
receiveDataChannel(
|
|
2380
|
-
|
|
2381
|
-
|
|
2379
|
+
receiveDataChannel(_a) {
|
|
2380
|
+
return __awaiter(this, arguments, void 0, function* ({ sctpStreamParameters, label, protocol, }) {
|
|
2381
|
+
var _b;
|
|
2382
2382
|
this.assertNotClosed();
|
|
2383
2383
|
this.assertRecvDirection();
|
|
2384
2384
|
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
@@ -2401,7 +2401,7 @@ class Safari17 extends HandlerInterface {
|
|
|
2401
2401
|
if (!this._transportReady) {
|
|
2402
2402
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
2403
2403
|
yield this.setupTransport({
|
|
2404
|
-
localDtlsRole: (
|
|
2404
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2405
2405
|
localSdpObject,
|
|
2406
2406
|
});
|
|
2407
2407
|
}
|
|
@@ -2412,8 +2412,8 @@ class Safari17 extends HandlerInterface {
|
|
|
2412
2412
|
return { dataChannel };
|
|
2413
2413
|
});
|
|
2414
2414
|
}
|
|
2415
|
-
setupTransport(
|
|
2416
|
-
return __awaiter(this,
|
|
2415
|
+
setupTransport(_a) {
|
|
2416
|
+
return __awaiter(this, arguments, void 0, function* ({ localDtlsRole, localSdpObject, }) {
|
|
2417
2417
|
if (!localSdpObject) {
|
|
2418
2418
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
2419
2419
|
}
|
|
@@ -2722,8 +2722,8 @@ class ReconnectManager extends EventEmitter {
|
|
|
2722
2722
|
socket.on(PROTOCOL_RESPONSES.SCREENSHARE_STOPPED, (payload) => this._onScreenshareChanged(payload, false));
|
|
2723
2723
|
}
|
|
2724
2724
|
_onRoomJoined(payload) {
|
|
2725
|
-
var _a;
|
|
2726
2725
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2726
|
+
var _a;
|
|
2727
2727
|
this.reconnectThresholdInMs = (payload.disconnectTimeout || 0) * 0.8;
|
|
2728
2728
|
if (payload === null || payload === void 0 ? void 0 : payload.error) {
|
|
2729
2729
|
this.emit(PROTOCOL_RESPONSES.ROOM_JOINED, payload);
|
|
@@ -5217,8 +5217,8 @@ class VegaRtcManager {
|
|
|
5217
5217
|
this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_CLOSED);
|
|
5218
5218
|
}
|
|
5219
5219
|
_join() {
|
|
5220
|
-
var _a, _b;
|
|
5221
5220
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5221
|
+
var _a, _b;
|
|
5222
5222
|
logger$3.info("join()");
|
|
5223
5223
|
this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_OPEN);
|
|
5224
5224
|
try {
|
|
@@ -5251,8 +5251,8 @@ class VegaRtcManager {
|
|
|
5251
5251
|
});
|
|
5252
5252
|
}
|
|
5253
5253
|
_createTransport(send) {
|
|
5254
|
-
var _a;
|
|
5255
5254
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5255
|
+
var _a;
|
|
5256
5256
|
const creator = send ? "createSendTransport" : "createRecvTransport";
|
|
5257
5257
|
const transportOptions = yield this._vegaConnection.request("createTransport", {
|
|
5258
5258
|
producing: send,
|
|
@@ -5307,7 +5307,7 @@ class VegaRtcManager {
|
|
|
5307
5307
|
transport.removeListener("connectionstatechange", onConnectionStateListener);
|
|
5308
5308
|
});
|
|
5309
5309
|
if (send) {
|
|
5310
|
-
transport === null || transport === void 0 ? void 0 : transport.on("produce", (
|
|
5310
|
+
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) {
|
|
5311
5311
|
var _b;
|
|
5312
5312
|
try {
|
|
5313
5313
|
const { paused } = appData;
|
|
@@ -5324,10 +5324,10 @@ class VegaRtcManager {
|
|
|
5324
5324
|
errback(error);
|
|
5325
5325
|
}
|
|
5326
5326
|
}));
|
|
5327
|
-
transport === null || transport === void 0 ? void 0 : transport.on("producedata", (
|
|
5328
|
-
var
|
|
5327
|
+
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) {
|
|
5328
|
+
var _b;
|
|
5329
5329
|
try {
|
|
5330
|
-
const { id } = yield ((
|
|
5330
|
+
const { id } = yield ((_b = this._vegaConnection) === null || _b === void 0 ? void 0 : _b.request("produceData", {
|
|
5331
5331
|
transportId: transport.id,
|
|
5332
5332
|
sctpStreamParameters,
|
|
5333
5333
|
appData,
|
|
@@ -5345,8 +5345,8 @@ class VegaRtcManager {
|
|
|
5345
5345
|
}
|
|
5346
5346
|
});
|
|
5347
5347
|
}
|
|
5348
|
-
_restartIce(
|
|
5349
|
-
return __awaiter(this,
|
|
5348
|
+
_restartIce(transport_1) {
|
|
5349
|
+
return __awaiter(this, arguments, void 0, function* (transport, retried = 0) {
|
|
5350
5350
|
if (!transport || !("closed" in transport) || !("connectionState" in transport)) {
|
|
5351
5351
|
logger$3.info("_restartIce: No transport or property closed or connectionState!");
|
|
5352
5352
|
return;
|
|
@@ -5500,8 +5500,8 @@ class VegaRtcManager {
|
|
|
5500
5500
|
this._micScoreProducer = null;
|
|
5501
5501
|
}
|
|
5502
5502
|
_replaceMicTrack() {
|
|
5503
|
-
var _a;
|
|
5504
5503
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5504
|
+
var _a;
|
|
5505
5505
|
logger$3.info("_replaceMicTrack()");
|
|
5506
5506
|
if (!this._micTrack || !this._micProducer || this._micProducer.closed)
|
|
5507
5507
|
return;
|
|
@@ -5570,8 +5570,8 @@ class VegaRtcManager {
|
|
|
5570
5570
|
}
|
|
5571
5571
|
}
|
|
5572
5572
|
_internalSendWebcam() {
|
|
5573
|
-
var _a;
|
|
5574
5573
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5574
|
+
var _a;
|
|
5575
5575
|
logger$3.info("_internalSendWebcam()");
|
|
5576
5576
|
if (!this._sendTransport ||
|
|
5577
5577
|
this._webcamProducer ||
|
|
@@ -5580,7 +5580,7 @@ class VegaRtcManager {
|
|
|
5580
5580
|
return;
|
|
5581
5581
|
}
|
|
5582
5582
|
this._webcamProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
5583
|
-
var
|
|
5583
|
+
var _a;
|
|
5584
5584
|
try {
|
|
5585
5585
|
const currentPaused = this._webcamPaused;
|
|
5586
5586
|
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: {
|
|
@@ -5602,7 +5602,7 @@ class VegaRtcManager {
|
|
|
5602
5602
|
this._webcamProducerPromise = null;
|
|
5603
5603
|
this._qualityMonitor.removeProducer(this._selfId, producer.id);
|
|
5604
5604
|
});
|
|
5605
|
-
if (this._webcamTrack && this._webcamTrack !== ((
|
|
5605
|
+
if (this._webcamTrack && this._webcamTrack !== ((_a = this._webcamProducer) === null || _a === void 0 ? void 0 : _a.track)) {
|
|
5606
5606
|
this._webcamProducerPromise = null;
|
|
5607
5607
|
this._replaceWebcamTrack();
|
|
5608
5608
|
}
|
|
@@ -6204,11 +6204,11 @@ class VegaRtcManager {
|
|
|
6204
6204
|
}
|
|
6205
6205
|
});
|
|
6206
6206
|
}
|
|
6207
|
-
_onConsumerClosed(
|
|
6208
|
-
|
|
6209
|
-
|
|
6207
|
+
_onConsumerClosed(_a) {
|
|
6208
|
+
return __awaiter(this, arguments, void 0, function* ({ consumerId, reason }) {
|
|
6209
|
+
var _b;
|
|
6210
6210
|
logger$3.info("_onConsumerClosed()", { consumerId, reason });
|
|
6211
|
-
(
|
|
6211
|
+
(_b = this._consumers.get(consumerId)) === null || _b === void 0 ? void 0 : _b.close();
|
|
6212
6212
|
});
|
|
6213
6213
|
}
|
|
6214
6214
|
_onConsumerPaused({ consumerId }) {
|
|
@@ -6267,8 +6267,8 @@ class VegaRtcManager {
|
|
|
6267
6267
|
this._syncIncomingStreamsWithPWA(clientId);
|
|
6268
6268
|
});
|
|
6269
6269
|
}
|
|
6270
|
-
_onDataConsumerClosed(
|
|
6271
|
-
return __awaiter(this,
|
|
6270
|
+
_onDataConsumerClosed(_a) {
|
|
6271
|
+
return __awaiter(this, arguments, void 0, function* ({ dataConsumerId, reason }) {
|
|
6272
6272
|
logger$3.info("_onDataConsumerClosed()", { dataConsumerId, reason });
|
|
6273
6273
|
const consumer = this._dataConsumers.get(dataConsumerId);
|
|
6274
6274
|
consumer === null || consumer === void 0 ? void 0 : consumer.close();
|
|
@@ -6670,6 +6670,16 @@ const issueDetectors = [
|
|
|
6670
6670
|
},
|
|
6671
6671
|
noTrackStatsIssueDetector,
|
|
6672
6672
|
dryTrackIssueDetector,
|
|
6673
|
+
{
|
|
6674
|
+
id: "denoiser-context-suspended",
|
|
6675
|
+
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); },
|
|
6676
|
+
check: ({ track }) => {
|
|
6677
|
+
var _a;
|
|
6678
|
+
if (!track || !("_denoiserCtx" in track))
|
|
6679
|
+
return false;
|
|
6680
|
+
return ((_a = track._denoiserCtx) === null || _a === void 0 ? void 0 : _a.state) === "suspended";
|
|
6681
|
+
},
|
|
6682
|
+
},
|
|
6673
6683
|
{
|
|
6674
6684
|
id: "low-layer0-bitrate",
|
|
6675
6685
|
enabled: ({ hasLiveTrack, ssrc0, kind, client }) => hasLiveTrack && kind === "video" && !!ssrc0 && !!(ssrc0 === null || ssrc0 === void 0 ? void 0 : ssrc0.height) && !client.isPresentation,
|
|
@@ -7308,8 +7318,8 @@ class BandwidthTester extends EventEmitter {
|
|
|
7308
7318
|
this.emit("close");
|
|
7309
7319
|
}
|
|
7310
7320
|
_start() {
|
|
7311
|
-
var _a, _b;
|
|
7312
7321
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7322
|
+
var _a, _b;
|
|
7313
7323
|
logger$1.info("_start()");
|
|
7314
7324
|
this._connectTime = Date.now() - this._startTime;
|
|
7315
7325
|
if (this._connectTime > 5000) {
|
|
@@ -7361,8 +7371,8 @@ class BandwidthTester extends EventEmitter {
|
|
|
7361
7371
|
});
|
|
7362
7372
|
}
|
|
7363
7373
|
_createTransport(send) {
|
|
7364
|
-
var _a;
|
|
7365
7374
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7375
|
+
var _a;
|
|
7366
7376
|
const creator = send ? "createSendTransport" : "createRecvTransport";
|
|
7367
7377
|
const transportOptions = yield this._vegaConnection.request("createTransport", {
|
|
7368
7378
|
producing: send,
|
|
@@ -7381,7 +7391,7 @@ class BandwidthTester extends EventEmitter {
|
|
|
7381
7391
|
callback();
|
|
7382
7392
|
});
|
|
7383
7393
|
if (send) {
|
|
7384
|
-
transport === null || transport === void 0 ? void 0 : transport.on("produce", (
|
|
7394
|
+
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) {
|
|
7385
7395
|
try {
|
|
7386
7396
|
const { paused } = appData;
|
|
7387
7397
|
const { id } = yield this._vegaConnection.request("produce", {
|
|
@@ -7770,9 +7780,9 @@ function replaceTracksInStream(stream, newStream, only) {
|
|
|
7770
7780
|
});
|
|
7771
7781
|
return replacedTracks;
|
|
7772
7782
|
}
|
|
7773
|
-
function getStream(
|
|
7774
|
-
|
|
7775
|
-
|
|
7783
|
+
function getStream(constraintOpt_1) {
|
|
7784
|
+
return __awaiter(this, arguments, void 0, function* (constraintOpt, { replaceStream, fallback = true } = {}) {
|
|
7785
|
+
var _a;
|
|
7776
7786
|
let error;
|
|
7777
7787
|
let newConstraints;
|
|
7778
7788
|
let retryConstraintOpt;
|
package/dist/legacy-esm.js
CHANGED
|
@@ -90,7 +90,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
|
90
90
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
91
91
|
PERFORMANCE OF THIS SOFTWARE.
|
|
92
92
|
***************************************************************************** */
|
|
93
|
-
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
93
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
@@ -597,8 +597,8 @@ const removeNonUpdatedStats = (statsByView, time) => {
|
|
|
597
597
|
}
|
|
598
598
|
});
|
|
599
599
|
};
|
|
600
|
-
function collectStats(
|
|
601
|
-
return __awaiter(this,
|
|
600
|
+
function collectStats(state_1, _a, immediate_1) {
|
|
601
|
+
return __awaiter(this, arguments, void 0, function* (state, { logger, interval }, immediate) {
|
|
602
602
|
const collectStatsBound = collectStats.bind(null, state, { interval, logger });
|
|
603
603
|
try {
|
|
604
604
|
const clients = state.getClients();
|
|
@@ -1958,9 +1958,9 @@ class Safari17 extends HandlerInterface {
|
|
|
1958
1958
|
return this._pc.getStats();
|
|
1959
1959
|
});
|
|
1960
1960
|
}
|
|
1961
|
-
send(
|
|
1962
|
-
|
|
1963
|
-
|
|
1961
|
+
send(_a) {
|
|
1962
|
+
return __awaiter(this, arguments, void 0, function* ({ track, encodings, codecOptions, codec, onRtpSender }) {
|
|
1963
|
+
var _b;
|
|
1964
1964
|
this.assertNotClosed();
|
|
1965
1965
|
this.assertSendDirection();
|
|
1966
1966
|
logger$9.debug("send() [kind:%s, track.id:%s]", track.kind, track.id);
|
|
@@ -2008,7 +2008,7 @@ class Safari17 extends HandlerInterface {
|
|
|
2008
2008
|
let offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
|
|
2009
2009
|
if (!this._transportReady) {
|
|
2010
2010
|
yield this.setupTransport({
|
|
2011
|
-
localDtlsRole: (
|
|
2011
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2012
2012
|
localSdpObject,
|
|
2013
2013
|
});
|
|
2014
2014
|
}
|
|
@@ -2184,9 +2184,9 @@ class Safari17 extends HandlerInterface {
|
|
|
2184
2184
|
return transceiver.sender.getStats();
|
|
2185
2185
|
});
|
|
2186
2186
|
}
|
|
2187
|
-
sendDataChannel(
|
|
2188
|
-
|
|
2189
|
-
|
|
2187
|
+
sendDataChannel(_a) {
|
|
2188
|
+
return __awaiter(this, arguments, void 0, function* ({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
|
|
2189
|
+
var _b;
|
|
2190
2190
|
this.assertNotClosed();
|
|
2191
2191
|
this.assertSendDirection();
|
|
2192
2192
|
const options = {
|
|
@@ -2206,7 +2206,7 @@ class Safari17 extends HandlerInterface {
|
|
|
2206
2206
|
const offerMediaObject = localSdpObject.media.find((m) => m.type === "application");
|
|
2207
2207
|
if (!this._transportReady) {
|
|
2208
2208
|
yield this.setupTransport({
|
|
2209
|
-
localDtlsRole: (
|
|
2209
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2210
2210
|
localSdpObject,
|
|
2211
2211
|
});
|
|
2212
2212
|
}
|
|
@@ -2228,8 +2228,8 @@ class Safari17 extends HandlerInterface {
|
|
|
2228
2228
|
});
|
|
2229
2229
|
}
|
|
2230
2230
|
receive(optionsList) {
|
|
2231
|
-
var _a, _b;
|
|
2232
2231
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2232
|
+
var _a, _b;
|
|
2233
2233
|
this.assertNotClosed();
|
|
2234
2234
|
this.assertRecvDirection();
|
|
2235
2235
|
const results = [];
|
|
@@ -2376,9 +2376,9 @@ class Safari17 extends HandlerInterface {
|
|
|
2376
2376
|
return transceiver.receiver.getStats();
|
|
2377
2377
|
});
|
|
2378
2378
|
}
|
|
2379
|
-
receiveDataChannel(
|
|
2380
|
-
|
|
2381
|
-
|
|
2379
|
+
receiveDataChannel(_a) {
|
|
2380
|
+
return __awaiter(this, arguments, void 0, function* ({ sctpStreamParameters, label, protocol, }) {
|
|
2381
|
+
var _b;
|
|
2382
2382
|
this.assertNotClosed();
|
|
2383
2383
|
this.assertRecvDirection();
|
|
2384
2384
|
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
@@ -2401,7 +2401,7 @@ class Safari17 extends HandlerInterface {
|
|
|
2401
2401
|
if (!this._transportReady) {
|
|
2402
2402
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
2403
2403
|
yield this.setupTransport({
|
|
2404
|
-
localDtlsRole: (
|
|
2404
|
+
localDtlsRole: (_b = this._forcedLocalDtlsRole) !== null && _b !== void 0 ? _b : "client",
|
|
2405
2405
|
localSdpObject,
|
|
2406
2406
|
});
|
|
2407
2407
|
}
|
|
@@ -2412,8 +2412,8 @@ class Safari17 extends HandlerInterface {
|
|
|
2412
2412
|
return { dataChannel };
|
|
2413
2413
|
});
|
|
2414
2414
|
}
|
|
2415
|
-
setupTransport(
|
|
2416
|
-
return __awaiter(this,
|
|
2415
|
+
setupTransport(_a) {
|
|
2416
|
+
return __awaiter(this, arguments, void 0, function* ({ localDtlsRole, localSdpObject, }) {
|
|
2417
2417
|
if (!localSdpObject) {
|
|
2418
2418
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
2419
2419
|
}
|
|
@@ -2722,8 +2722,8 @@ class ReconnectManager extends EventEmitter {
|
|
|
2722
2722
|
socket.on(PROTOCOL_RESPONSES.SCREENSHARE_STOPPED, (payload) => this._onScreenshareChanged(payload, false));
|
|
2723
2723
|
}
|
|
2724
2724
|
_onRoomJoined(payload) {
|
|
2725
|
-
var _a;
|
|
2726
2725
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2726
|
+
var _a;
|
|
2727
2727
|
this.reconnectThresholdInMs = (payload.disconnectTimeout || 0) * 0.8;
|
|
2728
2728
|
if (payload === null || payload === void 0 ? void 0 : payload.error) {
|
|
2729
2729
|
this.emit(PROTOCOL_RESPONSES.ROOM_JOINED, payload);
|
|
@@ -5217,8 +5217,8 @@ class VegaRtcManager {
|
|
|
5217
5217
|
this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_CLOSED);
|
|
5218
5218
|
}
|
|
5219
5219
|
_join() {
|
|
5220
|
-
var _a, _b;
|
|
5221
5220
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5221
|
+
var _a, _b;
|
|
5222
5222
|
logger$3.info("join()");
|
|
5223
5223
|
this._emitToPWA(rtcManagerEvents.SFU_CONNECTION_OPEN);
|
|
5224
5224
|
try {
|
|
@@ -5251,8 +5251,8 @@ class VegaRtcManager {
|
|
|
5251
5251
|
});
|
|
5252
5252
|
}
|
|
5253
5253
|
_createTransport(send) {
|
|
5254
|
-
var _a;
|
|
5255
5254
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5255
|
+
var _a;
|
|
5256
5256
|
const creator = send ? "createSendTransport" : "createRecvTransport";
|
|
5257
5257
|
const transportOptions = yield this._vegaConnection.request("createTransport", {
|
|
5258
5258
|
producing: send,
|
|
@@ -5307,7 +5307,7 @@ class VegaRtcManager {
|
|
|
5307
5307
|
transport.removeListener("connectionstatechange", onConnectionStateListener);
|
|
5308
5308
|
});
|
|
5309
5309
|
if (send) {
|
|
5310
|
-
transport === null || transport === void 0 ? void 0 : transport.on("produce", (
|
|
5310
|
+
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) {
|
|
5311
5311
|
var _b;
|
|
5312
5312
|
try {
|
|
5313
5313
|
const { paused } = appData;
|
|
@@ -5324,10 +5324,10 @@ class VegaRtcManager {
|
|
|
5324
5324
|
errback(error);
|
|
5325
5325
|
}
|
|
5326
5326
|
}));
|
|
5327
|
-
transport === null || transport === void 0 ? void 0 : transport.on("producedata", (
|
|
5328
|
-
var
|
|
5327
|
+
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) {
|
|
5328
|
+
var _b;
|
|
5329
5329
|
try {
|
|
5330
|
-
const { id } = yield ((
|
|
5330
|
+
const { id } = yield ((_b = this._vegaConnection) === null || _b === void 0 ? void 0 : _b.request("produceData", {
|
|
5331
5331
|
transportId: transport.id,
|
|
5332
5332
|
sctpStreamParameters,
|
|
5333
5333
|
appData,
|
|
@@ -5345,8 +5345,8 @@ class VegaRtcManager {
|
|
|
5345
5345
|
}
|
|
5346
5346
|
});
|
|
5347
5347
|
}
|
|
5348
|
-
_restartIce(
|
|
5349
|
-
return __awaiter(this,
|
|
5348
|
+
_restartIce(transport_1) {
|
|
5349
|
+
return __awaiter(this, arguments, void 0, function* (transport, retried = 0) {
|
|
5350
5350
|
if (!transport || !("closed" in transport) || !("connectionState" in transport)) {
|
|
5351
5351
|
logger$3.info("_restartIce: No transport or property closed or connectionState!");
|
|
5352
5352
|
return;
|
|
@@ -5500,8 +5500,8 @@ class VegaRtcManager {
|
|
|
5500
5500
|
this._micScoreProducer = null;
|
|
5501
5501
|
}
|
|
5502
5502
|
_replaceMicTrack() {
|
|
5503
|
-
var _a;
|
|
5504
5503
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5504
|
+
var _a;
|
|
5505
5505
|
logger$3.info("_replaceMicTrack()");
|
|
5506
5506
|
if (!this._micTrack || !this._micProducer || this._micProducer.closed)
|
|
5507
5507
|
return;
|
|
@@ -5570,8 +5570,8 @@ class VegaRtcManager {
|
|
|
5570
5570
|
}
|
|
5571
5571
|
}
|
|
5572
5572
|
_internalSendWebcam() {
|
|
5573
|
-
var _a;
|
|
5574
5573
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5574
|
+
var _a;
|
|
5575
5575
|
logger$3.info("_internalSendWebcam()");
|
|
5576
5576
|
if (!this._sendTransport ||
|
|
5577
5577
|
this._webcamProducer ||
|
|
@@ -5580,7 +5580,7 @@ class VegaRtcManager {
|
|
|
5580
5580
|
return;
|
|
5581
5581
|
}
|
|
5582
5582
|
this._webcamProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
5583
|
-
var
|
|
5583
|
+
var _a;
|
|
5584
5584
|
try {
|
|
5585
5585
|
const currentPaused = this._webcamPaused;
|
|
5586
5586
|
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: {
|
|
@@ -5602,7 +5602,7 @@ class VegaRtcManager {
|
|
|
5602
5602
|
this._webcamProducerPromise = null;
|
|
5603
5603
|
this._qualityMonitor.removeProducer(this._selfId, producer.id);
|
|
5604
5604
|
});
|
|
5605
|
-
if (this._webcamTrack && this._webcamTrack !== ((
|
|
5605
|
+
if (this._webcamTrack && this._webcamTrack !== ((_a = this._webcamProducer) === null || _a === void 0 ? void 0 : _a.track)) {
|
|
5606
5606
|
this._webcamProducerPromise = null;
|
|
5607
5607
|
this._replaceWebcamTrack();
|
|
5608
5608
|
}
|
|
@@ -6204,11 +6204,11 @@ class VegaRtcManager {
|
|
|
6204
6204
|
}
|
|
6205
6205
|
});
|
|
6206
6206
|
}
|
|
6207
|
-
_onConsumerClosed(
|
|
6208
|
-
|
|
6209
|
-
|
|
6207
|
+
_onConsumerClosed(_a) {
|
|
6208
|
+
return __awaiter(this, arguments, void 0, function* ({ consumerId, reason }) {
|
|
6209
|
+
var _b;
|
|
6210
6210
|
logger$3.info("_onConsumerClosed()", { consumerId, reason });
|
|
6211
|
-
(
|
|
6211
|
+
(_b = this._consumers.get(consumerId)) === null || _b === void 0 ? void 0 : _b.close();
|
|
6212
6212
|
});
|
|
6213
6213
|
}
|
|
6214
6214
|
_onConsumerPaused({ consumerId }) {
|
|
@@ -6267,8 +6267,8 @@ class VegaRtcManager {
|
|
|
6267
6267
|
this._syncIncomingStreamsWithPWA(clientId);
|
|
6268
6268
|
});
|
|
6269
6269
|
}
|
|
6270
|
-
_onDataConsumerClosed(
|
|
6271
|
-
return __awaiter(this,
|
|
6270
|
+
_onDataConsumerClosed(_a) {
|
|
6271
|
+
return __awaiter(this, arguments, void 0, function* ({ dataConsumerId, reason }) {
|
|
6272
6272
|
logger$3.info("_onDataConsumerClosed()", { dataConsumerId, reason });
|
|
6273
6273
|
const consumer = this._dataConsumers.get(dataConsumerId);
|
|
6274
6274
|
consumer === null || consumer === void 0 ? void 0 : consumer.close();
|
|
@@ -6670,6 +6670,16 @@ const issueDetectors = [
|
|
|
6670
6670
|
},
|
|
6671
6671
|
noTrackStatsIssueDetector,
|
|
6672
6672
|
dryTrackIssueDetector,
|
|
6673
|
+
{
|
|
6674
|
+
id: "denoiser-context-suspended",
|
|
6675
|
+
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); },
|
|
6676
|
+
check: ({ track }) => {
|
|
6677
|
+
var _a;
|
|
6678
|
+
if (!track || !("_denoiserCtx" in track))
|
|
6679
|
+
return false;
|
|
6680
|
+
return ((_a = track._denoiserCtx) === null || _a === void 0 ? void 0 : _a.state) === "suspended";
|
|
6681
|
+
},
|
|
6682
|
+
},
|
|
6673
6683
|
{
|
|
6674
6684
|
id: "low-layer0-bitrate",
|
|
6675
6685
|
enabled: ({ hasLiveTrack, ssrc0, kind, client }) => hasLiveTrack && kind === "video" && !!ssrc0 && !!(ssrc0 === null || ssrc0 === void 0 ? void 0 : ssrc0.height) && !client.isPresentation,
|
|
@@ -7308,8 +7318,8 @@ class BandwidthTester extends EventEmitter {
|
|
|
7308
7318
|
this.emit("close");
|
|
7309
7319
|
}
|
|
7310
7320
|
_start() {
|
|
7311
|
-
var _a, _b;
|
|
7312
7321
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7322
|
+
var _a, _b;
|
|
7313
7323
|
logger$1.info("_start()");
|
|
7314
7324
|
this._connectTime = Date.now() - this._startTime;
|
|
7315
7325
|
if (this._connectTime > 5000) {
|
|
@@ -7361,8 +7371,8 @@ class BandwidthTester extends EventEmitter {
|
|
|
7361
7371
|
});
|
|
7362
7372
|
}
|
|
7363
7373
|
_createTransport(send) {
|
|
7364
|
-
var _a;
|
|
7365
7374
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7375
|
+
var _a;
|
|
7366
7376
|
const creator = send ? "createSendTransport" : "createRecvTransport";
|
|
7367
7377
|
const transportOptions = yield this._vegaConnection.request("createTransport", {
|
|
7368
7378
|
producing: send,
|
|
@@ -7381,7 +7391,7 @@ class BandwidthTester extends EventEmitter {
|
|
|
7381
7391
|
callback();
|
|
7382
7392
|
});
|
|
7383
7393
|
if (send) {
|
|
7384
|
-
transport === null || transport === void 0 ? void 0 : transport.on("produce", (
|
|
7394
|
+
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) {
|
|
7385
7395
|
try {
|
|
7386
7396
|
const { paused } = appData;
|
|
7387
7397
|
const { id } = yield this._vegaConnection.request("produce", {
|
|
@@ -7770,9 +7780,9 @@ function replaceTracksInStream(stream, newStream, only) {
|
|
|
7770
7780
|
});
|
|
7771
7781
|
return replacedTracks;
|
|
7772
7782
|
}
|
|
7773
|
-
function getStream(
|
|
7774
|
-
|
|
7775
|
-
|
|
7783
|
+
function getStream(constraintOpt_1) {
|
|
7784
|
+
return __awaiter(this, arguments, void 0, function* (constraintOpt, { replaceStream, fallback = true } = {}) {
|
|
7785
|
+
var _a;
|
|
7776
7786
|
let error;
|
|
7777
7787
|
let newConstraints;
|
|
7778
7788
|
let retryConstraintOpt;
|
package/package.json
CHANGED
|
@@ -1,77 +1,87 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"module": "dist/legacy-esm.js",
|
|
31
|
-
"types": "dist/index.d.ts",
|
|
32
|
-
"exports": {
|
|
33
|
-
".": {
|
|
34
|
-
"import": {
|
|
35
|
-
"types": "./dist/index.d.mts",
|
|
36
|
-
"default": "./dist/index.mjs"
|
|
37
|
-
},
|
|
38
|
-
"require": {
|
|
39
|
-
"types": "./dist/index.d.cts",
|
|
40
|
-
"default": "./dist/index.cjs"
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
"files": [
|
|
45
|
-
"dist/**/*.js",
|
|
46
|
-
"dist/**/*.mjs",
|
|
47
|
-
"dist/**/*.cjs",
|
|
48
|
-
"dist/**/*.d.ts",
|
|
49
|
-
"dist/**/*.d.mts",
|
|
50
|
-
"dist/**/*.d.cts"
|
|
51
|
-
],
|
|
52
|
-
"dependencies": {
|
|
53
|
-
"@types/ua-parser-js": "^0.7.39",
|
|
54
|
-
"check-ip": "^1.1.1",
|
|
55
|
-
"events": "^3.3.0",
|
|
56
|
-
"ip-address": "^9.0.5",
|
|
57
|
-
"mediasoup-client": "3.7.18",
|
|
58
|
-
"rtcstats": "github:whereby/rtcstats#5.4.1",
|
|
59
|
-
"sdp": "^3.2.0",
|
|
60
|
-
"sdp-transform": "^2.14.2",
|
|
61
|
-
"socket.io-client": "4.7.2",
|
|
62
|
-
"typescript": "^5.3.3",
|
|
63
|
-
"ua-parser-js": "^1.0.38",
|
|
64
|
-
"uuid": "^9.0.1",
|
|
65
|
-
"uuid-validate": "^0.0.3",
|
|
66
|
-
"webrtc-adapter": "^9.0.1"
|
|
67
|
-
},
|
|
68
|
-
"devDependencies": {
|
|
69
|
-
"@babel/core": "^7.23.2",
|
|
70
|
-
"@babel/preset-env": "^7.23.2",
|
|
71
|
-
"jest-websocket-mock": "^2.5.0",
|
|
72
|
-
"process": "^0.11.10"
|
|
73
|
-
},
|
|
74
|
-
"engines": {
|
|
75
|
-
"node": ">=16.0.0"
|
|
2
|
+
"name": "@whereby.com/media",
|
|
3
|
+
"description": "Media library for Whereby",
|
|
4
|
+
"version": "1.30.0",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://github.com/whereby/sdk",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/whereby/sdk.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/whereby/sdk/issues"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"main": "dist/index.cjs",
|
|
18
|
+
"module": "dist/legacy-esm.js",
|
|
19
|
+
"types": "dist/index.d.ts",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"import": {
|
|
23
|
+
"types": "./dist/index.d.mts",
|
|
24
|
+
"default": "./dist/index.mjs"
|
|
25
|
+
},
|
|
26
|
+
"require": {
|
|
27
|
+
"types": "./dist/index.d.cts",
|
|
28
|
+
"default": "./dist/index.cjs"
|
|
29
|
+
}
|
|
76
30
|
}
|
|
77
|
-
}
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"dist/**/*.js",
|
|
34
|
+
"dist/**/*.mjs",
|
|
35
|
+
"dist/**/*.cjs",
|
|
36
|
+
"dist/**/*.d.ts",
|
|
37
|
+
"dist/**/*.d.mts",
|
|
38
|
+
"dist/**/*.d.cts"
|
|
39
|
+
],
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@types/ua-parser-js": "^0.7.39",
|
|
42
|
+
"check-ip": "^1.1.1",
|
|
43
|
+
"events": "^3.3.0",
|
|
44
|
+
"ip-address": "^9.0.5",
|
|
45
|
+
"mediasoup-client": "3.7.18",
|
|
46
|
+
"rtcstats": "github:whereby/rtcstats#5.4.1",
|
|
47
|
+
"sdp": "^3.2.0",
|
|
48
|
+
"sdp-transform": "^2.14.2",
|
|
49
|
+
"socket.io-client": "4.7.2",
|
|
50
|
+
"ua-parser-js": "^1.0.38",
|
|
51
|
+
"uuid": "^9.0.1",
|
|
52
|
+
"uuid-validate": "^0.0.3",
|
|
53
|
+
"webrtc-adapter": "^9.0.1"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@babel/core": "^7.23.2",
|
|
57
|
+
"@babel/preset-env": "^7.23.2",
|
|
58
|
+
"@types/sdp-transform": "^2.4.9",
|
|
59
|
+
"@types/uuid-validate": "^0.0.3",
|
|
60
|
+
"jest-websocket-mock": "^2.5.0",
|
|
61
|
+
"process": "^0.11.10",
|
|
62
|
+
"eslint": "^9.29.0",
|
|
63
|
+
"prettier": "^3.5.3",
|
|
64
|
+
"typescript": "^5.8.3",
|
|
65
|
+
"@whereby.com/eslint-config": "0.1.0",
|
|
66
|
+
"@whereby.com/jest-config": "0.1.0",
|
|
67
|
+
"@whereby.com/prettier-config": "0.1.0",
|
|
68
|
+
"@whereby.com/rollup-config": "0.1.0",
|
|
69
|
+
"@whereby.com/tsconfig": "0.1.0"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">=16.0.0"
|
|
73
|
+
},
|
|
74
|
+
"prettier": "@whereby.com/prettier-config",
|
|
75
|
+
"scripts": {
|
|
76
|
+
"clean": "rimraf dist node_modules .turbo",
|
|
77
|
+
"build": "rimraf dist && rollup -c rollup.config.js",
|
|
78
|
+
"watch": "rimraf dist && rollup -w -c rollup.config.js",
|
|
79
|
+
"test": "npm run test:lint && npm run test:unit",
|
|
80
|
+
"test:unit": "jest",
|
|
81
|
+
"test:lint": "eslint src tests",
|
|
82
|
+
"test:unit:coverage": "jest --collectCoverage",
|
|
83
|
+
"test:attw": "attw --pack . -f table",
|
|
84
|
+
"format:fix": "prettier --write './**/*.{js,ts,yml,json}'",
|
|
85
|
+
"format:check": "prettier --check './**/*.{js,ts,yml,json}'"
|
|
86
|
+
}
|
|
87
|
+
}
|