livekit-client 1.9.5 → 1.9.6
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/livekit-client.esm.mjs +31 -21
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.umd.js +1 -1
- package/dist/livekit-client.umd.js.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/room/participant/LocalParticipant.ts +11 -3
- package/src/room/participant/RemoteParticipant.ts +8 -6
- package/src/room/track/LocalTrack.ts +1 -1
- package/src/room/utils.ts +3 -2
@@ -14060,7 +14060,7 @@ function getMatch(exp, ua) {
|
|
14060
14060
|
return match && match.length >= id && match[id] || '';
|
14061
14061
|
}
|
14062
14062
|
|
14063
|
-
var version$1 = "1.9.
|
14063
|
+
var version$1 = "1.9.6";
|
14064
14064
|
|
14065
14065
|
const version = version$1;
|
14066
14066
|
const protocolVersion = 9;
|
@@ -14350,10 +14350,12 @@ const getResizeObserver = () => {
|
|
14350
14350
|
};
|
14351
14351
|
let intersectionObserver = null;
|
14352
14352
|
const getIntersectionObserver = () => {
|
14353
|
-
if (!intersectionObserver)
|
14354
|
-
|
14355
|
-
|
14356
|
-
|
14353
|
+
if (!intersectionObserver) {
|
14354
|
+
intersectionObserver = new IntersectionObserver(ioDispatchCallback, {
|
14355
|
+
root: null,
|
14356
|
+
rootMargin: '0px'
|
14357
|
+
});
|
14358
|
+
}
|
14357
14359
|
return intersectionObserver;
|
14358
14360
|
};
|
14359
14361
|
function getClientInfo() {
|
@@ -18219,7 +18221,7 @@ function computeBitrate(currentStats, prevStats) {
|
|
18219
18221
|
return (bytesNow - bytesPrev) * 8 * 1000 / (currentStats.timestamp - prevStats.timestamp);
|
18220
18222
|
}
|
18221
18223
|
|
18222
|
-
const defaultDimensionsTimeout =
|
18224
|
+
const defaultDimensionsTimeout = 1000;
|
18223
18225
|
class LocalTrack extends Track {
|
18224
18226
|
/**
|
18225
18227
|
*
|
@@ -20371,6 +20373,15 @@ class RemoteParticipant extends Participant {
|
|
20371
20373
|
if (!publication) {
|
20372
20374
|
return;
|
20373
20375
|
}
|
20376
|
+
// also send unsubscribe, if track is actively subscribed
|
20377
|
+
const {
|
20378
|
+
track
|
20379
|
+
} = publication;
|
20380
|
+
if (track) {
|
20381
|
+
track.stop();
|
20382
|
+
publication.setTrack(undefined);
|
20383
|
+
}
|
20384
|
+
// remove track from maps only after unsubscribed has been fired
|
20374
20385
|
this.tracks.delete(sid);
|
20375
20386
|
// remove from the right type map
|
20376
20387
|
switch (publication.kind) {
|
@@ -20381,14 +20392,6 @@ class RemoteParticipant extends Participant {
|
|
20381
20392
|
this.videoTracks.delete(sid);
|
20382
20393
|
break;
|
20383
20394
|
}
|
20384
|
-
// also send unsubscribe, if track is actively subscribed
|
20385
|
-
const {
|
20386
|
-
track
|
20387
|
-
} = publication;
|
20388
|
-
if (track) {
|
20389
|
-
track.stop();
|
20390
|
-
publication.setTrack(undefined);
|
20391
|
-
}
|
20392
20395
|
if (sendUnpublish) {
|
20393
20396
|
this.emit(ParticipantEvent.TrackUnpublished, publication);
|
20394
20397
|
}
|
@@ -21218,7 +21221,7 @@ class LocalParticipant extends Participant {
|
|
21218
21221
|
});
|
21219
21222
|
}
|
21220
21223
|
publish(track, opts, options, isStereo) {
|
21221
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
21224
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
21222
21225
|
return __awaiter(this, void 0, void 0, function* () {
|
21223
21226
|
const existingTrackOfSource = Array.from(this.tracks.values()).find(publishedTrack => track instanceof LocalTrack && publishedTrack.source === track.source);
|
21224
21227
|
if (existingTrackOfSource && track.source !== Track.Source.Unknown) {
|
@@ -21279,8 +21282,15 @@ class LocalParticipant extends Participant {
|
|
21279
21282
|
try {
|
21280
21283
|
dims = yield track.waitForDimensions();
|
21281
21284
|
} catch (e) {
|
21285
|
+
// use defaults, it's quite painful for congestion control without simulcast
|
21286
|
+
// so using default dims according to publish settings
|
21287
|
+
const defaultRes = (_d = (_c = this.roomOptions.videoCaptureDefaults) === null || _c === void 0 ? void 0 : _c.resolution) !== null && _d !== void 0 ? _d : VideoPresets.h720.resolution;
|
21288
|
+
dims = {
|
21289
|
+
width: defaultRes.width,
|
21290
|
+
height: defaultRes.height
|
21291
|
+
};
|
21282
21292
|
// log failure
|
21283
|
-
livekitLogger.error('could not determine track dimensions');
|
21293
|
+
livekitLogger.error('could not determine track dimensions, using defaults', dims);
|
21284
21294
|
}
|
21285
21295
|
// width and height should be defined for video
|
21286
21296
|
req.width = dims.width;
|
@@ -21289,7 +21299,7 @@ class LocalParticipant extends Participant {
|
|
21289
21299
|
if (track instanceof LocalVideoTrack) {
|
21290
21300
|
if (isSVCCodec(opts.videoCodec)) {
|
21291
21301
|
// set scalabilityMode to 'L3T3' by default
|
21292
|
-
opts.scalabilityMode = (
|
21302
|
+
opts.scalabilityMode = (_e = opts.scalabilityMode) !== null && _e !== void 0 ? _e : 'L3T3';
|
21293
21303
|
}
|
21294
21304
|
// set up backup
|
21295
21305
|
if (opts.videoCodec && opts.backupCodec && opts.videoCodec !== opts.backupCodec.codec) {
|
@@ -21311,9 +21321,9 @@ class LocalParticipant extends Participant {
|
|
21311
21321
|
req.layers = videoLayersFromEncodings(req.width, req.height, simEncodings !== null && simEncodings !== void 0 ? simEncodings : encodings);
|
21312
21322
|
} else if (track.kind === Track.Kind.Audio) {
|
21313
21323
|
encodings = [{
|
21314
|
-
maxBitrate: (
|
21315
|
-
priority: (
|
21316
|
-
networkPriority: (
|
21324
|
+
maxBitrate: (_g = (_f = opts.audioPreset) === null || _f === void 0 ? void 0 : _f.maxBitrate) !== null && _g !== void 0 ? _g : opts.audioBitrate,
|
21325
|
+
priority: (_j = (_h = opts.audioPreset) === null || _h === void 0 ? void 0 : _h.priority) !== null && _j !== void 0 ? _j : 'high',
|
21326
|
+
networkPriority: (_l = (_k = opts.audioPreset) === null || _k === void 0 ? void 0 : _k.priority) !== null && _l !== void 0 ? _l : 'high'
|
21317
21327
|
}];
|
21318
21328
|
}
|
21319
21329
|
if (!this.engine || this.engine.isClosed) {
|
@@ -21355,7 +21365,7 @@ class LocalParticipant extends Participant {
|
|
21355
21365
|
});
|
21356
21366
|
// store RTPSender
|
21357
21367
|
track.sender = yield this.engine.createSender(track, opts, encodings);
|
21358
|
-
if (track.codec && isSVCCodec(track.codec) && encodings && ((
|
21368
|
+
if (track.codec && isSVCCodec(track.codec) && encodings && ((_m = encodings[0]) === null || _m === void 0 ? void 0 : _m.maxBitrate)) {
|
21359
21369
|
this.engine.publisher.setTrackCodecBitrate(req.cid, track.codec, encodings[0].maxBitrate / 1000);
|
21360
21370
|
}
|
21361
21371
|
this.engine.negotiate();
|