livekit-client 2.20.2 → 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.
Files changed (105) hide show
  1. package/dist/livekit-client.e2ee.worker.js +1 -1
  2. package/dist/livekit-client.e2ee.worker.js.map +1 -1
  3. package/dist/livekit-client.e2ee.worker.mjs +4 -0
  4. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  5. package/dist/livekit-client.esm.mjs +1993 -791
  6. package/dist/livekit-client.esm.mjs.map +1 -1
  7. package/dist/livekit-client.fm.worker.js +1 -1
  8. package/dist/livekit-client.fm.worker.js.map +1 -1
  9. package/dist/livekit-client.fm.worker.mjs +4 -0
  10. package/dist/livekit-client.fm.worker.mjs.map +1 -1
  11. package/dist/livekit-client.umd.js +1 -1
  12. package/dist/livekit-client.umd.js.map +1 -1
  13. package/dist/src/index.d.ts +1 -1
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/room/RTCEngine.d.ts +28 -64
  16. package/dist/src/room/RTCEngine.d.ts.map +1 -1
  17. package/dist/src/room/Room.d.ts +4 -0
  18. package/dist/src/room/Room.d.ts.map +1 -1
  19. package/dist/src/room/data-channel/DataChannelManager.d.ts +62 -0
  20. package/dist/src/room/data-channel/DataChannelManager.d.ts.map +1 -0
  21. package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts +95 -0
  22. package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts.map +1 -0
  23. package/dist/src/room/data-channel/LossyDataChannel.d.ts +40 -0
  24. package/dist/src/room/data-channel/LossyDataChannel.d.ts.map +1 -0
  25. package/dist/src/room/data-channel/ReliableDataChannel.d.ts +56 -0
  26. package/dist/src/room/data-channel/ReliableDataChannel.d.ts.map +1 -0
  27. package/dist/src/room/data-channel/types.d.ts +12 -0
  28. package/dist/src/room/data-channel/types.d.ts.map +1 -0
  29. package/dist/src/room/data-stream/compression.d.ts +49 -0
  30. package/dist/src/room/data-stream/compression.d.ts.map +1 -0
  31. package/dist/src/room/data-stream/constants.d.ts +18 -0
  32. package/dist/src/room/data-stream/constants.d.ts.map +1 -0
  33. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts +4 -0
  34. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
  35. package/dist/src/room/data-stream/incoming/StreamReader.d.ts.map +1 -1
  36. package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +49 -2
  37. package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts.map +1 -1
  38. package/dist/src/room/data-stream/outgoing/header-utils.d.ts +18 -0
  39. package/dist/src/room/data-stream/outgoing/header-utils.d.ts.map +1 -0
  40. package/dist/src/room/errors.d.ts +3 -1
  41. package/dist/src/room/errors.d.ts.map +1 -1
  42. package/dist/src/room/participant/LocalParticipant.d.ts +9 -1
  43. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  44. package/dist/src/room/participant/RemoteParticipant.d.ts +11 -2
  45. package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
  46. package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
  47. package/dist/src/room/rpc/server/RpcServerManager.d.ts.map +1 -1
  48. package/dist/src/room/types.d.ts +17 -0
  49. package/dist/src/room/types.d.ts.map +1 -1
  50. package/dist/src/room/utils.d.ts +13 -0
  51. package/dist/src/room/utils.d.ts.map +1 -1
  52. package/dist/src/version.d.ts +5 -1
  53. package/dist/src/version.d.ts.map +1 -1
  54. package/dist/ts4.2/index.d.ts +1 -1
  55. package/dist/ts4.2/room/RTCEngine.d.ts +28 -64
  56. package/dist/ts4.2/room/Room.d.ts +4 -0
  57. package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +62 -0
  58. package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +95 -0
  59. package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -0
  60. package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -0
  61. package/dist/ts4.2/room/data-channel/types.d.ts +12 -0
  62. package/dist/ts4.2/room/data-stream/compression.d.ts +49 -0
  63. package/dist/ts4.2/room/data-stream/constants.d.ts +18 -0
  64. package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +4 -0
  65. package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +49 -2
  66. package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -0
  67. package/dist/ts4.2/room/errors.d.ts +3 -1
  68. package/dist/ts4.2/room/participant/LocalParticipant.d.ts +9 -1
  69. package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +11 -1
  70. package/dist/ts4.2/room/types.d.ts +17 -0
  71. package/dist/ts4.2/room/utils.d.ts +13 -0
  72. package/dist/ts4.2/version.d.ts +5 -1
  73. package/package.json +2 -2
  74. package/src/index.ts +2 -0
  75. package/src/room/RTCEngine.test.ts +58 -99
  76. package/src/room/RTCEngine.ts +92 -534
  77. package/src/room/Room.test.ts +4 -1
  78. package/src/room/Room.ts +40 -8
  79. package/src/room/data-channel/DataChannelManager.test.ts +152 -0
  80. package/src/room/data-channel/DataChannelManager.ts +237 -0
  81. package/src/room/data-channel/FlowControlledDataChannel.test.ts +154 -0
  82. package/src/room/data-channel/FlowControlledDataChannel.ts +216 -0
  83. package/src/room/data-channel/LossyDataChannel.test.ts +118 -0
  84. package/src/room/data-channel/LossyDataChannel.ts +125 -0
  85. package/src/room/data-channel/ReliableDataChannel.test.ts +158 -0
  86. package/src/room/data-channel/ReliableDataChannel.ts +153 -0
  87. package/src/room/data-channel/types.ts +30 -0
  88. package/src/room/data-stream/compression.ts +117 -0
  89. package/src/room/data-stream/constants.ts +18 -0
  90. package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +1601 -0
  91. package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +438 -86
  92. package/src/room/data-stream/incoming/StreamReader.ts +8 -2
  93. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +1292 -0
  94. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +489 -116
  95. package/src/room/data-stream/outgoing/header-utils.ts +87 -0
  96. package/src/room/errors.ts +6 -0
  97. package/src/room/participant/LocalParticipant.ts +13 -0
  98. package/src/room/participant/RemoteParticipant.ts +19 -5
  99. package/src/room/rpc/client/RpcClientManager.test.ts +20 -27
  100. package/src/room/rpc/client/RpcClientManager.ts +1 -4
  101. package/src/room/rpc/server/RpcServerManager.test.ts +24 -23
  102. package/src/room/rpc/server/RpcServerManager.ts +1 -3
  103. package/src/room/types.ts +18 -0
  104. package/src/room/utils.ts +67 -0
  105. package/src/version.ts +5 -1
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Maximum size of a single data-stream chunk in bytes, and the budget used to decide whether a
3
+ * payload can be sent inline as a single header packet. Kept below the ~16k data-channel MTU to
4
+ * leave headroom for protocol framing and E2EE overhead.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare const STREAM_CHUNK_SIZE_BYTES = 15000;
9
+ /**
10
+ * Default cap on the number of decompressed bytes a single incoming compressed data stream may
11
+ * produce (5 GB). A tiny compressed payload can inflate to an arbitrarily large output
12
+ * (decompression bomb), so the decompressor's output is bounded rather than trusting the wire
13
+ * size; streams exceeding the cap error with `PayloadTooLarge`.
14
+ *
15
+ * @internal
16
+ */
17
+ export declare const DEFAULT_MAX_PAYLOAD_BYTE_LENGTH = 5000000000;
18
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/room/data-stream/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,aAAgB,CAAC"}
@@ -2,6 +2,10 @@ import { type DataPacket, Encryption_Type } from '@livekit/protocol';
2
2
  import { type ByteStreamHandler, type TextStreamHandler } from './StreamReader';
