livekit-client 2.20.2 → 2.22.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.
Files changed (142) hide show
  1. package/README.md +10 -10
  2. package/dist/livekit-client.e2ee.worker.js +1 -1
  3. package/dist/livekit-client.e2ee.worker.js.map +1 -1
  4. package/dist/livekit-client.e2ee.worker.mjs +6 -1
  5. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  6. package/dist/livekit-client.esm.mjs +2588 -1056
  7. package/dist/livekit-client.esm.mjs.map +1 -1
  8. package/dist/livekit-client.fm.worker.js +1 -1
  9. package/dist/livekit-client.fm.worker.js.map +1 -1
  10. package/dist/livekit-client.fm.worker.mjs +6 -1
  11. package/dist/livekit-client.fm.worker.mjs.map +1 -1
  12. package/dist/livekit-client.umd.js +1 -1
  13. package/dist/livekit-client.umd.js.map +1 -1
  14. package/dist/src/index.d.ts +1 -1
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/room/PCTransport.d.ts +49 -2
  17. package/dist/src/room/PCTransport.d.ts.map +1 -1
  18. package/dist/src/room/RTCEngine.d.ts +48 -65
  19. package/dist/src/room/RTCEngine.d.ts.map +1 -1
  20. package/dist/src/room/Room.d.ts +6 -0
  21. package/dist/src/room/Room.d.ts.map +1 -1
  22. package/dist/src/room/data-channel/DataChannelManager.d.ts +62 -0
  23. package/dist/src/room/data-channel/DataChannelManager.d.ts.map +1 -0
  24. package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts +95 -0
  25. package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts.map +1 -0
  26. package/dist/src/room/data-channel/LossyDataChannel.d.ts +40 -0
  27. package/dist/src/room/data-channel/LossyDataChannel.d.ts.map +1 -0
  28. package/dist/src/room/data-channel/ReliableDataChannel.d.ts +56 -0
  29. package/dist/src/room/data-channel/ReliableDataChannel.d.ts.map +1 -0
  30. package/dist/src/room/data-channel/types.d.ts +12 -0
  31. package/dist/src/room/data-channel/types.d.ts.map +1 -0
  32. package/dist/src/room/data-stream/compression.d.ts +49 -0
  33. package/dist/src/room/data-stream/compression.d.ts.map +1 -0
  34. package/dist/src/room/data-stream/constants.d.ts +18 -0
  35. package/dist/src/room/data-stream/constants.d.ts.map +1 -0
  36. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts +4 -0
  37. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
  38. package/dist/src/room/data-stream/incoming/StreamReader.d.ts.map +1 -1
  39. package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +49 -2
  40. package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts.map +1 -1
  41. package/dist/src/room/data-stream/outgoing/header-utils.d.ts +18 -0
  42. package/dist/src/room/data-stream/outgoing/header-utils.d.ts.map +1 -0
  43. package/dist/src/room/errors.d.ts +3 -1
  44. package/dist/src/room/errors.d.ts.map +1 -1
  45. package/dist/src/room/participant/LocalParticipant.d.ts +10 -2
  46. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  47. package/dist/src/room/participant/RemoteParticipant.d.ts +11 -2
  48. package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
  49. package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
  50. package/dist/src/room/rpc/server/RpcServerManager.d.ts.map +1 -1
  51. package/dist/src/room/token-source/TokenSource.d.ts +19 -10
  52. package/dist/src/room/token-source/TokenSource.d.ts.map +1 -1
  53. package/dist/src/room/track/LocalVideoTrack.d.ts +12 -1
  54. package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
  55. package/dist/src/room/track/RemoteTrack.d.ts +3 -0
  56. package/dist/src/room/track/RemoteTrack.d.ts.map +1 -1
  57. package/dist/src/room/track/Track.d.ts.map +1 -1
  58. package/dist/src/room/types.d.ts +17 -0
  59. package/dist/src/room/types.d.ts.map +1 -1
  60. package/dist/src/room/utils.d.ts +28 -0
  61. package/dist/src/room/utils.d.ts.map +1 -1
  62. package/dist/src/test/promiseState.d.ts +12 -0
  63. package/dist/src/test/promiseState.d.ts.map +1 -0
  64. package/dist/src/test/signalToken.d.ts.map +1 -1
  65. package/dist/src/utils/AsyncQueue.d.ts +3 -3
  66. package/dist/src/utils/AsyncQueue.d.ts.map +1 -1
  67. package/dist/src/version.d.ts +5 -1
  68. package/dist/src/version.d.ts.map +1 -1
  69. package/dist/ts4.2/index.d.ts +1 -1
  70. package/dist/ts4.2/room/PCTransport.d.ts +49 -2
  71. package/dist/ts4.2/room/RTCEngine.d.ts +48 -65
  72. package/dist/ts4.2/room/Room.d.ts +6 -0
  73. package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +62 -0
  74. package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +95 -0
  75. package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -0
  76. package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -0
  77. package/dist/ts4.2/room/data-channel/types.d.ts +12 -0
  78. package/dist/ts4.2/room/data-stream/compression.d.ts +49 -0
  79. package/dist/ts4.2/room/data-stream/constants.d.ts +18 -0
  80. package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +4 -0
  81. package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +49 -2
  82. package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -0
  83. package/dist/ts4.2/room/errors.d.ts +3 -1
  84. package/dist/ts4.2/room/participant/LocalParticipant.d.ts +10 -2
  85. package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +11 -1
  86. package/dist/ts4.2/room/token-source/TokenSource.d.ts +17 -8
  87. package/dist/ts4.2/room/track/LocalVideoTrack.d.ts +12 -1
  88. package/dist/ts4.2/room/track/RemoteTrack.d.ts +3 -0
  89. package/dist/ts4.2/room/types.d.ts +17 -0
  90. package/dist/ts4.2/room/utils.d.ts +28 -0
  91. package/dist/ts4.2/test/promiseState.d.ts +12 -0
  92. package/dist/ts4.2/utils/AsyncQueue.d.ts +3 -3
  93. package/dist/ts4.2/version.d.ts +5 -1
  94. package/package.json +14 -13
  95. package/src/api/SignalClient.e2e.test.ts +16 -9
  96. package/src/e2ee/utils.ts +1 -1
  97. package/src/index.ts +2 -0
  98. package/src/room/PCTransport.test.ts +243 -1
  99. package/src/room/PCTransport.ts +181 -80
  100. package/src/room/RTCEngine.test.ts +397 -101
  101. package/src/room/RTCEngine.ts +244 -545
  102. package/src/room/Room.test.ts +138 -4
  103. package/src/room/Room.ts +92 -25
  104. package/src/room/data-channel/DataChannelManager.test.ts +152 -0
  105. package/src/room/data-channel/DataChannelManager.ts +237 -0
  106. package/src/room/data-channel/FlowControlledDataChannel.test.ts +154 -0
  107. package/src/room/data-channel/FlowControlledDataChannel.ts +216 -0
  108. package/src/room/data-channel/LossyDataChannel.test.ts +118 -0
  109. package/src/room/data-channel/LossyDataChannel.ts +125 -0
  110. package/src/room/data-channel/ReliableDataChannel.test.ts +158 -0
  111. package/src/room/data-channel/ReliableDataChannel.ts +153 -0
  112. package/src/room/data-channel/types.ts +30 -0
  113. package/src/room/data-stream/compression.ts +117 -0
  114. package/src/room/data-stream/constants.ts +18 -0
  115. package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +1601 -0
  116. package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +438 -86
  117. package/src/room/data-stream/incoming/StreamReader.ts +9 -3
  118. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +1292 -0
  119. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +489 -116
  120. package/src/room/data-stream/outgoing/header-utils.ts +87 -0
  121. package/src/room/errors.ts +7 -2
  122. package/src/room/participant/LocalParticipant.ts +13 -0
  123. package/src/room/participant/RemoteParticipant.ts +19 -5
  124. package/src/room/rpc/client/RpcClientManager.test.ts +20 -27
  125. package/src/room/rpc/client/RpcClientManager.ts +1 -4
  126. package/src/room/rpc/server/RpcServerManager.test.ts +24 -23
  127. package/src/room/rpc/server/RpcServerManager.ts +1 -3
  128. package/src/room/token-source/TokenSource.ts +25 -12
  129. package/src/room/track/LocalVideoTrack.test.ts +105 -2
  130. package/src/room/track/LocalVideoTrack.ts +36 -10
  131. package/src/room/track/RemoteTrack.test.ts +144 -0
  132. package/src/room/track/RemoteTrack.ts +39 -12
  133. package/src/room/track/Track.ts +2 -1
  134. package/src/room/types.ts +18 -0
  135. package/src/room/utils.test.ts +71 -2
  136. package/src/room/utils.ts +119 -0
  137. package/src/test/promiseState.ts +23 -0
  138. package/src/test/signalServerSetup.ts +2 -1
  139. package/src/test/signalToken.ts +17 -13
  140. package/src/type-polyfills/header-extensions.d.ts +13 -0
  141. package/src/utils/AsyncQueue.ts +3 -3
  142. package/src/version.ts +5 -1
