livekit-client 2.13.7 → 2.14.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/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 +13 -7
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +188 -90
- 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.map +1 -1
- package/dist/src/e2ee/types.d.ts +7 -0
- package/dist/src/e2ee/types.d.ts.map +1 -1
- package/dist/src/e2ee/worker/FrameCryptor.d.ts +2 -1
- package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +1 -0
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/events.d.ts +18 -0
- package/dist/src/room/events.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +1 -0
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/Participant.d.ts +3 -0
- package/dist/src/room/participant/Participant.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrackPublication.d.ts +1 -0
- package/dist/src/room/track/LocalTrackPublication.d.ts.map +1 -1
- package/dist/src/room/track/LocalVideoTrack.d.ts +7 -0
- package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
- package/dist/src/room/track/Track.d.ts +1 -0
- package/dist/src/room/track/Track.d.ts.map +1 -1
- package/dist/src/room/track/TrackPublication.d.ts +1 -0
- package/dist/src/room/track/TrackPublication.d.ts.map +1 -1
- package/dist/src/room/track/options.d.ts +4 -0
- package/dist/src/room/track/options.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +1 -1
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/ts4.2/src/e2ee/types.d.ts +7 -0
- package/dist/ts4.2/src/e2ee/worker/FrameCryptor.d.ts +2 -1
- package/dist/ts4.2/src/room/PCTransport.d.ts +1 -0
- package/dist/ts4.2/src/room/events.d.ts +18 -0
- package/dist/ts4.2/src/room/participant/LocalParticipant.d.ts +1 -0
- package/dist/ts4.2/src/room/participant/Participant.d.ts +3 -0
- package/dist/ts4.2/src/room/track/LocalTrackPublication.d.ts +1 -0
- package/dist/ts4.2/src/room/track/LocalVideoTrack.d.ts +7 -0
- package/dist/ts4.2/src/room/track/Track.d.ts +1 -0
- package/dist/ts4.2/src/room/track/TrackPublication.d.ts +1 -0
- package/dist/ts4.2/src/room/track/options.d.ts +4 -0
- package/dist/ts4.2/src/room/utils.d.ts +1 -1
- package/package.json +1 -1
- package/src/e2ee/E2eeManager.ts +8 -3
- package/src/e2ee/types.ts +8 -0
- package/src/e2ee/worker/FrameCryptor.ts +15 -0
- package/src/e2ee/worker/e2ee.worker.ts +8 -5
- package/src/room/PCTransport.ts +88 -77
- package/src/room/events.ts +21 -0
- package/src/room/participant/LocalParticipant.ts +14 -2
- package/src/room/participant/Participant.ts +3 -0
- package/src/room/participant/publishUtils.ts +2 -2
- package/src/room/track/LocalTrackPublication.ts +9 -1
- package/src/room/track/LocalVideoTrack.ts +68 -1
- package/src/room/track/Track.ts +1 -0
- package/src/room/track/TrackPublication.ts +1 -0
- package/src/room/track/create.ts +2 -2
- package/src/room/track/options.ts +5 -0
- package/src/room/utils.ts +19 -3
@@ -1130,6 +1130,7 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
1130
1130
|
constructor(opts) {
|
1131
1131
|
var _a;
|
1132
1132
|
super();
|
1133
|
+
this.isTransformActive = false;
|
1133
1134
|
this.sendCounts = new Map();
|
1134
1135
|
this.keys = opts.keys;
|
1135
1136
|
this.participantIdentity = opts.participantIdentity;
|
@@ -1193,7 +1194,7 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
1193
1194
|
setRtpMap(map) {
|
1194
1195
|
this.rtpMap = map;
|
1195
1196
|
}
|
1196
|
-
setupTransform(operation, readable, writable, trackId, codec) {
|
1197
|
+
setupTransform(operation, readable, writable, trackId, isReuse, codec) {
|
1197
1198
|
if (codec) {
|
1198
1199
|
workerLogger.info('setting codec on cryptor to', {
|
1199
1200
|
codec
|
@@ -1205,13 +1206,20 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
1205
1206
|
passedTrackId: trackId,
|
1206
1207
|
codec
|
1207
1208
|
}, this.logContext));
|
1209
|
+
if (isReuse && this.isTransformActive) {
|
1210
|
+
workerLogger.debug('reuse transform', Object.assign({}, this.logContext));
|
1211
|
+
return;
|
1212
|
+
}
|
1208
1213
|
const transformFn = operation === 'encode' ? this.encodeFunction : this.decodeFunction;
|
1209
1214
|
const transformStream = new TransformStream({
|
1210
1215
|
transform: transformFn.bind(this)
|
1211
1216
|
});
|
1217
|
+
this.isTransformActive = true;
|
1212
1218
|
readable.pipeThrough(transformStream).pipeTo(writable).catch(e => {
|
1213
1219
|
workerLogger.warn(e);
|
1214
1220
|
this.emit(CryptorEvent.Error, e instanceof CryptorError ? e : new CryptorError(e.message, undefined, this.participantIdentity));
|
1221
|
+
}).finally(() => {
|
1222
|
+
this.isTransformActive = false;
|
1215
1223
|
});
|
1216
1224
|
this.trackId = trackId;
|
1217
1225
|
}
|
@@ -1865,11 +1873,11 @@ onmessage = ev => {
|
|
1865
1873
|
break;
|
1866
1874
|
case 'decode':
|
1867
1875
|
let cryptor = getTrackCryptor(data.participantIdentity, data.trackId);
|
1868
|
-
cryptor.setupTransform(kind, data.readableStream, data.writableStream, data.trackId, data.codec);
|
1876
|
+
cryptor.setupTransform(kind, data.readableStream, data.writableStream, data.trackId, data.isReuse, data.codec);
|
1869
1877
|
break;
|
1870
1878
|
case 'encode':
|
1871
1879
|
let pubCryptor = getTrackCryptor(data.participantIdentity, data.trackId);
|
1872
|
-
pubCryptor.setupTransform(kind, data.readableStream, data.writableStream, data.trackId, data.codec);
|
1880
|
+
pubCryptor.setupTransform(kind, data.readableStream, data.writableStream, data.trackId, data.isReuse, data.codec);
|
1873
1881
|
break;
|
1874
1882
|
case 'setKey':
|
1875
1883
|
if (useSharedKey) {
|
@@ -2040,11 +2048,9 @@ if (self.RTCTransformEvent) {
|
|
2040
2048
|
workerLogger.debug('setup transform event');
|
2041
2049
|
// @ts-ignore
|
2042
2050
|
self.onrtctransform = event => {
|
2043
|
-
// @ts-ignore
|
2051
|
+
// @ts-ignore
|
2044
2052
|
const transformer = event.transformer;
|
2045
2053
|
workerLogger.debug('transformer', transformer);
|
2046
|
-
// @ts-ignore monkey patching non standard flag
|
2047
|
-
transformer.handled = true;
|
2048
2054
|
const {
|
2049
2055
|
kind,
|
2050
2056
|
participantIdentity,
|
@@ -2055,7 +2061,7 @@ if (self.RTCTransformEvent) {
|
|
2055
2061
|
workerLogger.debug('transform', {
|
2056
2062
|
codec
|
2057
2063
|
});
|
2058
|
-
cryptor.setupTransform(kind, transformer.readable, transformer.writable, trackId, codec);
|
2064
|
+
cryptor.setupTransform(kind, transformer.readable, transformer.writable, trackId, false, codec);
|
2059
2065
|
};
|
2060
2066
|
}
|
2061
2067
|
//# sourceMappingURL=livekit-client.e2ee.worker.mjs.map
|