3
3
  export default class IncomingDataStreamManager {
4
4
  private log;
5
+ /** Max number of decompressed bytes an incoming compressed stream may produce before it is
6
+ * errored (decompression-bomb guard). */
7
+ private maxPayloadByteLength;
8
+ constructor(maxPayloadByteLength?: number);
5
9
  private byteStreamControllers;
6
10
  private textStreamControllers;
7
11
  private byteStreamHandlers;
@@ -1 +1 @@
1
- {"version":3,"file":"IncomingDataStreamManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/incoming/IncomingDataStreamManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAIf,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,iBAAiB,EAEvB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,GAAG,CAAO;IAElB,OAAO,CAAC,qBAAqB,CAAyD;IAEtF,OAAO,CAAC,qBAAqB,CAAyD;IAEtF,OAAO,CAAC,kBAAkB,CAAwC;IAElE,OAAO,CAAC,kBAAkB,CAAwC;IAElE,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,eAAe,CAAsE;IAE7F,YAAY,CAAC,SAAS,EAAE,OAAO;IAO/B,OAAO,CAAC,oBAAoB;IAQ5B,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAUpE,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAIzC,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAUpE,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAIzC,gBAAgB;IAMhB,yCAAyC,CAAC,mBAAmB,EAAE,MAAM;IA4BrE,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe;IAqB1E,OAAO,CAAC,kBAAkB;IAqG1B,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,mBAAmB;CAiC5B"}
1
+ {"version":3,"file":"IncomingDataStreamManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/incoming/IncomingDataStreamManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAKf,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,iBAAiB,EAEvB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,GAAG,CAAO;IAElB;6CACyC;IACzC,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,oBAAoB,GAAE,MAAwC;IAI1E,OAAO,CAAC,qBAAqB,CAAyD;IAEtF,OAAO,CAAC,qBAAqB,CAAyD;IAEtF,OAAO,CAAC,kBAAkB,CAAwC;IAElE,OAAO,CAAC,kBAAkB,CAAwC;IAElE,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,eAAe,CAAsE;IAE7F,YAAY,CAAC,SAAS,EAAE,OAAO;IAO/B,OAAO,CAAC,oBAAoB;IAQ5B,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAUpE,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAIzC,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;IAUpE,2BAA2B,CAAC,KAAK,EAAE,MAAM;IAIzC,gBAAgB;IAMhB,yCAAyC,CAAC,mBAAmB,EAAE,MAAM;IA4BrE,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe;IAqB1E,OAAO,CAAC,kBAAkB;IAuN1B,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,mBAAmB;CAuD5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"StreamReader.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/incoming/StreamReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamReader.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/incoming/StreamReader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import { ClientInfo_Capability } from '@livekit/protocol';
1
2
  import { type StructuredLogger } from '../../../logger';
2
3
  import type RTCEngine from '../../RTCEngine';
3
- import type { SendFileOptions, SendTextOptions, StreamBytesOptions, StreamTextOptions, TextStreamInfo } from '../../types';
4
+ import type { ByteStreamInfo, SendBytesOptions, SendFileOptions, SendTextOptions, StreamBytesOptions, StreamTextOptions, TextStreamInfo } from '../../types';
4
5
  import { ByteStreamWriter, TextStreamWriter } from './StreamWriter';
5
6
  /**
6
7
  * Manages sending custom user data via data channels.
@@ -9,10 +10,49 @@ import { ByteStreamWriter, TextStreamWriter } from './StreamWriter';
9
10
  export default class OutgoingDataStreamManager {
10
11
  protected engine: RTCEngine;
11
12
  protected log: StructuredLogger;
12
- constructor(engine: RTCEngine, log: StructuredLogger);
13
+ /** Returns the advertised client protocol of a remote participant, used to decide whether a
14
+ * recipient can receive single-packet (inline) data streams. */
15
+ protected getRemoteParticipantClientProtocol: (identity: string) => number;
16
+ /** Returns the client capabilities a remote participant advertises, used to decide whether a
17
+ * recipient can decompress a deflate-raw compressed stream. */
18
+ protected getRemoteParticipantCapabilities: (identity: string) => Array<ClientInfo_Capability>;
19
+ /** Returns the identities of every remote participant currently in the room, used to decide
20
+ * whether a broadcast (no explicit destinations) can be sent inline. */
21
+ protected getAllRemoteParticipantIdentities: () => Array<string>;
22
+ constructor(engine: RTCEngine, log: StructuredLogger, getRemoteParticipantClientProtocol: (identity: string) => number, getRemoteParticipantCapabilities: (identity: string) => Array<ClientInfo_Capability>, getAllRemoteParticipantIdentities: () => Array<string>);
13
23
  setupEngine(engine: RTCEngine): void;
14
24
  /** {@inheritDoc LocalParticipant.sendText} */
15
25
  sendText(text: string, options?: SendTextOptions): Promise<TextStreamInfo>;
26
+ /**
27
+ * Sends a complete in-memory byte payload. Mirrors {@link sendText}'s semantics: when every
28
+ * recipient supports data streams v2 the payload rides inline in a single header packet
29
+ * (optionally deflate-raw compressed), otherwise it is sent as a (optionally compressed)
30
+ * chunked byte stream. Unlike {@link sendFile}, the whole payload is already in memory, so the
31
+ * inline single-packet fast path applies.
32
+ */
33
+ sendBytes(bytes: Uint8Array, options?: SendBytesOptions): Promise<ByteStreamInfo>;
34
+ /**
35
+ * Returns true only if every recipient is known to support data streams v2 (single-packet inline
36
+ * streams and compression). For a targeted send this checks the named destination identities; for
37
+ * a broadcast (no explicit destinations) it checks every remote participant currently in the room.
38
+ * An empty room (nobody to receive) is considered eligible.
39
+ */
40
+ private allRecipientsSupportV2;
41
+ /**
42
+ * Returns true only if every recipient advertises the deflate-raw compression capability (so it
43
+ * can decompress a compressed stream). Resolved the same way as {@link allRecipientsSupportV2}:
44
+ * named destinations, or every remote participant for a broadcast; an empty room is eligible.
45
+ */
46
+ private allRecipientsSupportCompression;
47
+ /**
48
+ * Shared chunked-stream send for `sendText`/`sendFile`: sends the prebuilt header packet, then
49
+ * forwards `source` (optionally deflate-raw compressed) as `streamChunk` packets re-chunked to
50
+ * the MTU budget with contiguous indices, then sends the trailer. The source is consumed
51
+ * incrementally, so a `file.stream()` is never buffered in full. The platform compressor can't
52
+ * flush mid-stream, so compression is only used when the whole payload is available as a stream
53
+ * up front (not for incremental writers like `streamText`/`streamBytes`).
54
+ */
55
+ private sendChunkedByteStream;
16
56
  /**
17
57
  * @internal
18
58
  */
@@ -20,6 +60,13 @@ export default class OutgoingDataStreamManager {
20
60
  sendFile(file: File, options?: SendFileOptions): Promise<{
21
61
  id: string;
22
62
  }>;
63
+ /**
64
+ * Streams a file as a chunked byte stream, compressed (deflate-raw) when the runtime supports it
65
+ * and every recipient is on data streams v2. The file is piped `file.stream()` →
66
+ * (`CompressionStream`) → chunk packets via {@link sendChunkedByteStream}, so it is never fully
67
+ * buffered in memory — unlike {@link sendBytes}, there is no inline single-packet fast path for
68
+ * files (the compressed size can't be known up front without buffering the whole file).
69
+ */
23
70
  private _sendFile;
24
71
  streamBytes(options?: StreamBytesOptions): Promise<ByteStreamWriter>;
25
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OutgoingDataStreamManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/outgoing/OutgoingDataStreamManager.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAEV,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIpE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC;gBAEpB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB;IAKpD,WAAW,CAAC,MAAM,EAAE,SAAS;IAI7B,8CAA8C;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA8ChF;;OAEG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqGlE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;YAMhE,SAAS;IAqBjB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB;CAgG/C"}
1
+ {"version":3,"file":"OutgoingDataStreamManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/outgoing/OutgoingDataStreamManager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EAMtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAI7C,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AASpE;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAEhC;oEACgE;IAChE,SAAS,CAAC,kCAAkC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAE3E;mEAC+D;IAC/D,SAAS,CAAC,gCAAgC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAE/F;4EACwE;IACxE,SAAS,CAAC,iCAAiC,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;gBAG/D,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,gBAAgB,EACrB,kCAAkC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EAChE,gCAAgC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,qBAAqB,CAAC,EACpF,iCAAiC,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC;IASxD,WAAW,CAAC,MAAM,EAAE,SAAS;IAI7B,8CAA8C;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAiIhF;;;;;;OAMG;IACG,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;IA+EvF;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;;;OAIG;IACH,OAAO,CAAC,+BAA+B;IAYvC;;;;;;;OAOG;YACW,qBAAqB;IA6BnC;;OAEG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwElE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAM9E;;;;;;OAMG;YACW,SAAS;IAsDjB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB;CAuE/C"}
@@ -0,0 +1,18 @@
1
+ import { DataPacket, DataStream_CompressionType, DataStream_Header } from '@livekit/protocol';
2
+ import type { ByteStreamInfo, StreamTextOptions, TextStreamInfo } from '../../types';
3
+ /** The data-streams-v2 wire signals carried directly on the header: the compression flag and the
4
+ * inline single-packet payload. Both used to live in reserved header attributes; they are now
5
+ * first-class protobuf fields on `DataStream.Header`. */
6
+ export interface StreamHeaderV2Fields {
7
+ /** Compression applied to the inline/chunked payload. Defaults to `NONE` when omitted. */
8
+ compression?: DataStream_CompressionType;
9
+ /** The full payload smuggled into the header for single-packet (inline) sends. */
10
+ inlineContent?: Uint8Array;
11
+ }
12
+ /** Builds the `DataStream_Header` for a text stream from its info and stream options. */
13
+ export declare function buildTextStreamHeader(info: TextStreamInfo, options?: Pick<StreamTextOptions, 'version' | 'replyToStreamId' | 'type'>, v2?: StreamHeaderV2Fields): DataStream_Header;
14
+ /** Builds the `DataStream_Header` for a byte stream from its info. */
15
+ export declare function buildByteStreamHeader(info: ByteStreamInfo, v2?: StreamHeaderV2Fields): DataStream_Header;
16
+ /** Wraps a `DataStream_Header` in a `DataPacket` ready to be sent over a data channel. */
17
+ export declare function createStreamHeaderPacket(header: DataStream_Header, destinationIdentities?: Array<string>): DataPacket;
18
+ //# sourceMappingURL=header-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-utils.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-stream/outgoing/header-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,0BAA0B,EAC1B,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGrF;;yDAEyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,0FAA0F;IAC1F,WAAW,CAAC,EAAE,0BAA0B,CAAC;IACzC,kFAAkF;IAClF,aAAa,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,iBAAiB,GAAG,MAAM,CAAC,EACzE,EAAE,CAAC,EAAE,oBAAoB,GACxB,iBAAiB,CAuBnB;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,EAAE,CAAC,EAAE,oBAAoB,GACxB,iBAAiB,CAiBnB;AAED,0FAA0F;AAC1F,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,iBAAiB,EACzB,qBAAqB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GACpC,UAAU,CAQZ"}
@@ -135,7 +135,9 @@ export declare enum DataStreamErrorReason {
135
135
  LengthExceeded = 3,
136
136
  Incomplete = 4,
137
137
  HandlerAlreadyRegistered = 7,
138
- EncryptionTypeMismatch = 8
138
+ EncryptionTypeMismatch = 8,
139
+ HeaderTooLarge = 9,
140
+ PayloadTooLarge = 10
139
141
  }
140
142
  export declare class DataStreamError extends LivekitReasonedError<DataStreamErrorReason> {
141
143
  readonly name = "DataStreamError";
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/room/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/room/errors.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import LocalTrack from '../track/LocalTrack';
13
13
  import LocalTrackPublication from '../track/LocalTrackPublication';
14
14
  import { Track } from '../track/Track';
15
15
  import type { AudioCaptureOptions, BackupVideoCodec, CreateLocalTracksOptions, ScreenShareCaptureOptions, TrackPublishOptions, VideoCaptureOptions } from '../track/options';
16
- import { type ChatMessage, type DataPublishOptions, type SendFileOptions, type SendTextOptions, type StreamBytesOptions, type StreamTextOptions, type TextStreamInfo } from '../types';
16
+ import { type ByteStreamInfo, type ChatMessage, type DataPublishOptions, type SendBytesOptions, type SendFileOptions, type SendTextOptions, type StreamBytesOptions, type StreamTextOptions, type TextStreamInfo } from '../types';
17
17
  import Participant from './Participant';
18
18
  import type { ParticipantTrackPermission } from './ParticipantTrackPermission';
19
19
  import type RemoteParticipant from './RemoteParticipant';
@@ -207,6 +207,14 @@ export default class LocalParticipant extends Participant {
207
207
  sendFile(file: File, options?: SendFileOptions): Promise<{
208
208
  id: string;
209
209
  }>;
210
+ /**
211
+ * Sends the given bytes to participants in the room via the data channel.
212
+ * For files, consider using {@link sendFile}; for longer/incremental payloads, {@link streamBytes}.
213
+ *
214
+ * @param bytes The byte payload
215
+ * @param options.topic Topic identifier used to route the stream to appropriate handlers.
216
+ */
217
+ sendBytes(bytes: Uint8Array, options?: SendBytesOptions): Promise<ByteStreamInfo>;
210
218
  /**
211
219
  * Stream bytes incrementally to participants in the room via the data channel.
212
220
  * For sending files, consider using {@link sendFile} instead.
@@ -1 +1 @@
1
- {"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ParticipantInfo } from '@livekit/protocol';
1
+ import { ClientInfo_Capability, type ParticipantInfo } from '@livekit/protocol';
2
2
  import type { SignalClient } from '../../api/SignalClient';
3
3
  import { DeferrableMap } from '../../utils/deferrable-map';
4
4
  import RemoteDataTrack from '../data-track/RemoteDataTrack';
@@ -26,6 +26,15 @@ export default class RemoteParticipant extends Participant {
26
26
  * @internal
27
27
  **/
28
28
  clientProtocol: number;
29
+ /** The client capabilities the remote participant advertises (e.g. deflate-raw compression
30
+ * support). Used to decide which peer-to-peer features can be used when sending to them.
31
+ *
32
+ * Differs from clientProtocol in that these are truely optional "additions" which can be used
33
+ * or not depending on client specific attributes rather than protocol level invariants.
34
+ *
35
+ * @internal
36
+ **/
37
+ capabilities: Array<ClientInfo_Capability>;
29
38
  private volumeMap;
30
39
  private audioOutput?;
31
40
  /** @internal */
@@ -35,7 +44,7 @@ export default class RemoteParticipant extends Participant {
35
44
  remoteParticipant: string;
36
45
  };
37
46
  /** @internal */
38
- constructor(signalClient: SignalClient, sid: string, identity?: string, name?: string, metadata?: string, attributes?: Record<string, string>, loggerOptions?: LoggerOptions, kind?: ParticipantKind, remoteDataTracks?: Array<RemoteDataTrack>, clientProtocol?: number);
47
+ constructor(signalClient: SignalClient, sid: string, identity?: string, name?: string, metadata?: string, attributes?: Record<string, string>, loggerOptions?: LoggerOptions, kind?: ParticipantKind, remoteDataTracks?: Array<RemoteDataTrack>, clientProtocol?: number, capabilities?: Array<ClientInfo_Capability>);
39
48
  protected addTrackPublication(publication: RemoteTrackPublication): void;
40
49
  getTrackPublication(source: Track.Source): RemoteTrackPublication | undefined;
41
50
  getTrackPublicationByName(name: string): RemoteTrackPublication | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RpcClientManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/rpc/client/RpcClientManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,yBAAyB,MAAM,sDAAsD,CAAC;AAClG,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAEL,KAAK,gBAAgB,EAIrB,QAAQ,EAGT,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;qCAOK,UAAU,YAAY,CAAC,yBAAyB,CAAC;AALhH;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAAmE;IAC/G,OAAO,CAAC,GAAG,CAAmB;IAE9B,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,kCAAkC,CAAgD;IAE1F,OAAO,CAAC,gBAAgB,CAA2B;IAEnD,OAAO,CAAC,WAAW,CAA2E;IAE9F,OAAO,CAAC,gBAAgB,CAMpB;gBAGF,GAAG,EAAE,gBAAgB,EACrB,yBAAyB,EAAE,yBAAyB,EACpD,kCAAkC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,MAAM,EACjF,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS;IAStC,UAAU,CAAC,EACf,mBAAmB,EACnB,MAAM,EACN,OAAO,EACP,eAAe,EAAE,iBAAyB,GAC3C,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YA0EjE,iBAAiB;IA6C/B;;;OAGG;IACG,wBAAwB,CAC5B,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,EACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiCpC,gBAAgB;IAChB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAUnE,gBAAgB;IAChB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ;IAUnE,gBAAgB;IAChB,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAUtC,gBAAgB;IAChB,6BAA6B,CAAC,mBAAmB,EAAE,MAAM;CAe1D"}
1
+ {"version":3,"file":"RpcClientManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/rpc/client/RpcClientManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,yBAAyB,MAAM,sDAAsD,CAAC;AAClG,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAEL,KAAK,gBAAgB,EAIrB,QAAQ,EAGT,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;qCAOK,UAAU,YAAY,CAAC,yBAAyB,CAAC;AALhH;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAAmE;IAC/G,OAAO,CAAC,GAAG,CAAmB;IAE9B,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,kCAAkC,CAAgD;IAE1F,OAAO,CAAC,gBAAgB,CAA2B;IAEnD,OAAO,CAAC,WAAW,CAA2E;IAE9F,OAAO,CAAC,gBAAgB,CAMpB;gBAGF,GAAG,EAAE,gBAAgB,EACrB,yBAAyB,EAAE,yBAAyB,EACpD,kCAAkC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,MAAM,EACjF,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS;IAStC,UAAU,CAAC,EACf,mBAAmB,EACnB,MAAM,EACN,OAAO,EACP,eAAe,EAAE,iBAAyB,GAC3C,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YA0EjE,iBAAiB;IA0C/B;;;OAGG;IACG,wBAAwB,CAC5B,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,EACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiCpC,gBAAgB;IAChB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAUnE,gBAAgB;IAChB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ;IAUnE,gBAAgB;IAChB,oBAAoB,CAAC,SAAS,EAAE,MAAM;IAUtC,gBAAgB;IAChB,6BAA6B,CAAC,mBAAmB,EAAE,MAAM;CAe1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"RpcServerManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/rpc/server/RpcServerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAEjG,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,yBAAyB,MAAM,sDAAsD,CAAC;AAClG,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAKL,KAAK,iBAAiB,EAGvB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;qCAOK,UAAU,YAAY,CAAC,yBAAyB,CAAC;AALhH;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAAmE;IAC/G,OAAO,CAAC,GAAG,CAAmB;IAE9B,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,kCAAkC,CAAgD;IAE1F,OAAO,CAAC,WAAW,CAAwE;gBAGzF,GAAG,EAAE,gBAAgB,EACrB,yBAAyB,EAAE,yBAAyB,EACpD,kCAAkC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,MAAM;IAQnF,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC;IASvF,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAIlC;;;;OAIG;IACG,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAwD7E;;;;OAIG;IACG,wBAAwB,CAC5B,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,EACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAwFzC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,wBAAwB;IAuBhC;;;OAGG;YACW,kBAAkB;CAoCjC"}
1
+ {"version":3,"file":"RpcServerManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/rpc/server/RpcServerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAEjG,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,yBAAyB,MAAM,sDAAsD,CAAC;AAClG,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAKL,KAAK,iBAAiB,EAGvB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;qCAOK,UAAU,YAAY,CAAC,yBAAyB,CAAC;AALhH;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAAmE;IAC/G,OAAO,CAAC,GAAG,CAAmB;IAE9B,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,kCAAkC,CAAgD;IAE1F,OAAO,CAAC,WAAW,CAAwE;gBAGzF,GAAG,EAAE,gBAAgB,EACrB,yBAAyB,EAAE,yBAAyB,EACpD,kCAAkC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,MAAM;IAQnF,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,CAAC;IASvF,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAIlC;;;;OAIG;IACG,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAwD7E;;;;OAIG;IACG,wBAAwB,CAC5B,MAAM,EAAE,gBAAgB,EACxB,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,EACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAwFzC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,wBAAwB;IAuBhC;;;OAGG;YACW,kBAAkB;CAkCjC"}
@@ -18,6 +18,20 @@ export interface SendTextOptions {
18
18
  attachments?: Array<File>;
19
19
  onProgress?: (progress: number) => void;
20
20
  attributes?: Record<string, string>;
21
+ /** Whether to compress the payload (deflate-raw). Defaults to true. Compression is only applied
22
+ * when every recipient supports data streams v2 and the runtime can compress. */
23
+ compress?: boolean;
24
+ }
25
+ export interface SendBytesOptions {
26
+ topic?: string;
27
+ destinationIdentities?: Array<string>;
28
+ attributes?: Record<string, string>;
29
+ onProgress?: (progress: number) => void;
30
+ /** Whether to compress the payload (deflate-raw). Defaults to true. Compression is only applied
31
+ * when every recipient supports data streams v2 and the runtime can compress. */
32
+ compress?: boolean;
33
+ name?: string;
34
+ mimeType?: string;
21
35
  }
22
36
  export interface StreamTextOptions {
23
37
  topic?: string;
@@ -42,6 +56,9 @@ export type StreamBytesOptions = {
42
56
  export type SendFileOptions = Pick<StreamBytesOptions, 'topic' | 'mimeType' | 'destinationIdentities'> & {
43
57
  onProgress?: (progress: number) => void;
44
58
  encryptionType?: Encryption_Type.NONE;
59
+ /** Whether to compress the payload (deflate-raw). Defaults to true. Compression is only applied
60
+ * when every recipient supports data streams v2 and the runtime can compress. */
61
+ compress?: boolean;
45
62
  };
46
63
  export type DataPublishOptions = {
47
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/room/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/room/types.ts"],"names":[],"mappings":"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"}
@@ -146,6 +146,19 @@ export declare function isRemoteVideoTrack(track: Track | undefined): track is R
146
146
  export declare function isLocalParticipant(p: Participant): p is LocalParticipant;
147
147
  export declare function isRemoteParticipant(p: Participant): p is RemoteParticipant;
148
148
  export declare function splitUtf8(s: string, n: number): NonSharedUint8Array[];
149
+ /** Wraps a byte array in a `ReadableStream` that yields it as a single chunk and then closes. */
150
+ export declare function readableFromBytes(bytes: NonSharedUint8Array): ReadableStream<NonSharedUint8Array>;
151
+ /**
152
+ * Re-chunks a byte stream into pieces of exactly `chunkSize` bytes (the final piece may be
153
+ * smaller), coalescing or splitting the source's pieces as needed. Memory use is bounded to roughly
154
+ * `chunkSize` plus one source read, so it never buffers the whole stream — used to pack
155
+ * `CompressionStream`/`file.stream()` output into MTU-sized data-stream chunks.
156
+ */
157
+ export declare function readBytesInChunks(source: ReadableStream<NonSharedUint8Array>, chunkSize: number): AsyncGenerator<NonSharedUint8Array>;
158
+ /** Encodes a byte array as a base64 string (suitable for embedding binary data in a string field). */
159
+ export declare function encodeBase64(bytes: Uint8Array): string;
160
+ /** Decodes a base64 string (as produced by {@link encodeBase64}) back into a byte array. */
161
+ export declare function decodeBase64(base64: string): Uint8Array;
149
162
  export declare function extractMaxAgeFromRequestHeaders(headers: Headers): number | undefined;
150
163
  export declare function isCompressionStreamSupported(): boolean;
151
164
  export declare function isPublisherOfferWithJoinSupported(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,gBAAgB,EAC/B,UAAU,EACV,qBAAqB,EAErB,gBAAgB,EAChB,aAAa,IAAI,kBAAkB,EACpC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,YAAY,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,gBAAgB,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,WAAW,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,iBAAiB,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,gBAAgB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,sBAAsB,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,gBAAgB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAA4B,MAAM,iBAAiB,CAAC;AAE7F,OAAO,KAAK,EAAE,WAAW,EAA0B,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGzF,eAAO,MAAM,cAAc,4FACgE,CAAC;AAE5F,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAEjE;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,YAElC;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,sBAAsB,YAErC;AAED,wBAAgB,gBAAgB,YAE/B;AAED,wBAAgB,WAAW,IAAI,OAAO,CAoBrC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAmCrC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAgBtC;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAQjE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAGtD;AAED,wBAAgB,kBAAkB,YAKjC;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAED,wBAAgB,mCAAmC,IAAI,OAAO,CAU7D;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAMzC;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAWhE;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAQlC;AAED,wBAAgB,wBAAwB,wBAqBvC;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,GAAG,WAIrC;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAKnE;AAaD,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAWrD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAa5C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAiB9D;AAeD,eAAO,MAAM,iBAAiB,sBAG7B,CAAC;AAGF,eAAO,MAAM,uBAAuB,4BAQnC,CAAC;AAEF,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,YAAY,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACnD,uBAAuB,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CACrE;AAED,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAahF;AAID,wBAAgB,wBAAwB,qBAKvC;AAED,wBAAgB,2BAA2B,CACzC,KAAK,GAAE,MAAW,EAClB,MAAM,GAAE,MAAW,EACnB,OAAO,GAAE,OAAe,EACxB,YAAY,GAAE,OAAe,oBAwB9B;AAID,wBAAgB,wBAAwB,qBAkBvC;AAED,wBAAgB,yBAAyB,qBAkBxC;AAED;;;GAGG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK;IACpC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvB,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,CAAC,WAAW,CAAkB;gBAGnC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,EACxE,SAAS,CAAC,EAAE,MAAM,IAAI;CAczB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GAAG,gBAAgB,EACzC,OAAO,CAAC,EAAE,oBAAoB;;;;EAgD/B;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,UAAU,CAEzE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,UAAU,CAEzE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAAC;AACzE,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM,CAAC;AAwBrE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK7C;AAED,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,kBAAkB,EACjC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,oBAAoB,EAAE,CAoBxB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,GAAG,WAAW,CAQrE;AAED,wBAAgB,sCAAsC,CAAC,CAAC,EAAE,eAAe,oBAaxE;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACzD,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvC;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EACzD,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,GAAG,KAAK,IAAI,UAAU,CAE7F;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,GAAG,SAAS,GACvB,KAAK,IAAI,eAAe,GAAG,gBAAgB,CAE7C;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,GAAG,SAAS,GACvB,KAAK,IAAI,eAAe,GAAG,gBAAgB,CAE7C;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,GAC1C,KAAK,IAAI,eAAe,CAE1B;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,GAC1C,KAAK,IAAI,eAAe,CAE1B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,IAAI,WAAW,CAE5E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,GAAG,GAAG,IAAI,sBAAsB,CAE5F;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,GAAG,GAAG,IAAI,qBAAqB,CAE1F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,IAAI,gBAAgB,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,gBAAgB,CAExE;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,iBAAiB,CAE1E;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAuBrE;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAOjG;AAED;;;;;GAKG;AACH,wBAAuB,iBAAiB,CACtC,MAAM,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC3C,SAAS,EAAE,MAAM,GAChB,cAAc,CAAC,mBAAmB,CAAC,CA2BrC;AAED,sGAAsG;AACtG,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMtD;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAOvD;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CASpF;AAED,wBAAgB,4BAA4B,YAE3C;AAED,wBAAgB,iCAAiC,YAGhD"}
@@ -5,7 +5,11 @@ export declare const CLIENT_PROTOCOL_DEFAULT = 0;
5
5
  /** Replaces RPC v1 protocol with a v2 data streams based one to support unlimited request /
6
6
  * response payload length. */
7
7
  export declare const CLIENT_PROTOCOL_DATA_STREAM_RPC = 1;
8
+ /** "Data streams v2": the client knows how to receive a single-packet data stream (a stream whose
9
+ * entire payload is smuggled into the header packet, with no chunk/trailer packets). Senders only
10
+ * use the single-packet optimization when the recipient advertises at least this protocol. */
11
+ export declare const CLIENT_PROTOCOL_DATA_STREAM_V2 = 2;
8
12
  /** The client protocol version indicates what level of support that the client has for
9
13
  * client <-> client api interactions. */
10
- export declare const clientProtocol = 1;
14
+ export declare const clientProtocol = 2;
11
15
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,QAAI,CAAC;AACzB,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,+BAA+B;AAC/B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC;8BAC8B;AAC9B,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;yCACyC;AACzC,eAAO,MAAM,cAAc,IAAkC,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,QAAI,CAAC;AACzB,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,+BAA+B;AAC/B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC;8BAC8B;AAC9B,eAAO,MAAM,+BAA+B,IAAI,CAAC;AACjD;;8FAE8F;AAC9F,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD;yCACyC;AACzC,eAAO,MAAM,cAAc,IAAiC,CAAC"}
@@ -59,7 +59,7 @@ export * from './room/track/processor/types';
59
59
  export * from './room/track/types';
60
60
  export type * from './room/data-stream/incoming/StreamReader';
61
61
  export type * from './room/data-stream/outgoing/StreamWriter';
62
- export type { DataPublishOptions, SimulationScenario, TranscriptionSegment, ChatMessage, SendTextOptions, } from './room/types';
62
+ export type { DataPublishOptions, SimulationScenario, TranscriptionSegment, ChatMessage, SendTextOptions, SendBytesOptions, ByteStreamInfo, } from './room/types';
63
63
  export * from './version';
64
64
  export {
65
65
  /** @internal */
@@ -8,6 +8,7 @@ import type { InternalRoomOptions } from '../options';
8
8
  import type { NonSharedUint8Array } from '../type-polyfills/non-shared-typed-arrays';
9
9
  import PCTransport from './PCTransport';
10
10
  import { PCTransportManager } from './PCTransportManager';
11
+ import { DataChannelKind } from './data-channel/types';
11
12
  import { DataTrackInfo } from './data-track/types';
12
13
  import type LocalTrack from './track/LocalTrack';
13
14
  import type LocalTrackPublication from './track/LocalTrackPublication';
@@ -16,11 +17,7 @@ import type { SimulcastTrackInfo } from './track/LocalVideoTrack';
16
17
  import type RemoteTrackPublication from './track/RemoteTrackPublication';
17
18
  import type { Track } from './track/Track';
18
19
  import type { TrackPublishOptions, VideoCodec } from './track/options';
19
- export declare enum DataChannelKind {
20
- RELIABLE = 0,
21
- LOSSY = 1,
22
- DATA_TRACK_LOSSY = 2
23
- }
20
+ export { DataChannelKind };
24
21
  declare const RTCEngine_base: new () => TypedEventEmitter<EngineEventCallbacks>;
25
22
  /** @internal */
26
23
  export default class RTCEngine extends RTCEngine_base {
@@ -43,13 +40,15 @@ export default class RTCEngine extends RTCEngine_base {
43
40
  get isClosed(): boolean;
44
41
  get isNewlyCreated(): boolean;
45
42
  get pendingReconnect(): boolean;
46
- private lossyDC?;
47
- private lossyDCSub?;
48
- private reliableDC?;
49
- private reliableDCSub?;
50
- private dataTrackDC?;
51
- private dataTrackDCSub?;
52
- private dcBufferStatus;
43
+ /**
44
+ * Owns the data channels: the three flow-controlled publisher wrappers (engine-lifetime; the
45
+ * RTCDataChannel handles underneath are attached/detached as peer connections come and go, with
46
+ * waiter invalidation built into the turnover) plus the subscriber-side receive handles.
47
+ */
48
+ private dataChannels;
49
+ private get reliableChannel();
50
+ private get lossyChannel();
51
+ private get dataTrackChannel();
53
52
  private subscriberPrimary;
54
53
  private pcState;
55
54
  private _isClosed;
@@ -77,13 +76,7 @@ export default class RTCEngine extends RTCEngine_base {
77
76
  private log;
78
77
  private loggerOptions;
79
78
  private publisherConnectionPromise;
80
- private reliableDataSequence;
81
- private reliableMessageBuffer;
82
79
  private reliableReceivedState;
83
- private lossyDataStatCurrentBytes;
84
- private lossyDataStatByterate;
85
- private lossyDataStatInterval;
86
- private lossyDataDropCount;
87
80
  private midToTrackId;
88
81
  /** used to indicate whether the browser is currently waiting to reconnect */
89
82
  private isWaitingForNetworkReconnect;
@@ -130,11 +123,12 @@ export default class RTCEngine extends RTCEngine_base {
130
123
  private addMediaSections;
131
124
  private createDataChannels;
132
125
  private handleDataChannel;
126
+ /** Normalizes an incoming data-channel message into bytes, or logs and returns undefined. */
127
+ private decodeDataMessage;
133
128
  private handleDataMessage;
134
129
  private handleDataTrackMessage;
135
130
  private handleDataError;
136
131
  private handleDataChannelClose;
137
- private handleBufferedAmountLow;
138
132
  createSender(track: LocalTrack, opts: TrackPublishOptions, encodings?: RTCRtpEncodingParameters[]): Promise<RTCRtpSender>;
139
133
  createSimulcastSender(track: LocalVideoTrack, simulcastTrack: SimulcastTrackInfo, opts: TrackPublishOptions, encodings?: RTCRtpEncodingParameters[]): Promise<RTCRtpSender | undefined>;
140
134
  private get frameMetadataWorker();
@@ -152,54 +146,25 @@ export default class RTCEngine extends RTCEngine_base {
152
146
  waitForRestarted: () => Promise<void>;
153
147
  /** @internal */
154
148
  publishRpcAck(destinationIdentity: string, requestId: string): Promise<void>;
155
- sendDataPacket(packet: DataPacket, kind: DataChannelKind): Promise<void>;
156
- sendLossyBytes(bytes: NonSharedUint8Array, kind: Exclude<DataChannelKind, DataChannelKind.RELIABLE>, bufferStatusFullBehavior?: 'drop' | 'wait'): Promise<void>;
157
- private resendReliableMessagesForResume;
158
- private updateAndEmitDCBufferStatus;
159
- /**
160
- * Whether the send buffer has room to accept more data (the send gate). Senders proceed while
161
- * this is true and block once it goes false.
162
- */
163
- private isBelowHighWaterMark;
164
- /**
165
- * Whether the send buffer has drained to its low-water mark. Drives the public
166
- * {@link EngineEvent.DCBufferStatusChanged} event.
167
- */
168
- private isBelowLowWaterMark;
169
- /** Per-kind lock serializing senders that have to wait for the buffer to drain. */
170
- private waitForBufferHeadroomLocks;
171
- /**
172
- * Per-kind AbortController that cancels parked headroom waiters whenever a kind's channel object
173
- * stops being current (replaced by createDataChannels or torn down by cleanupPeerConnections). A
174
- * waiter is parked on the channel object it captured at wait entry; if that object is abandoned
175
- * its events may never fire again, so the abort is what rejects the waiter and releases the
176
- * headroom lock instead of stranding every future sender behind it.
177
- */
178
- private waiterAbortControllers;
179
- private waiterAbortSignal;
180
- /** Rejects all parked headroom waiters (all kinds); the next waiter gets a fresh controller. */
181
- private invalidateDataChannelWaiters;
182
- /** Acquires the per-kind headroom lock, resolving with the unlock function. */
183
- private getBufferHeadroomLock;
149
+ sendDataPacket(packet: DataPacket,
150
+ /** Data-track frames don't come through here — they're sent pre-serialized via {@link sendDataTrackFrame }. */
151
+ kind: Exclude<DataChannelKind, DataChannelKind.DATA_TRACK_LOSSY>): Promise<void>;
184
152
  /**
185
- * Acquires the `kind` headroom lock, waits until the send buffer has room, then releases. The
186
- * common single-send entry point. Callers that need to hold the lock across several sends (the
187
- * resume replay) acquire it via {@link getBufferHeadroomLock} and call
188
- * {@link waitForBufferHeadroomWithoutLock} per message instead.
153
+ * Sends pre-serialized bytes on the data-track channel. This is the one send path that doesn't
154
+ * go through {@link sendDataPacket} Room's `packetAvailable` handler calls it directly with
155
+ * bytes the data-track pipeline already serialized.
156
+ *
157
+ * @internal
189
158
  */
190
- waitForBufferHeadroomWithLock(kind: DataChannelKind): Promise<void>;
159
+ sendDataTrackFrame(bytes: NonSharedUint8Array): Promise<void>;
160
+ private resendReliableMessagesForResume;
161
+ /** The flow-control gate for `kind` — see {@link FlowControlledDataChannel}. */
162
+ private flowControlFor;
191
163
  /**
192
- * Waits until the send buffer for `kind` is at or below the high-water mark (draining, if
193
- * needed, via the `bufferedamountlow` event). Does no locking of its own — the caller must
194
- * already hold the kind's headroom lock (via {@link getBufferHeadroomLock}). The resume replay
195
- * holds the lock across its whole batch and calls this per message so no other sender can
196
- * interleave; the single-send path goes through {@link waitForBufferHeadroomWithLock}.
197
- *
198
- * Serializing through the per-kind lock means that, once the buffer drains, queued callers
199
- * refill it one at a time (up to the high-water mark) rather than all at once and overflowing
200
- * the SCTP send buffer (see livekit/client-sdk-js#1995).
164
+ * Resolves once the caller may send on the `kind` channel see
165
+ * {@link FlowControlledDataChannel.waitForHeadroomWithLock}.
201
166
  */
202
- private waitForBufferHeadroomWithoutLock;
167
+ waitForBufferHeadroom(kind: DataChannelKind): Promise<void>;
203
168
  /**
204
169
  * @internal
205
170
  */
@@ -269,5 +234,4 @@ export interface RegionStrategy {
269
234
  getNextUrl(abortSignal?: AbortSignal): Promise<string | null>;
270
235
  resetAttempts(): void;
271
236
  }
272
- export {};
273
237
  //# sourceMappingURL=RTCEngine.d.ts.map