livekit-client 2.0.4 → 2.0.5
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.e2ee.worker.js +1 -1
- package/dist/livekit-client.e2ee.worker.js.map +1 -1
- package/dist/livekit-client.e2ee.worker.mjs +10 -8
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +77 -52
- 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/api/SignalClient.d.ts +1 -1
- package/dist/src/api/SignalClient.d.ts.map +1 -1
- package/dist/src/e2ee/worker/FrameCryptor.d.ts +1 -0
- package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
- package/dist/src/logger.d.ts +2 -2
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts +3 -2
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/participant/Participant.d.ts +1 -2
- package/dist/src/room/participant/Participant.d.ts.map +1 -1
- package/dist/src/room/participant/RemoteParticipant.d.ts +4 -0
- package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
- package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
- package/dist/src/room/track/utils.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/ts4.2/src/api/SignalClient.d.ts +1 -1
- package/dist/ts4.2/src/e2ee/worker/FrameCryptor.d.ts +1 -0
- package/dist/ts4.2/src/logger.d.ts +2 -2
- package/dist/ts4.2/src/room/RTCEngine.d.ts +3 -2
- package/dist/ts4.2/src/room/participant/Participant.d.ts +1 -2
- package/dist/ts4.2/src/room/participant/RemoteParticipant.d.ts +4 -0
- package/package.json +1 -1
- package/src/api/SignalClient.ts +9 -5
- package/src/e2ee/worker/FrameCryptor.ts +12 -6
- package/src/logger.ts +21 -18
- package/src/room/RTCEngine.ts +12 -8
- package/src/room/Room.ts +15 -2
- package/src/room/participant/Participant.ts +0 -2
- package/src/room/participant/RemoteParticipant.ts +8 -0
- package/src/room/track/LocalVideoTrack.ts +5 -1
- package/src/room/track/utils.ts +18 -11
- package/src/room/utils.ts +3 -0
@@ -322,6 +322,7 @@ var LoggerNames;
|
|
322
322
|
LoggerNames["E2EE"] = "lk-e2ee";
|
323
323
|
})(LoggerNames || (LoggerNames = {}));
|
324
324
|
let livekitLogger = loglevelExports.getLogger('livekit');
|
325
|
+
Object.values(LoggerNames).map(name => loglevelExports.getLogger(name));
|
325
326
|
livekitLogger.setDefaultLevel(LogLevel.info);
|
326
327
|
const workerLogger = loglevelExports.getLogger('lk-e2ee');
|
327
328
|
|
@@ -989,8 +990,8 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
989
990
|
}
|
990
991
|
get logContext() {
|
991
992
|
return {
|
992
|
-
|
993
|
-
|
993
|
+
participant: this.participantIdentity,
|
994
|
+
mediaTrackId: this.trackId,
|
994
995
|
fallbackCodec: this.videoCodec
|
995
996
|
};
|
996
997
|
}
|
@@ -1105,7 +1106,6 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
1105
1106
|
if (encryptionKey) {
|
1106
1107
|
const iv = this.makeIV((_a = encodedFrame.getMetadata().synchronizationSource) !== null && _a !== void 0 ? _a : -1, encodedFrame.timestamp);
|
1107
1108
|
let frameInfo = this.getUnencryptedBytes(encodedFrame);
|
1108
|
-
workerLogger.debug('frameInfo for encoded frame', Object.assign(Object.assign({}, frameInfo), this.logContext));
|
1109
1109
|
// Thіs is not encrypted and contains the VP8 payload descriptor or the Opus TOC byte.
|
1110
1110
|
const frameHeader = new Uint8Array(encodedFrame.data, 0, frameInfo.unencryptedBytes);
|
1111
1111
|
// Frame trailer contains the R|IV_LENGTH and key index
|
@@ -1182,7 +1182,6 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
1182
1182
|
const decodedFrame = yield this.decryptFrame(encodedFrame, keyIndex);
|
1183
1183
|
this.keys.decryptionSuccess();
|
1184
1184
|
if (decodedFrame) {
|
1185
|
-
workerLogger.debug('enqueue decrypted frame', this.logContext);
|
1186
1185
|
return controller.enqueue(decodedFrame);
|
1187
1186
|
}
|
1188
1187
|
} catch (error) {
|
@@ -1220,7 +1219,6 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
1220
1219
|
throw new TypeError("no encryption key found for decryption of ".concat(this.participantIdentity));
|
1221
1220
|
}
|
1222
1221
|
let frameInfo = this.getUnencryptedBytes(encodedFrame);
|
1223
|
-
workerLogger.debug('frameInfo for decoded frame', Object.assign(Object.assign({}, frameInfo), this.logContext));
|
1224
1222
|
// Construct frame trailer. Similar to the frame header described in
|
1225
1223
|
// https://tools.ietf.org/html/draft-omara-sframe-00#section-4.2
|
1226
1224
|
// but we put it at the end.
|
@@ -1337,6 +1335,13 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
1337
1335
|
};
|
1338
1336
|
if (isVideoFrame(frame)) {
|
1339
1337
|
let detectedCodec = (_a = this.getVideoCodec(frame)) !== null && _a !== void 0 ? _a : this.videoCodec;
|
1338
|
+
if (detectedCodec !== this.detectedCodec) {
|
1339
|
+
workerLogger.debug('detected different codec', Object.assign({
|
1340
|
+
detectedCodec,
|
1341
|
+
oldCodec: this.detectedCodec
|
1342
|
+
}, this.logContext));
|
1343
|
+
this.detectedCodec = detectedCodec;
|
1344
|
+
}
|
1340
1345
|
if (detectedCodec === 'av1' || detectedCodec === 'vp9') {
|
1341
1346
|
throw new Error("".concat(detectedCodec, " is not yet supported for end to end encryption"));
|
1342
1347
|
}
|
@@ -1383,9 +1388,6 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
1383
1388
|
// @ts-expect-error payloadType is not yet part of the typescript definition and currently not supported in Safari
|
1384
1389
|
const payloadType = frame.getMetadata().payloadType;
|
1385
1390
|
const codec = payloadType ? this.rtpMap.get(payloadType) : undefined;
|
1386
|
-
workerLogger.debug('reading codec from frame', Object.assign({
|
1387
|
-
codec
|
1388
|
-
}, this.logContext));
|
1389
1391
|
return codec;
|
1390
1392
|
}
|
1391
1393
|
}
|