livekit-client 2.20.1 → 2.21.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 +37 -7
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +2279 -651
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.fm.worker.js +1 -1
- package/dist/livekit-client.fm.worker.js.map +1 -1
- package/dist/livekit-client.fm.worker.mjs +37 -7
- package/dist/livekit-client.fm.worker.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.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/logger.d.ts +3 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +2 -0
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/PCTransportManager.d.ts +1 -0
- package/dist/src/room/PCTransportManager.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts +31 -26
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/RegionUrlProvider.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +4 -0
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/data-channel/DataChannelManager.d.ts +62 -0
- package/dist/src/room/data-channel/DataChannelManager.d.ts.map +1 -0
- package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts +95 -0
- package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts.map +1 -0
- package/dist/src/room/data-channel/LossyDataChannel.d.ts +40 -0
- package/dist/src/room/data-channel/LossyDataChannel.d.ts.map +1 -0
- package/dist/src/room/data-channel/ReliableDataChannel.d.ts +56 -0
- package/dist/src/room/data-channel/ReliableDataChannel.d.ts.map +1 -0
- package/dist/src/room/data-channel/types.d.ts +12 -0
- package/dist/src/room/data-channel/types.d.ts.map +1 -0
- package/dist/src/room/data-stream/compression.d.ts +49 -0
- package/dist/src/room/data-stream/compression.d.ts.map +1 -0
- package/dist/src/room/data-stream/constants.d.ts +18 -0
- package/dist/src/room/data-stream/constants.d.ts.map +1 -0
- package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts +4 -0
- package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
- package/dist/src/room/data-stream/incoming/StreamReader.d.ts.map +1 -1
- package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +49 -2
- package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts.map +1 -1
- package/dist/src/room/data-stream/outgoing/header-utils.d.ts +18 -0
- package/dist/src/room/data-stream/outgoing/header-utils.d.ts.map +1 -0
- package/dist/src/room/data-track/incoming/IncomingDataTrackManager.d.ts +7 -0
- package/dist/src/room/data-track/incoming/IncomingDataTrackManager.d.ts.map +1 -1
- package/dist/src/room/data-track/outgoing/OutgoingDataTrackManager.d.ts.map +1 -1
- package/dist/src/room/errors.d.ts +3 -1
- package/dist/src/room/errors.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +9 -1
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/Participant.d.ts.map +1 -1
- package/dist/src/room/participant/RemoteParticipant.d.ts +11 -2
- package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/publishUtils.d.ts +7 -0
- package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
- package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
- package/dist/src/room/rpc/server/RpcServerManager.d.ts.map +1 -1
- package/dist/src/room/track/LocalAudioTrack.d.ts +1 -0
- package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
- package/dist/src/room/track/Track.d.ts.map +1 -1
- package/dist/src/room/track/options.d.ts +11 -1
- package/dist/src/room/track/options.d.ts.map +1 -1
- package/dist/src/room/types.d.ts +17 -0
- package/dist/src/room/types.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +13 -0
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/src/test/signalToken.d.ts +26 -0
- package/dist/src/test/signalToken.d.ts.map +1 -0
- package/dist/src/utils/dataPacketBuffer.d.ts +18 -0
- package/dist/src/utils/dataPacketBuffer.d.ts.map +1 -1
- package/dist/src/version.d.ts +5 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/ts4.2/index.d.ts +1 -1
- package/dist/ts4.2/logger.d.ts +3 -1
- package/dist/ts4.2/room/PCTransport.d.ts +2 -0
- package/dist/ts4.2/room/PCTransportManager.d.ts +1 -0
- package/dist/ts4.2/room/RTCEngine.d.ts +31 -26
- package/dist/ts4.2/room/Room.d.ts +4 -0
- package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +62 -0
- package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +95 -0
- package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -0
- package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -0
- package/dist/ts4.2/room/data-channel/types.d.ts +12 -0
- package/dist/ts4.2/room/data-stream/compression.d.ts +49 -0
- package/dist/ts4.2/room/data-stream/constants.d.ts +18 -0
- package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +4 -0
- package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +49 -2
- package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -0
- package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +7 -0
- package/dist/ts4.2/room/errors.d.ts +3 -1
- package/dist/ts4.2/room/participant/LocalParticipant.d.ts +9 -1
- package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +11 -1
- package/dist/ts4.2/room/participant/publishUtils.d.ts +7 -0
- package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +1 -0
- package/dist/ts4.2/room/track/options.d.ts +11 -1
- package/dist/ts4.2/room/types.d.ts +17 -0
- package/dist/ts4.2/room/utils.d.ts +13 -0
- package/dist/ts4.2/test/signalToken.d.ts +26 -0
- package/dist/ts4.2/utils/dataPacketBuffer.d.ts +18 -0
- package/dist/ts4.2/version.d.ts +5 -1
- package/package.json +8 -4
- package/src/api/SignalClient.e2e.test.ts +264 -0
- package/src/api/SignalClient.ts +34 -2
- package/src/index.ts +2 -0
- package/src/logger.ts +2 -0
- package/src/room/PCTransport.ts +66 -31
- package/src/room/PCTransportManager.ts +10 -6
- package/src/room/RTCEngine.test.ts +238 -6
- package/src/room/RTCEngine.ts +101 -338
- package/src/room/RegionUrlProvider.ts +4 -2
- package/src/room/Room.test.ts +4 -1
- package/src/room/Room.ts +47 -9
- package/src/room/data-channel/DataChannelManager.test.ts +152 -0
- package/src/room/data-channel/DataChannelManager.ts +237 -0
- package/src/room/data-channel/FlowControlledDataChannel.test.ts +154 -0
- package/src/room/data-channel/FlowControlledDataChannel.ts +216 -0
- package/src/room/data-channel/LossyDataChannel.test.ts +118 -0
- package/src/room/data-channel/LossyDataChannel.ts +125 -0
- package/src/room/data-channel/ReliableDataChannel.test.ts +158 -0
- package/src/room/data-channel/ReliableDataChannel.ts +153 -0
- package/src/room/data-channel/types.ts +30 -0
- package/src/room/data-stream/compression.ts +117 -0
- package/src/room/data-stream/constants.ts +18 -0
- package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +1601 -0
- package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +438 -86
- package/src/room/data-stream/incoming/StreamReader.ts +8 -2
- package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +1292 -0
- package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +489 -116
- package/src/room/data-stream/outgoing/header-utils.ts +87 -0
- package/src/room/data-track/incoming/IncomingDataTrackManager.test.ts +303 -0
- package/src/room/data-track/incoming/IncomingDataTrackManager.ts +70 -8
- package/src/room/data-track/outgoing/OutgoingDataTrackManager.ts +2 -0
- package/src/room/errors.ts +10 -4
- package/src/room/participant/LocalParticipant.ts +29 -6
- package/src/room/participant/Participant.ts +5 -0
- package/src/room/participant/RemoteParticipant.ts +19 -5
- package/src/room/participant/publishUtils.ts +14 -11
- package/src/room/rpc/client/RpcClientManager.test.ts +20 -27
- package/src/room/rpc/client/RpcClientManager.ts +1 -4
- package/src/room/rpc/server/RpcServerManager.test.ts +24 -23
- package/src/room/rpc/server/RpcServerManager.ts +1 -3
- package/src/room/track/LocalAudioTrack.ts +16 -0
- package/src/room/track/Track.ts +10 -6
- package/src/room/track/options.ts +11 -1
- package/src/room/types.ts +18 -0
- package/src/room/utils.ts +67 -0
- package/src/test/signalServerSetup.ts +151 -0
- package/src/test/signalToken.ts +59 -0
- package/src/test/vitest-context.d.ts +10 -0
- package/src/utils/dataPacketBuffer.test.ts +100 -0
- package/src/utils/dataPacketBuffer.ts +46 -1
- package/src/version.ts +5 -1
|
@@ -3612,6 +3612,10 @@ var DataStreamErrorReason;
|
|
|
3612
3612
|
DataStreamErrorReason[DataStreamErrorReason["HandlerAlreadyRegistered"] = 7] = "HandlerAlreadyRegistered";
|
|
3613
3613
|
// Encryption type mismatch.
|
|
3614
3614
|
DataStreamErrorReason[DataStreamErrorReason["EncryptionTypeMismatch"] = 8] = "EncryptionTypeMismatch";
|
|
3615
|
+
// The serialized stream header packet (driven mainly by attributes) exceeds the MTU budget.
|
|
3616
|
+
DataStreamErrorReason[DataStreamErrorReason["HeaderTooLarge"] = 9] = "HeaderTooLarge";
|
|
3617
|
+
// The stream's (decompressed) payload exceeds the maximum allowed size.
|
|
3618
|
+
DataStreamErrorReason[DataStreamErrorReason["PayloadTooLarge"] = 10] = "PayloadTooLarge";
|
|
3615
3619
|
})(DataStreamErrorReason || (DataStreamErrorReason = {}));
|
|
3616
3620
|
var MediaDeviceFailure;
|
|
3617
3621
|
(function (MediaDeviceFailure) {
|
|
@@ -4377,6 +4381,8 @@ var LoggerNames;
|
|
|
4377
4381
|
LoggerNames["PCTransport"] = "livekit-pc-transport";
|
|
4378
4382
|
LoggerNames["E2EE"] = "lk-e2ee";
|
|
4379
4383
|
LoggerNames["DataTracks"] = "livekit-data-tracks";
|
|
4384
|
+
LoggerNames["Region"] = "livekit-region";
|
|
4385
|
+
LoggerNames["ICE"] = "livekit-ice";
|
|
4380
4386
|
})(LoggerNames || (LoggerNames = {}));
|
|
4381
4387
|
let livekitLogger = loglevelExports.getLogger(LoggerNames.Default);
|
|
4382
4388
|
Object.values(LoggerNames).map(name => loglevelExports.getLogger(name));
|
|
@@ -4396,9 +4402,27 @@ livekitLogger.setDefaultLevel(LogLevel.info);
|
|
|
4396
4402
|
function getLogger(name, ctxFn) {
|
|
4397
4403
|
const logger = loglevelExports.getLogger(name);
|
|
4398
4404
|
logger.setDefaultLevel(livekitLogger.getLevel());
|
|
4399
|
-
{
|
|
4405
|
+
if (!ctxFn) {
|
|
4400
4406
|
return logger;
|
|
4401
4407
|
}
|
|
4408
|
+
return wrapWithContext(logger, ctxFn);
|
|
4409
|
+
}
|
|
4410
|
+
function wrapWithContext(base, ctxFn) {
|
|
4411
|
+
// Resolve the underlying method on every call so that later
|
|
4412
|
+
// setLogExtension installations (which replace the base logger's
|
|
4413
|
+
// methods via loglevel's methodFactory) are picked up.
|
|
4414
|
+
const wrap = method => (msg, extra) => {
|
|
4415
|
+
const ctx = ctxFn();
|
|
4416
|
+
const merged = ctx || extra ? Object.assign(Object.assign({}, ctx), extra) : undefined;
|
|
4417
|
+
base[method](msg, merged);
|
|
4418
|
+
};
|
|
4419
|
+
const proxy = Object.create(base);
|
|
4420
|
+
proxy.trace = wrap('trace');
|
|
4421
|
+
proxy.debug = wrap('debug');
|
|
4422
|
+
proxy.info = wrap('info');
|
|
4423
|
+
proxy.warn = wrap('warn');
|
|
4424
|
+
proxy.error = wrap('error');
|
|
4425
|
+
return proxy;
|
|
4402
4426
|
}
|
|
4403
4427
|
loglevelExports.getLogger(LoggerNames.E2EE);
|
|
4404
4428
|
|
|
@@ -5195,6 +5219,9 @@ class Track extends eventsExports.EventEmitter {
|
|
|
5195
5219
|
}
|
|
5196
5220
|
/** @internal */
|
|
5197
5221
|
setStreamState(value) {
|
|
5222
|
+
if (this._streamState !== value) {
|
|
5223
|
+
this.log.debug("stream state changed: ".concat(this._streamState, " -> ").concat(value));
|
|
5224
|
+
}
|
|
5198
5225
|
this._streamState = value;
|
|
5199
5226
|
}
|
|
5200
5227
|
constructor(mediaTrack, kind) {
|
|
@@ -5219,8 +5246,8 @@ class Track extends eventsExports.EventEmitter {
|
|
|
5219
5246
|
this.handleAppVisibilityChanged();
|
|
5220
5247
|
}
|
|
5221
5248
|
};
|
|
5222
|
-
this.log = getLogger((_a = loggerOptions.loggerName) !== null && _a !== void 0 ? _a : LoggerNames.Track);
|
|
5223
5249
|
this.loggerContextCb = loggerOptions.loggerContextCb;
|
|
5250
|
+
this.log = getLogger((_a = loggerOptions.loggerName) !== null && _a !== void 0 ? _a : LoggerNames.Track, () => this.logContext);
|
|
5224
5251
|
this.setMaxListeners(100);
|
|
5225
5252
|
this.kind = kind;
|
|
5226
5253
|
this._mediaStreamTrack = mediaTrack;
|
|
@@ -5288,9 +5315,11 @@ class Track extends eventsExports.EventEmitter {
|
|
|
5288
5315
|
this.emit(hasAudio ? TrackEvent.AudioPlaybackFailed : TrackEvent.VideoPlaybackFailed, e);
|
|
5289
5316
|
} else if (e.name === 'AbortError') {
|
|
5290
5317
|
// commonly triggered by another `play` request, only log for debugging purposes
|
|
5291
|
-
|
|
5318
|
+
this.log.debug("".concat(hasAudio ? 'audio' : 'video', " playback aborted, likely due to new play request"));
|
|
5292
5319
|
} else {
|
|
5293
|
-
|
|
5320
|
+
this.log.warn("could not playback ".concat(hasAudio ? 'audio' : 'video'), {
|
|
5321
|
+
error: e
|
|
5322
|
+
});
|
|
5294
5323
|
}
|
|
5295
5324
|
// If audio playback isn't allowed make sure we still play back the video
|
|
5296
5325
|
if (hasAudio && element && allMediaStreamTracks.some(tr => tr.kind === 'video') && e.name === 'NotAllowedError') {
|
|
@@ -5333,6 +5362,7 @@ class Track extends eventsExports.EventEmitter {
|
|
|
5333
5362
|
}
|
|
5334
5363
|
}
|
|
5335
5364
|
stop() {
|
|
5365
|
+
this.log.debug('stopping track');
|
|
5336
5366
|
this.stopMonitor();
|
|
5337
5367
|
this._mediaStreamTrack.stop();
|
|
5338
5368
|
}
|
|
@@ -5353,12 +5383,12 @@ class Track extends eventsExports.EventEmitter {
|
|
|
5353
5383
|
}
|
|
5354
5384
|
/** @internal */
|
|
5355
5385
|
updateLoggerOptions(loggerOptions) {
|
|
5356
|
-
if (loggerOptions.loggerName) {
|
|
5357
|
-
this.log = getLogger(loggerOptions.loggerName);
|
|
5358
|
-
}
|
|
5359
5386
|
if (loggerOptions.loggerContextCb) {
|
|
5360
5387
|
this.loggerContextCb = loggerOptions.loggerContextCb;
|
|
5361
5388
|
}
|
|
5389
|
+
if (loggerOptions.loggerName) {
|
|
5390
|
+
this.log = getLogger(loggerOptions.loggerName, () => this.logContext);
|
|
5391
|
+
}
|
|
5362
5392
|
}
|
|
5363
5393
|
recycleElement(element) {
|
|
5364
5394
|
if (element instanceof HTMLAudioElement) {
|