@@ -56,7 +56,7 @@ export * from './room/track/processor/types';
56
56
  export * from './room/track/types';
57
57
  export type * from './room/data-stream/incoming/StreamReader';
58
58
  export type * from './room/data-stream/outgoing/StreamWriter';
59
- export type { DataPublishOptions, SimulationScenario, TranscriptionSegment, ChatMessage, SendTextOptions, } from './room/types';
59
+ export type { DataPublishOptions, SimulationScenario, TranscriptionSegment, ChatMessage, SendTextOptions, SendBytesOptions, ByteStreamInfo, } from './room/types';
60
60
  export * from './version';
61
61
  export {
62
62
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { MediaAttributes, MediaDescription } from 'sdp-transform';
1
+ import type { MediaAttributes, MediaDescription, SessionDescription } from 'sdp-transform';
2
2
  import type TypedEmitter from 'typed-emitter';
3
3
  import type { LoggerOptions } from './types';
4
4
  /** @internal */
@@ -9,6 +9,18 @@ interface TrackBitrateInfo {
9
9
  maxbr: number;
10
10
  isScreenShare?: boolean;
11
11
  }
12
+ /**
13
+ * Applies the configured start bitrate when this media section belongs to `cid`.
14
+ * This SDP munging is used for a bitrate setting that cannot be applied through
15
+ * `RTCRtpEncodingParameters`.
16
+ *
17
+ * Returns `undefined` when the section does not belong to the track, `0` when
18
+ * it does but does not offer the requested codec, and the codec payload when the
19
+ * requested codec is present (whether the bitrate was added or already set).
20
+ *
21
+ * @internal
22
+ */
23
+ export declare function applyVideoStartBitrate(media: MediaDescription, cid: string, codec: string, maxbr: number, isScreenShare?: boolean): number | undefined;
12
24
  export declare const PCEvents: {
13
25
  readonly NegotiationStarted: "negotiationStarted";
14
26
  readonly NegotiationComplete: "negotiationComplete";
@@ -84,8 +96,38 @@ export default class PCTransport extends PCTransport_base {
84
96
  getConnectedAddress(): Promise<string | undefined>;
85
97
  close: () => void;
86
98
  private setMungedSDP;
87
- private ensureVideoDDExtensionForSVC;
88
99
  }
100
+ /**
101
+ * Adds the AV1 dependency descriptor extension to `media` unless it is already there, and
102
+ * returns the id it is mapped to so callers can pass it back in as `ddExtID` (0 when no id has
103
+ * been chosen yet).
104
+ *
105
+ * A bundle has to map one URI to one id, so an id already in use for the extension anywhere in
106
+ * `sdp` wins over both the cached one and a fresh one: Chrome advertises the extension itself on
107
+ * sections it can send on, and an earlier offer may have munged it into others.
108
+ * @internal
109
+ */
110
+ export declare function ensureVideoDDExtension(media: {
111
+ type: string;
112
+ port: number;
113
+ protocol: string;
114
+ payloads?: string | undefined;
115
+ } & MediaDescription, sdp: SessionDescription, ddExtID: number): number;
116
+ /**
117
+ * Checks whether an fmtp config declares `param` as an exact, `;`-delimited
118
+ * token. A plain substring check conflates distinct opus parameters — e.g.
119
+ * `stereo=1` is a substring of `sprop-stereo=1` — so `param` must match a whole
120
+ * parameter, not appear anywhere within the config string.
121
+ * @internal
122
+ */
123
+ export declare function fmtpConfigHasParam(config: string, param: string): boolean;
124
+ /** @internal */
125
+ export declare function ensureAudioNackAndStereo(media: {
126
+ type: string;
127
+ port: number;
128
+ protocol: string;
129
+ payloads?: string | undefined;
130
+ } & MediaDescription, stereoMids: string[], nackMids: string[]): void;
89
131
  /**
90
132
  * Returns the mids of transceivers that carry no outgoing track: the
91
133
  * pre-populated placeholders added by `RTCEngine.applyInitialPublisherLayout`,
@@ -117,6 +159,11 @@ export declare function placeholderMidsFromTransceivers(transceivers: readonly R
117
159
  * @internal
118
160
  */
119
161
  export declare function conformBundledCodecFmtp(media: MediaDescription[], isPlaceholder: (media: MediaDescription) => boolean): void;
162
+ /** @internal */
163
+ export declare function extractStereoAndNackAudioFromOffer(offer: RTCSessionDescriptionInit): {
164
+ stereoMids: string[];
165
+ nackMids: string[];
166
+ };
120
167
  type PCTransportEventCallbacks = {
121
168
  negotiationStarted: () => void;
122
169
  negotiationComplete: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type AddTrackRequest, type ConnectionQualityUpdate, DataPacket, DataTrackSubscriberHandles, DisconnectReason, Encryption_Type, type JoinResponse, ParticipantInfo, PublishDataTrackResponse, type RegionSettings, RequestResponse, Room as RoomModel, RoomMovedResponse, ServerInfo, SpeakerInfo, type StreamStateUpdate, SubscribedQualityUpdate, type SubscriptionPermissionUpdate, type SubscriptionResponse, TrackInfo, TrackUnpublishedResponse, Transcription, UnpublishDataTrackResponse } from '@livekit/protocol';
1
+ import { type AddTrackRequest, type ConnectionQualityUpdate, DataPacket, DataTrackSubscriberHandles, DisconnectReason, Encryption_Type, type JoinResponse, ParticipantInfo, PublishDataTrackResponse, ReconnectReason, type RegionSettings, RequestResponse, Room as RoomModel, RoomMovedResponse, ServerInfo, SpeakerInfo, type StreamStateUpdate, SubscribedQualityUpdate, type SubscriptionPermissionUpdate, type SubscriptionResponse, TrackInfo, TrackUnpublishedResponse, Transcription, UnpublishDataTrackResponse } from '@livekit/protocol';
2
2
  import type TypedEventEmitter from 'typed-emitter';
3
3
  import type { SignalOptions } from '../api/SignalClient';
4
4
  import { SignalClient } from '../api/SignalClient';
@@ -7,6 +7,7 @@ import type { InternalRoomOptions } from '../options';
7
7
  import type { NonSharedUint8Array } from '../type-polyfills/non-shared-typed-arrays';
8
8
  import PCTransport from './PCTransport';
9
9
  import { PCTransportManager } from './PCTransportManager';
10
+ import { DataChannelKind } from './data-channel/types';
10
11
  import { DataTrackInfo } from './data-track/types';
11
12
  import type LocalTrack from './track/LocalTrack';
12
13
  import type LocalTrackPublication from './track/LocalTrackPublication';
@@ -15,11 +16,7 @@ import type { SimulcastTrackInfo } from './track/LocalVideoTrack';
15
16
  import type RemoteTrackPublication from './track/RemoteTrackPublication';
16
17
  import type { Track } from './track/Track';
17
18
  import type { TrackPublishOptions, VideoCodec } from './track/options';
18
- export declare enum DataChannelKind {
19
- RELIABLE = 0,
20
- LOSSY = 1,
21
- DATA_TRACK_LOSSY = 2
22
- }
19
+ export { DataChannelKind };
23
20
  declare const RTCEngine_base: new () => TypedEventEmitter<EngineEventCallbacks>;
24
21
  /** @internal */
25
22
  export default class RTCEngine extends RTCEngine_base {
@@ -42,13 +39,15 @@ export default class RTCEngine extends RTCEngine_base {
42
39
  get isClosed(): boolean;
43
40
  get isNewlyCreated(): boolean;
44
41
  get pendingReconnect(): boolean;
45
- private lossyDC?;
46
- private lossyDCSub?;
47
- private reliableDC?;
48
- private reliableDCSub?;
49
- private dataTrackDC?;
50
- private dataTrackDCSub?;
51
- private dcBufferStatus;
42
+ /**
43
+ * Owns the data channels: the three flow-controlled publisher wrappers (engine-lifetime; the
44
+ * RTCDataChannel handles underneath are attached/detached as peer connections come and go, with
45
+ * waiter invalidation built into the turnover) plus the subscriber-side receive handles.
46
+ */
47
+ private dataChannels;
48
+ private get reliableChannel();
49
+ private get lossyChannel();
50
+ private get dataTrackChannel();
52
51
  private subscriberPrimary;
53
52
  private pcState;
54
53
  private _isClosed;
@@ -76,16 +75,14 @@ export default class RTCEngine extends RTCEngine_base {
76
75
  private log;
77
76
  private loggerOptions;
78
77
  private publisherConnectionPromise;
79
- private reliableDataSequence;
80
- private reliableMessageBuffer;
81
78
  private reliableReceivedState;
82
- private lossyDataStatCurrentBytes;
83
- private lossyDataStatByterate;
84
- private lossyDataStatInterval;
85
- private lossyDataDropCount;
86
79
  private midToTrackId;
87
80
  /** used to indicate whether the browser is currently waiting to reconnect */
88
81
  private isWaitingForNetworkReconnect;
82
+ /** set while the local participant's connection quality is `LOST`; forces a full reconnect on timeout */
83
+ private lostQualityTimeout?;
84
+ /** timestamp (ms) the primary transport entered `CONNECTING`, used to bound how long we tolerate it */
85
+ private transportConnectingSince?;
89
86
  constructor(options: InternalRoomOptions);
90
87
  /** @internal */
91
88
  get logContext(): {
@@ -129,11 +126,12 @@ export default class RTCEngine extends RTCEngine_base {
129
126
  private addMediaSections;
130
127
  private createDataChannels;
131
128
  private handleDataChannel;
129
+ /** Normalizes an incoming data-channel message into bytes, or logs and returns undefined. */
130
+ private decodeDataMessage;
132
131
  private handleDataMessage;
133
132
  private handleDataTrackMessage;
134
133
  private handleDataError;
135
134
  private handleDataChannelClose;
136
- private handleBufferedAmountLow;
137
135
  createSender(track: LocalTrack, opts: TrackPublishOptions, encodings?: RTCRtpEncodingParameters[]): Promise<RTCRtpSender>;
138
136
  createSimulcastSender(track: LocalVideoTrack, simulcastTrack: SimulcastTrackInfo, opts: TrackPublishOptions, encodings?: RTCRtpEncodingParameters[]): Promise<RTCRtpSender | undefined>;
139
137
  private get frameMetadataWorker();
@@ -142,6 +140,21 @@ export default class RTCEngine extends RTCEngine_base {
142
140
  private createSimulcastTransceiverSender;
143
141
  private createRTCRtpSender;
144
142
  private handleDisconnect;
143
+ /**
144
+ * A sustained local `LOST` while connected and publishing means the server isn't receiving
145
+ * our media, so force a full reconnect; any non-`LOST` value cancels a pending trigger.
146
+ */
147
+ private handleLocalConnectionQuality;
148
+ private scheduleLostQualityReconnect;
149
+ private clearLostQualityTimeout;
150
+ /** Whether the publisher currently has any sender with a live track. */
151
+ private hasActivePublisherSenders;
152
+ /**
153
+ * Forces a full reconnect while keeping the engine (and its saved credentials) alive. Used by
154
+ * Room's connection-reconcile safety net when the transport silently died but we looked connected.
155
+ * @internal
156
+ */
157
+ reconnect(reason?: ReconnectReason): void;
145
158
  private attemptReconnect;
146
159
  private getNextRetryDelay;
147
160
  private restartConnection;
@@ -151,54 +164,25 @@ export default class RTCEngine extends RTCEngine_base {
151
164
  waitForRestarted: () => Promise<void>;
152
165
  /** @internal */
153
166
  publishRpcAck(destinationIdentity: string, requestId: string): Promise<void>;
154
- sendDataPacket(packet: DataPacket, kind: DataChannelKind): Promise<void>;
155
- sendLossyBytes(bytes: NonSharedUint8Array, kind: Exclude<DataChannelKind, DataChannelKind.RELIABLE>, bufferStatusFullBehavior?: 'drop' | 'wait'): Promise<void>;
156
- private resendReliableMessagesForResume;
157
- private updateAndEmitDCBufferStatus;
167
+ sendDataPacket(packet: DataPacket,
168
+ /** Data-track frames don't come through here — they're sent pre-serialized via {@link sendDataTrackFrame }. */
169
+ kind: Exclude<DataChannelKind, DataChannelKind.DATA_TRACK_LOSSY>): Promise<void>;
158
170
  /**
159
- * Whether the send buffer has room to accept more data (the send gate). Senders proceed while
160
- * this is true and block once it goes false.
161
- */
162
- private isBelowHighWaterMark;
163
- /**
164
- * Whether the send buffer has drained to its low-water mark. Drives the public
165
- * {@link EngineEvent.DCBufferStatusChanged} event.
166
- */
167
- private isBelowLowWaterMark;
168
- /** Per-kind lock serializing senders that have to wait for the buffer to drain. */
169
- private waitForBufferHeadroomLocks;
170
- /**
171
- * Per-kind AbortController that cancels parked headroom waiters whenever a kind's channel object
172
- * stops being current (replaced by createDataChannels or torn down by cleanupPeerConnections). A
173
- * waiter is parked on the channel object it captured at wait entry; if that object is abandoned
174
- * its events may never fire again, so the abort is what rejects the waiter and releases the
175
- * headroom lock instead of stranding every future sender behind it.
176
- */
177
- private waiterAbortControllers;
178
- private waiterAbortSignal;
179
- /** Rejects all parked headroom waiters (all kinds); the next waiter gets a fresh controller. */
180
- private invalidateDataChannelWaiters;
181
- /** Acquires the per-kind headroom lock, resolving with the unlock function. */
182
- private getBufferHeadroomLock;
183
- /**
184
- * Acquires the `kind` headroom lock, waits until the send buffer has room, then releases. The
185
- * common single-send entry point. Callers that need to hold the lock across several sends (the
186
- * resume replay) acquire it via {@link getBufferHeadroomLock} and call
187
- * {@link waitForBufferHeadroomWithoutLock} per message instead.
171
+ * Sends pre-serialized bytes on the data-track channel. This is the one send path that doesn't
172
+ * go through {@link sendDataPacket} Room's `packetAvailable` handler calls it directly with
173
+ * bytes the data-track pipeline already serialized.
174
+ *
175
+ * @internal
188
176
  */
189
- waitForBufferHeadroomWithLock(kind: DataChannelKind): Promise<void>;
177
+ sendDataTrackFrame(bytes: NonSharedUint8Array): Promise<void>;
178
+ private resendReliableMessagesForResume;
179
+ /** The flow-control gate for `kind` — see {@link FlowControlledDataChannel}. */
180
+ private flowControlFor;
190
181
  /**
191
- * Waits until the send buffer for `kind` is at or below the high-water mark (draining, if
192
- * needed, via the `bufferedamountlow` event). Does no locking of its own — the caller must
193
- * already hold the kind's headroom lock (via {@link getBufferHeadroomLock}). The resume replay
194
- * holds the lock across its whole batch and calls this per message so no other sender can
195
- * interleave; the single-send path goes through {@link waitForBufferHeadroomWithLock}.
196
- *
197
- * Serializing through the per-kind lock means that, once the buffer drains, queued callers
198
- * refill it one at a time (up to the high-water mark) rather than all at once and overflowing
199
- * the SCTP send buffer (see livekit/client-sdk-js#1995).
182
+ * Resolves once the caller may send on the `kind` channel see
183
+ * {@link FlowControlledDataChannel.waitForHeadroomWithLock}.
200
184
  */
201
- private waitForBufferHeadroomWithoutLock;
185
+ waitForBufferHeadroom(kind: DataChannelKind): Promise<void>;
202
186
  /**
203
187
  * @internal
204
188
  */
@@ -268,5 +252,4 @@ export interface RegionStrategy {
268
252
  getNextUrl(abortSignal?: AbortSignal): Promise<string | null>;
269
253
  resetAttempts(): void;
270
254
  }
271
- export {};
272
255
  //# sourceMappingURL=RTCEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RTCEngine.d.ts","sourceRoot":"","sources":["../../../src/room/RTCEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RTCEngine.d.ts","sourceRoot":"","sources":["../../../src/room/RTCEngine.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,7 @@ declare class Room extends Room_base {
78
78
  private log;
79
79
  private bufferedEvents;
80
80
  private isResuming;
81
+ private pendingTrackAddedCallbacks;
81
82
  /**
82
83
  * map to store first point in time when a particular transcription segment was received
83
84
  */
@@ -226,6 +227,7 @@ declare class Room extends Room_base {
226
227
  private setupLocalParticipantEvents;
227
228
  private recreateEngine;
228
229
  private onTrackAdded;
230
+ private cancelPendingTrackAdded;
229
231
  private handleLocalTrackSubscribed;
230
232
  private emitLocalTrackSubscribed;
231
233
  private handleRestarting;
@@ -268,7 +270,11 @@ declare class Room extends Room_base {
268
270
  */
269
271
  private updateSubscriptions;
270
272
  private getRemoteParticipantBySid;
273
+ /** The client capabilities this SDK advertises to other participants in its `ClientInfo`. */
274
+ private getClientInfoCapabilities;
271
275
  private getRemoteParticipantClientProtocol;
276
+ private getRemoteParticipantCapabilities;
277
+ private getAllRemoteParticipantIdentities;
272
278
  private registerRpcDataStreamHandler;
273
279
  private registerConnectionReconcile;
274
280
  private clearConnectionReconcile;
@@ -1 +1 @@
1
- {"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { PCTransportManager } from '../PCTransportManager';
2
+ import { FlowControlledDataChannel } from './FlowControlledDataChannel';
3
+ import { LossyDataChannel } from './LossyDataChannel';
4
+ import { ReliableDataChannel } from './ReliableDataChannel';
5
+ import { DataChannelKind } from './types';
6
+ export interface DataChannelManagerOptions {
7
+ /** Whether the owning engine has been closed — a closed engine rejects headroom waiters. */
8
+ isEngineClosed: () => boolean;
9
+ /**
10
+ * Whether a reconnect attempt is underway: reliable sends defer to the resume replay and lossy
11
+ * sends are skipped while this is true.
12
+ */
13
+ isReconnecting: () => boolean;
14
+ onDataMessage: (message: MessageEvent) => void;
15
+ onDataTrackMessage: (message: MessageEvent) => void;
16
+ onDataError: (event: Event) => void;
17
+ onChannelClose: (kind: DataChannelKind) => void;
18
+ /** A channel's buffer crossed its low-water mark (debounced). Drives DCBufferStatusChanged. */
19
+ onBufferStatusChanged: (kind: DataChannelKind, isLow: boolean) => void;
20
+ }
21
+ /**
22
+ * Owns the engine's data channels: the three flow-controlled publisher channel wrappers (which
23
+ * live for the engine's lifetime and have RTCDataChannel handles attached/detached as peer
24
+ * connections come and go) plus the subscriber-side receive handles adopted by label.
25
+ *
26
+ * Handle turnover goes through {@link FlowControlledDataChannel.attach}/`detach`, which reject
27
+ * parked headroom waiters as a built-in — there is no separate invalidation step to forget.
28
+ */
29
+ export declare class DataChannelManager {
30
+ readonly reliable: ReliableDataChannel;
31
+ readonly lossy: LossyDataChannel;
32
+ readonly dataTrack: LossyDataChannel;
33
+ private reliableSub?;
34
+ private lossySub?;
35
+ private dataTrackSub?;
36
+ private opts;
37
+ constructor(opts: DataChannelManagerOptions);
38
+ /** The flow-control wrapper for `kind`. */
39
+ channelFor(kind: DataChannelKind): FlowControlledDataChannel;
40
+ /** The raw RTCDataChannel handle for `kind`, publisher side by default. */
41
+ getHandle(kind: DataChannelKind, subscriber?: boolean): RTCDataChannel | undefined;
42
+ get hasPublisherChannels(): boolean;
43
+ /**
44
+ * Creates the three publisher data channels on the given transport, wires their handlers, and
45
+ * attaches them to the wrappers — attaching rejects any waiters still parked on replaced
46
+ * channel objects.
47
+ */
48
+ createPublisherChannels(pcManager: PCTransportManager): void;
49
+ /**
50
+ * Adopts a subscriber-side data channel by label, wiring the matching receive handler.
51
+ * Returns false for labels this manager doesn't own.
52
+ */
53
+ adoptSubscriberChannel(channel: RTCDataChannel): boolean;
54
+ /**
55
+ * Tears down all channels for a peer-connection cleanup: rejects parked waiters (detach — the
56
+ * spec allows `pc.close()` to transition channels to 'closed' without firing events, so waiting
57
+ * for browser close events is not an option), strips handlers, closes the handles, and resets
58
+ * the reliable session state.
59
+ */
60
+ teardown(): void;
61
+ }
62
+ //# sourceMappingURL=DataChannelManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataChannelManager.d.ts","sourceRoot":"","sources":["../../../../src/room/data-channel/DataChannelManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAqD,MAAM,SAAS,CAAC;AAM7F,MAAM,WAAW,yBAAyB;IACxC,4FAA4F;IAC5F,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B;;;OAGG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,aAAa,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,kBAAkB,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACpC,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,+FAA+F;IAC/F,qBAAqB,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxE;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IAEvC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAEjC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAErC,OAAO,CAAC,WAAW,CAAC,CAAiB;IAErC,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAElC,OAAO,CAAC,YAAY,CAAC,CAAiB;IAEtC,OAAO,CAAC,IAAI,CAA4B;gBAE5B,IAAI,EAAE,yBAAyB;IA4B3C,2CAA2C;IAC3C,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,yBAAyB;IAW5D,2EAA2E;IAC3E,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,GAAE,OAAe,GAAG,cAAc,GAAG,SAAS;IAczF,IAAI,oBAAoB,IAAI,OAAO,CAIlC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,kBAAkB;IAwDrD;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAkBxD;;;;;OAKG;IACH,QAAQ;CAqCT"}
@@ -0,0 +1,95 @@
1
+ import type { DataChannelKind } from './types';
2
+ export interface FlowControlledDataChannelOptions {
3
+ kind: DataChannelKind;
4
+ /** Buffer level (bytes) at which blocked senders resume; armed as `bufferedAmountLowThreshold`. */
5
+ lowWaterMark: number;
6
+ /** Buffer level (bytes) above which senders block until the buffer drains to the low mark. */
7
+ highWaterMark: number;
8
+ /** Whether the owning engine has been closed — a closed engine rejects waiters immediately. */
9
+ isEngineClosed: () => boolean;
10
+ /**
11
+ * Notified when the buffer crosses the low-water mark in either direction (debounced: fires only
12
+ * on an actual change). Drives the engine's public DCBufferStatusChanged event.
13
+ */
14
+ onBufferStatusChanged?: (isLow: boolean) => void;
15
+ }
16
+ /**
17
+ * Two-watermark flow control for one data channel kind.
18
+ *
19
+ * Owns the per-kind headroom gate: senders proceed freely while the buffer is at or below the
20
+ * high-water mark and otherwise block — serialized FIFO through a mutex — until the browser's
21
+ * `bufferedamountlow` event (armed at the low-water mark) signals the buffer has drained. The
22
+ * serialization prevents woken senders from all refilling at once and overflowing the SCTP send
23
+ * buffer (see livekit/client-sdk-js#1995).
24
+ *
25
+ * Waiters are parked on the channel object captured at wait entry. If that object stops being
26
+ * current — replaced or torn down — its events may never fire again, so the owner must call
27
+ * {@link invalidateWaiters}, which aborts parked waiters (releasing the gate); the next waiter
28
+ * gets a fresh controller.
29
+ */
30
+ export declare class FlowControlledDataChannel {
31
+ readonly kind: DataChannelKind;
32
+ readonly lowWaterMark: number;
33
+ readonly highWaterMark: number;
34
+ protected isEngineClosed: () => boolean;
35
+ private onBufferStatusChanged?;
36
+ /** Last emitted low-water status; starts true (an empty buffer is below the mark). */
37
+ private bufferStatusLow;
38
+ private handle?;
39
+ private headroomLock;
40
+ /** Cancels parked headroom waiters when the handle is replaced or torn down. */
41
+ private waiterAbortController;
42
+ constructor(opts: FlowControlledDataChannelOptions);
43
+ /** The currently attached RTCDataChannel handle, if any. */
44
+ get channelHandle(): RTCDataChannel | undefined;
45
+ /**
46
+ * Attaches the channel handle this wrapper controls. Replacing an existing handle rejects
47
+ * parked waiters — their events would never fire again on the abandoned object — and installs a
48
+ * fresh controller, so queued senders re-check against the new channel. Wrappers outlive their
49
+ * handles: this is the one place handle turnover happens, which is what makes stranding a
50
+ * waiter structurally impossible.
51
+ */
52
+ attach(dc: RTCDataChannel): void;
53
+ /** Detaches the handle on teardown, rejecting parked waiters. */
54
+ detach(reason?: string): void;
55
+ protected getChannel(): RTCDataChannel | undefined;
56
+ /**
57
+ * Whether the send buffer has room to accept more data (the send gate). Senders proceed while
58
+ * this is true and block once it goes false. Callers resolve the handle (and decide what an
59
+ * absent one means) before asking.
60
+ */
61
+ isBelowHighWaterMark(dc: RTCDataChannel): boolean;
62
+ /**
63
+ * Whether the send buffer has drained to its low-water mark. Drives the engine's public
64
+ * DCBufferStatusChanged event.
65
+ */
66
+ isBelowLowWaterMark(dc: RTCDataChannel): boolean;
67
+ /**
68
+ * Acquires the headroom lock, resolving with the unlock function. Batch senders (the resume
69
+ * replay) hold it across all of their sends so no other sender can interleave, calling
70
+ * {@link waitForHeadroomWithoutLock} per message to respect flow control within the batch.
71
+ */
72
+ lockHeadroom(): Promise<() => void>;
73
+ /**
74
+ * Resolves once the caller may send on this channel: immediately while the send buffer is at or
75
+ * below its high-water mark, otherwise once the buffer has drained to the low-water mark (the
76
+ * `bufferedamountlow` event). Callers are serialized through the headroom lock so that, when
77
+ * the buffer drains, they refill it one at a time (up to the high-water mark) rather than all
78
+ * sending at once and overflowing the SCTP send buffer (see livekit/client-sdk-js#1995). The
79
+ * closed/buffer checks run inside the lock so queued callers proceed in FIFO order.
80
+ */
81
+ waitForHeadroomWithLock(): Promise<void>;
82
+ /** Core wait of {@link waitForHeadroomWithLock}. The caller must hold the headroom lock. */
83
+ waitForHeadroomWithoutLock(): Promise<void>;
84
+ /** Rejects all parked headroom waiters; the next waiter gets a fresh controller. */
85
+ invalidateWaiters(reason: string): void;
86
+ /**
87
+ * Recomputes whether the buffer has drained to the low-water mark and, if that changed since the
88
+ * last check, notifies the status listener. Two independent triggers land here: a send (which
89
+ * raises the buffer) and the `bufferedamountlow` drain event (which lowers it) — the latter has
90
+ * no send to hang the work off, which is why this is a shared entry point rather than a tail of
91
+ * `send`.
92
+ */
93
+ refreshBufferStatus(): void;
94
+ }
95
+ //# sourceMappingURL=FlowControlledDataChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlowControlledDataChannel.d.ts","sourceRoot":"","sources":["../../../../src/room/data-channel/FlowControlledDataChannel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,eAAe,CAAC;IACtB,mGAAmG;IACnG,YAAY,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,aAAa,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,yBAAyB;IACpC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAE/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,SAAS,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC;IAExC,OAAO,CAAC,qBAAqB,CAAC,CAA2B;IAEzD,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAQ;IAE/B,OAAO,CAAC,MAAM,CAAC,CAAiB;IAEhC,OAAO,CAAC,YAAY,CAAe;IAEnC,gFAAgF;IAChF,OAAO,CAAC,qBAAqB,CAAyB;gBAE1C,IAAI,EAAE,gCAAgC;IAQlD,4DAA4D;IAC5D,IAAI,aAAa,IAAI,cAAc,GAAG,SAAS,CAE9C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,EAAE,cAAc;IAOzB,iEAAiE;IACjE,MAAM,CAAC,MAAM,GAAE,MAAiC;IAOhD,SAAS,CAAC,UAAU,IAAI,cAAc,GAAG,SAAS;IAIlD;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO;IAKjD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO;IAKhD;;;;OAIG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;IAInC;;;;;;;OAOG;IACG,uBAAuB;IAS7B,4FAA4F;IACtF,0BAA0B;IAmDhC,oFAAoF;IACpF,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAKhC;;;;;;OAMG;IACH,mBAAmB;CAWpB"}