livekit-client 2.17.1 → 2.17.3
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/README.md +7 -5
- package/dist/livekit-client.e2ee.worker.js +1 -1
- package/dist/livekit-client.e2ee.worker.js.map +1 -1
- package/dist/livekit-client.e2ee.worker.mjs +21 -14
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +2087 -1920
- 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/e2ee/E2eeManager.d.ts +2 -0
- package/dist/src/e2ee/E2eeManager.d.ts.map +1 -1
- package/dist/src/e2ee/KeyProvider.d.ts +2 -0
- package/dist/src/e2ee/KeyProvider.d.ts.map +1 -1
- package/dist/src/e2ee/events.d.ts +1 -1
- package/dist/src/e2ee/events.d.ts.map +1 -1
- package/dist/src/e2ee/types.d.ts +1 -0
- package/dist/src/e2ee/types.d.ts.map +1 -1
- package/dist/src/e2ee/worker/ParticipantKeyHandler.d.ts +2 -2
- package/dist/src/e2ee/worker/ParticipantKeyHandler.d.ts.map +1 -1
- package/dist/src/index.d.ts +7 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/logger.d.ts +2 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +1 -4
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/PCTransportManager.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
- package/dist/src/room/data-stream/incoming/StreamReader.d.ts +2 -4
- package/dist/src/room/data-stream/incoming/StreamReader.d.ts.map +1 -1
- package/dist/src/room/data-track/depacketizer.d.ts +51 -0
- package/dist/src/room/data-track/depacketizer.d.ts.map +1 -0
- package/dist/src/room/data-track/e2ee.d.ts +12 -0
- package/dist/src/room/data-track/e2ee.d.ts.map +1 -0
- package/dist/src/room/data-track/frame.d.ts +7 -0
- package/dist/src/room/data-track/frame.d.ts.map +1 -0
- package/dist/src/room/data-track/handle.d.ts +6 -7
- package/dist/src/room/data-track/handle.d.ts.map +1 -1
- package/dist/src/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +76 -0
- package/dist/src/room/data-track/outgoing/OutgoingDataTrackManager.d.ts.map +1 -0
- package/dist/src/room/data-track/outgoing/errors.d.ts +64 -0
- package/dist/src/room/data-track/outgoing/errors.d.ts.map +1 -0
- package/dist/src/room/data-track/outgoing/pipeline.d.ts +22 -0
- package/dist/src/room/data-track/outgoing/pipeline.d.ts.map +1 -0
- package/dist/src/room/data-track/outgoing/types.d.ts +31 -0
- package/dist/src/room/data-track/outgoing/types.d.ts.map +1 -0
- package/dist/src/room/data-track/packet/index.d.ts +3 -3
- package/dist/src/room/data-track/packet/index.d.ts.map +1 -1
- package/dist/src/room/data-track/packetizer.d.ts +43 -0
- package/dist/src/room/data-track/packetizer.d.ts.map +1 -0
- package/dist/src/room/data-track/track.d.ts +30 -0
- package/dist/src/room/data-track/track.d.ts.map +1 -0
- package/dist/src/room/data-track/utils.d.ts +34 -2
- package/dist/src/room/data-track/utils.d.ts.map +1 -1
- package/dist/src/room/debounce.d.ts +11 -0
- package/dist/src/room/debounce.d.ts.map +1 -0
- package/dist/src/room/events.d.ts +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts +1 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts +2 -1
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/src/room/types.d.ts +0 -2
- package/dist/src/room/types.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +6 -1
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/src/utils/subscribeToEvents.d.ts +12 -0
- package/dist/src/utils/subscribeToEvents.d.ts.map +1 -0
- package/dist/src/utils/throws.d.ts +4 -2
- package/dist/src/utils/throws.d.ts.map +1 -1
- package/dist/ts4.2/e2ee/E2eeManager.d.ts +2 -0
- package/dist/ts4.2/e2ee/KeyProvider.d.ts +2 -0
- package/dist/ts4.2/e2ee/events.d.ts +1 -1
- package/dist/ts4.2/e2ee/types.d.ts +1 -0
- package/dist/ts4.2/e2ee/worker/ParticipantKeyHandler.d.ts +2 -2
- package/dist/ts4.2/index.d.ts +7 -3
- package/dist/ts4.2/logger.d.ts +2 -1
- package/dist/ts4.2/room/PCTransport.d.ts +1 -6
- package/dist/ts4.2/room/data-stream/incoming/StreamReader.d.ts +2 -4
- package/dist/ts4.2/room/data-track/depacketizer.d.ts +51 -0
- package/dist/ts4.2/room/data-track/e2ee.d.ts +12 -0
- package/dist/ts4.2/room/data-track/frame.d.ts +7 -0
- package/dist/ts4.2/room/data-track/handle.d.ts +6 -7
- package/dist/ts4.2/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +77 -0
- package/dist/ts4.2/room/data-track/outgoing/errors.d.ts +64 -0
- package/dist/ts4.2/room/data-track/outgoing/pipeline.d.ts +22 -0
- package/dist/ts4.2/room/data-track/outgoing/types.d.ts +31 -0
- package/dist/ts4.2/room/data-track/packet/index.d.ts +3 -3
- package/dist/ts4.2/room/data-track/packetizer.d.ts +43 -0
- package/dist/ts4.2/room/data-track/track.d.ts +30 -0
- package/dist/ts4.2/room/data-track/utils.d.ts +34 -2
- package/dist/ts4.2/room/debounce.d.ts +11 -0
- package/dist/ts4.2/room/events.d.ts +1 -1
- package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +1 -1
- package/dist/ts4.2/room/track/LocalTrack.d.ts +2 -1
- package/dist/ts4.2/room/types.d.ts +0 -2
- package/dist/ts4.2/room/utils.d.ts +6 -1
- package/dist/ts4.2/utils/subscribeToEvents.d.ts +12 -0
- package/dist/ts4.2/utils/throws.d.ts +4 -2
- package/package.json +4 -5
- package/src/e2ee/E2eeManager.ts +9 -5
- package/src/e2ee/KeyProvider.ts +10 -1
- package/src/e2ee/events.ts +1 -1
- package/src/e2ee/types.ts +1 -0
- package/src/e2ee/worker/ParticipantKeyHandler.ts +7 -4
- package/src/e2ee/worker/e2ee.worker.ts +20 -10
- package/src/index.ts +15 -5
- package/src/logger.ts +1 -0
- package/src/room/PCTransport.ts +2 -1
- package/src/room/PCTransportManager.ts +27 -9
- package/src/room/RTCEngine.ts +13 -2
- package/src/room/Room.ts +11 -5
- package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +5 -25
- package/src/room/data-stream/incoming/StreamReader.ts +56 -73
- package/src/room/data-track/depacketizer.test.ts +442 -0
- package/src/room/data-track/depacketizer.ts +298 -0
- package/src/room/data-track/e2ee.ts +14 -0
- package/src/room/data-track/frame.ts +8 -0
- package/src/room/data-track/handle.test.ts +1 -1
- package/src/room/data-track/handle.ts +9 -14
- package/src/room/data-track/outgoing/OutgoingDataTrackManager.test.ts +392 -0
- package/src/room/data-track/outgoing/OutgoingDataTrackManager.ts +302 -0
- package/src/room/data-track/outgoing/errors.ts +157 -0
- package/src/room/data-track/outgoing/pipeline.ts +76 -0
- package/src/room/data-track/outgoing/types.ts +37 -0
- package/src/room/data-track/packet/index.test.ts +9 -9
- package/src/room/data-track/packet/index.ts +11 -9
- package/src/room/data-track/packet/serializable.ts +1 -1
- package/src/room/data-track/packetizer.test.ts +131 -0
- package/src/room/data-track/packetizer.ts +132 -0
- package/src/room/data-track/track.ts +50 -0
- package/src/room/data-track/utils.test.ts +27 -1
- package/src/room/data-track/utils.ts +125 -5
- package/src/room/debounce.ts +115 -0
- package/src/room/events.ts +1 -1
- package/src/room/participant/LocalParticipant.ts +2 -0
- package/src/room/track/LocalAudioTrack.ts +10 -10
- package/src/room/track/LocalTrack.ts +14 -5
- package/src/room/track/LocalVideoTrack.ts +1 -1
- package/src/room/track/RemoteVideoTrack.ts +1 -1
- package/src/room/types.ts +0 -2
- package/src/room/utils.ts +7 -2
- package/src/utils/subscribeToEvents.ts +63 -0
- package/src/utils/throws.ts +3 -1
|
@@ -378,6 +378,7 @@ var LoggerNames;
|
|
|
378
378
|
LoggerNames["PCManager"] = "livekit-pc-manager";
|
|
379
379
|
LoggerNames["PCTransport"] = "livekit-pc-transport";
|
|
380
380
|
LoggerNames["E2EE"] = "lk-e2ee";
|
|
381
|
+
LoggerNames["DataTracks"] = "livekit-data-tracks";
|
|
381
382
|
})(LoggerNames || (LoggerNames = {}));
|
|
382
383
|
let livekitLogger = loglevelExports.getLogger('livekit');
|
|
383
384
|
Object.values(LoggerNames).map(name => loglevelExports.getLogger(name));
|
|
@@ -2185,9 +2186,12 @@ class ParticipantKeyHandler extends eventsExports.EventEmitter {
|
|
|
2185
2186
|
return __awaiter(this, arguments, void 0, function (material) {
|
|
2186
2187
|
var _this = this;
|
|
2187
2188
|
let keyIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
2189
|
+
let updateCurrentKeyIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
2188
2190
|
return function* () {
|
|
2189
|
-
yield _this.setKeyFromMaterial(material, keyIndex);
|
|
2190
|
-
|
|
2191
|
+
yield _this.setKeyFromMaterial(material, keyIndex, null, updateCurrentKeyIndex);
|
|
2192
|
+
if (updateCurrentKeyIndex) {
|
|
2193
|
+
_this.resetKeyStatus(keyIndex);
|
|
2194
|
+
}
|
|
2191
2195
|
}();
|
|
2192
2196
|
});
|
|
2193
2197
|
}
|
|
@@ -2201,6 +2205,7 @@ class ParticipantKeyHandler extends eventsExports.EventEmitter {
|
|
|
2201
2205
|
return __awaiter(this, arguments, void 0, function (material, keyIndex) {
|
|
2202
2206
|
var _this2 = this;
|
|
2203
2207
|
let ratchetedResult = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
2208
|
+
let updateCurrentKeyIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
2204
2209
|
return function* () {
|
|
2205
2210
|
const keySet = yield deriveKeys(material, _this2.keyProviderOptions.ratchetSalt);
|
|
2206
2211
|
const newIndex = keyIndex >= 0 ? keyIndex % _this2.cryptoKeyRing.length : _this2.currentKeyIndex;
|
|
@@ -2210,7 +2215,7 @@ class ParticipantKeyHandler extends eventsExports.EventEmitter {
|
|
|
2210
2215
|
ratchetSalt: _this2.keyProviderOptions.ratchetSalt
|
|
2211
2216
|
});
|
|
2212
2217
|
_this2.setKeySet(keySet, newIndex, ratchetedResult);
|
|
2213
|
-
if (newIndex >= 0) _this2.currentKeyIndex = newIndex;
|
|
2218
|
+
if (newIndex >= 0 && updateCurrentKeyIndex) _this2.currentKeyIndex = newIndex;
|
|
2214
2219
|
}();
|
|
2215
2220
|
});
|
|
2216
2221
|
}
|
|
@@ -2336,10 +2341,10 @@ onmessage = ev => {
|
|
|
2336
2341
|
break;
|
|
2337
2342
|
case 'setKey':
|
|
2338
2343
|
if (useSharedKey) {
|
|
2339
|
-
yield setSharedKey(data.key, data.keyIndex);
|
|
2344
|
+
yield setSharedKey(data.key, data.keyIndex, data.updateCurrentKeyIndex);
|
|
2340
2345
|
} else if (data.participantIdentity) {
|
|
2341
2346
|
workerLogger.info("set participant sender key ".concat(data.participantIdentity, " index ").concat(data.keyIndex));
|
|
2342
|
-
yield getParticipantKeyHandler(data.participantIdentity).setKey(data.key, data.keyIndex);
|
|
2347
|
+
yield getParticipantKeyHandler(data.participantIdentity).setKey(data.key, data.keyIndex, data.updateCurrentKeyIndex);
|
|
2343
2348
|
} else {
|
|
2344
2349
|
workerLogger.error('no participant Id was provided and shared key usage is disabled');
|
|
2345
2350
|
}
|
|
@@ -2467,12 +2472,12 @@ function setEncryptionEnabled(enable, participantIdentity) {
|
|
|
2467
2472
|
});
|
|
2468
2473
|
encryptionEnabledMap.set(participantIdentity, enable);
|
|
2469
2474
|
}
|
|
2470
|
-
function setSharedKey(key, index) {
|
|
2475
|
+
function setSharedKey(key, index, updateCurrentKeyIndex) {
|
|
2471
2476
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2472
2477
|
workerLogger.info('set shared key', {
|
|
2473
2478
|
index
|
|
2474
2479
|
});
|
|
2475
|
-
yield getSharedKeyHandler().setKey(key, index);
|
|
2480
|
+
yield getSharedKeyHandler().setKey(key, index, updateCurrentKeyIndex);
|
|
2476
2481
|
});
|
|
2477
2482
|
}
|
|
2478
2483
|
function setupCryptorErrorEvents(cryptor) {
|
|
@@ -2507,23 +2512,25 @@ function handleSifTrailer(trailer) {
|
|
|
2507
2512
|
// Operations using RTCRtpScriptTransform.
|
|
2508
2513
|
// @ts-ignore
|
|
2509
2514
|
if (self.RTCTransformEvent) {
|
|
2510
|
-
workerLogger.debug('setup transform event');
|
|
2511
2515
|
// @ts-ignore
|
|
2512
2516
|
self.onrtctransform = event => {
|
|
2513
2517
|
// @ts-ignore
|
|
2514
2518
|
const transformer = event.transformer;
|
|
2515
|
-
workerLogger.debug('transformer', transformer);
|
|
2516
2519
|
const {
|
|
2517
2520
|
kind,
|
|
2518
2521
|
participantIdentity,
|
|
2519
2522
|
trackId,
|
|
2520
2523
|
codec
|
|
2521
2524
|
} = transformer.options;
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2525
|
+
messageQueue.run(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
2526
|
+
const cryptor = getTrackCryptor(participantIdentity, trackId);
|
|
2527
|
+
workerLogger.debug('onrtctransform setup', {
|
|
2528
|
+
participantIdentity,
|
|
2529
|
+
trackId,
|
|
2530
|
+
codec
|
|
2531
|
+
});
|
|
2532
|
+
cryptor.setupTransform(kind, transformer.readable, transformer.writable, trackId, false, codec);
|
|
2533
|
+
}));
|
|
2527
2534
|
};
|
|
2528
2535
|
}
|
|
2529
2536
|
//# sourceMappingURL=livekit-client.e2ee.worker.mjs.map
|