livekit-client 2.18.0 → 2.18.2

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 (145) 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 +8 -7
  4. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  5. package/dist/livekit-client.esm.mjs +8026 -5883
  6. package/dist/livekit-client.esm.mjs.map +1 -1
  7. package/dist/livekit-client.umd.js +1 -1
  8. package/dist/livekit-client.umd.js.map +1 -1
  9. package/dist/src/api/SignalClient.d.ts +12 -4
  10. package/dist/src/api/SignalClient.d.ts.map +1 -1
  11. package/dist/src/connectionHelper/ConnectionCheck.d.ts +1 -1
  12. package/dist/src/connectionHelper/ConnectionCheck.d.ts.map +1 -1
  13. package/dist/src/e2ee/constants.d.ts.map +1 -1
  14. package/dist/src/e2ee/types.d.ts +6 -0
  15. package/dist/src/e2ee/types.d.ts.map +1 -1
  16. package/dist/src/e2ee/utils.d.ts +2 -1
  17. package/dist/src/e2ee/utils.d.ts.map +1 -1
  18. package/dist/src/e2ee/worker/DataCryptor.d.ts.map +1 -1
  19. package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
  20. package/dist/src/index.d.ts +6 -4
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/room/PCTransport.d.ts +5 -0
  23. package/dist/src/room/PCTransport.d.ts.map +1 -1
  24. package/dist/src/room/PCTransportManager.d.ts +1 -1
  25. package/dist/src/room/PCTransportManager.d.ts.map +1 -1
  26. package/dist/src/room/RTCEngine.d.ts +28 -11
  27. package/dist/src/room/RTCEngine.d.ts.map +1 -1
  28. package/dist/src/room/Room.d.ts +14 -3
  29. package/dist/src/room/Room.d.ts.map +1 -1
  30. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts +5 -1
  31. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
  32. package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts.map +1 -1
  33. package/dist/src/room/data-track/LocalDataTrack.d.ts +28 -5
  34. package/dist/src/room/data-track/LocalDataTrack.d.ts.map +1 -1
  35. package/dist/src/room/data-track/RemoteDataTrack.d.ts +5 -5
  36. package/dist/src/room/data-track/RemoteDataTrack.d.ts.map +1 -1
  37. package/dist/src/room/data-track/depacketizer.d.ts +4 -4
  38. package/dist/src/room/data-track/depacketizer.d.ts.map +1 -1
  39. package/dist/src/room/data-track/frame.d.ts +14 -0
  40. package/dist/src/room/data-track/frame.d.ts.map +1 -1
  41. package/dist/src/room/data-track/incoming/IncomingDataTrackManager.d.ts +19 -11
  42. package/dist/src/room/data-track/incoming/IncomingDataTrackManager.d.ts.map +1 -1
  43. package/dist/src/room/data-track/incoming/pipeline.d.ts +6 -5
  44. package/dist/src/room/data-track/incoming/pipeline.d.ts.map +1 -1
  45. package/dist/src/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +57 -23
  46. package/dist/src/room/data-track/outgoing/OutgoingDataTrackManager.d.ts.map +1 -1
  47. package/dist/src/room/data-track/outgoing/errors.d.ts +16 -6
  48. package/dist/src/room/data-track/outgoing/errors.d.ts.map +1 -1
  49. package/dist/src/room/data-track/outgoing/pipeline.d.ts +7 -6
  50. package/dist/src/room/data-track/outgoing/pipeline.d.ts.map +1 -1
  51. package/dist/src/room/data-track/outgoing/types.d.ts +14 -4
  52. package/dist/src/room/data-track/outgoing/types.d.ts.map +1 -1
  53. package/dist/src/room/data-track/packet/extensions.d.ts.map +1 -1
  54. package/dist/src/room/data-track/packetizer.d.ts +4 -4
  55. package/dist/src/room/data-track/packetizer.d.ts.map +1 -1
  56. package/dist/src/room/data-track/track-interfaces.d.ts +1 -1
  57. package/dist/src/room/data-track/track-interfaces.d.ts.map +1 -1
  58. package/dist/src/room/data-track/types.d.ts +6 -1
  59. package/dist/src/room/data-track/types.d.ts.map +1 -1
  60. package/dist/src/room/events.d.ts +24 -3
  61. package/dist/src/room/events.d.ts.map +1 -1
  62. package/dist/src/room/participant/LocalParticipant.d.ts +12 -1
  63. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  64. package/dist/src/room/participant/RemoteParticipant.d.ts +13 -0
  65. package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
  66. package/dist/src/room/utils.d.ts +1 -0
  67. package/dist/src/room/utils.d.ts.map +1 -1
  68. package/dist/src/utils/deferrable-map.d.ts +32 -0
  69. package/dist/src/utils/deferrable-map.d.ts.map +1 -0
  70. package/dist/src/utils/serializer.d.ts +48 -0
  71. package/dist/src/utils/serializer.d.ts.map +1 -0
  72. package/dist/ts4.2/api/SignalClient.d.ts +12 -4
  73. package/dist/ts4.2/connectionHelper/ConnectionCheck.d.ts +2 -1
  74. package/dist/ts4.2/e2ee/types.d.ts +6 -0
  75. package/dist/ts4.2/e2ee/utils.d.ts +2 -1
  76. package/dist/ts4.2/index.d.ts +7 -4
  77. package/dist/ts4.2/room/PCTransport.d.ts +5 -0
  78. package/dist/ts4.2/room/PCTransportManager.d.ts +1 -1
  79. package/dist/ts4.2/room/RTCEngine.d.ts +28 -11
  80. package/dist/ts4.2/room/Room.d.ts +14 -3
  81. package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +5 -1
  82. package/dist/ts4.2/room/data-track/LocalDataTrack.d.ts +27 -4
  83. package/dist/ts4.2/room/data-track/RemoteDataTrack.d.ts +4 -4
  84. package/dist/ts4.2/room/data-track/depacketizer.d.ts +4 -4
  85. package/dist/ts4.2/room/data-track/frame.d.ts +14 -0
  86. package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +21 -10
  87. package/dist/ts4.2/room/data-track/incoming/pipeline.d.ts +6 -5
  88. package/dist/ts4.2/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +57 -23
  89. package/dist/ts4.2/room/data-track/outgoing/errors.d.ts +16 -6
  90. package/dist/ts4.2/room/data-track/outgoing/pipeline.d.ts +7 -6
  91. package/dist/ts4.2/room/data-track/outgoing/types.d.ts +14 -4
  92. package/dist/ts4.2/room/data-track/packetizer.d.ts +4 -4
  93. package/dist/ts4.2/room/data-track/track-interfaces.d.ts +1 -1
  94. package/dist/ts4.2/room/data-track/types.d.ts +6 -1
  95. package/dist/ts4.2/room/events.d.ts +24 -3
  96. package/dist/ts4.2/room/participant/LocalParticipant.d.ts +12 -1
  97. package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +13 -0
  98. package/dist/ts4.2/room/utils.d.ts +1 -0
  99. package/dist/ts4.2/utils/deferrable-map.d.ts +32 -0
  100. package/dist/ts4.2/utils/serializer.d.ts +48 -0
  101. package/package.json +1 -1
  102. package/src/api/SignalClient.test.ts +9 -4
  103. package/src/api/SignalClient.ts +116 -9
  104. package/src/connectionHelper/ConnectionCheck.ts +1 -1
  105. package/src/e2ee/constants.ts +1 -0
  106. package/src/e2ee/types.ts +6 -0
  107. package/src/e2ee/utils.ts +4 -3
  108. package/src/e2ee/worker/DataCryptor.ts +1 -4
  109. package/src/e2ee/worker/FrameCryptor.ts +1 -4
  110. package/src/e2ee/worker/ParticipantKeyHandler.ts +1 -1
  111. package/src/index.ts +13 -4
  112. package/src/room/PCTransport.ts +41 -1
  113. package/src/room/PCTransportManager.ts +1 -1
  114. package/src/room/RTCEngine.ts +312 -125
  115. package/src/room/Room.ts +168 -35
  116. package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +26 -2
  117. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +7 -7
  118. package/src/room/data-track/LocalDataTrack.ts +83 -10
  119. package/src/room/data-track/RemoteDataTrack.ts +7 -9
  120. package/src/room/data-track/depacketizer.ts +21 -12
  121. package/src/room/data-track/frame.ts +28 -2
  122. package/src/room/data-track/incoming/IncomingDataTrackManager.test.ts +58 -73
  123. package/src/room/data-track/incoming/IncomingDataTrackManager.ts +139 -80
  124. package/src/room/data-track/incoming/pipeline.ts +29 -24
  125. package/src/room/data-track/outgoing/OutgoingDataTrackManager.test.ts +225 -32
  126. package/src/room/data-track/outgoing/OutgoingDataTrackManager.ts +150 -75
  127. package/src/room/data-track/outgoing/errors.ts +36 -7
  128. package/src/room/data-track/outgoing/pipeline.ts +23 -17
  129. package/src/room/data-track/outgoing/types.ts +12 -3
  130. package/src/room/data-track/packet/extensions.ts +17 -22
  131. package/src/room/data-track/packet/index.test.ts +22 -33
  132. package/src/room/data-track/packetizer.test.ts +2 -2
  133. package/src/room/data-track/packetizer.ts +4 -4
  134. package/src/room/data-track/track-interfaces.ts +1 -1
  135. package/src/room/data-track/types.ts +21 -1
  136. package/src/room/events.ts +26 -1
  137. package/src/room/participant/LocalParticipant.ts +74 -8
  138. package/src/room/participant/RemoteParticipant.ts +25 -0
  139. package/src/room/utils.ts +4 -0
  140. package/src/utils/deferrable-map.ts +109 -0
  141. package/src/utils/serializer.ts +72 -0
  142. package/dist/src/room/data-track/e2ee.d.ts +0 -12
  143. package/dist/src/room/data-track/e2ee.d.ts.map +0 -1
  144. package/dist/ts4.2/room/data-track/e2ee.d.ts +0 -12
  145. package/src/room/data-track/e2ee.ts +0 -15
@@ -1,18 +1,36 @@
1
- import type { DataTrackFrame } from './frame';
1
+ import { type StructuredLogger } from '../../logger';
2
+ import { type DataTrackFrame } from './frame';
3
+ import type { DataTrackHandle } from './handle';
2
4
  import type OutgoingDataTrackManager from './outgoing/OutgoingDataTrackManager';
5
+ import { DataTrackPushFrameError } from './outgoing/errors';
6
+ import type { DataTrackOptions } from './outgoing/types';
3
7
  import { type IDataTrack, type ILocalTrack } from './track-interfaces';
4
8
  import type { DataTrackInfo } from './types';
5
9
  export default class LocalDataTrack implements ILocalTrack, IDataTrack {
6
10
  readonly trackSymbol: symbol;
7
11
  readonly isLocal = true;
8
12
  readonly typeSymbol: symbol;
9
- info: DataTrackInfo;
13
+ protected options: DataTrackOptions;
14
+ /** Represents the currently active {@link DataTrackHandle} for the publication. */
15
+ protected handle: DataTrackHandle | null;
10
16
  protected manager: OutgoingDataTrackManager;
17
+ protected log: StructuredLogger;
11
18
  /** @internal */
12
- constructor(info: DataTrackInfo, manager: OutgoingDataTrackManager);
19
+ constructor(options: DataTrackOptions, manager: OutgoingDataTrackManager);
20
+ /** @internal */
21
+ static withExplicitHandle(options: DataTrackOptions, manager: OutgoingDataTrackManager, handle: DataTrackHandle): LocalDataTrack;
22
+ /** Metrics about the data track publication. */
23
+ get info(): DataTrackInfo | undefined;
13
24
  /** The raw descriptor from the manager containing the internal state for this local track. */
14
25
  protected get descriptor(): import("./outgoing/OutgoingDataTrackManager").Descriptor | null;
15
- isPublished(): boolean;
26
+ /**
27
+ * Publish the track to the SFU. This must be done before calling {@link tryPush} for the first time.
28
+ * @internal
29
+ * */
30
+ publish(signal?: AbortSignal): Promise<void>;
31
+ isPublished(): this is {
32
+ info: DataTrackInfo;
33
+ };
16
34
  /** Try pushing a frame to subscribers of the track.
17
35
  *
18
36
  * Pushing a frame can fail for several reasons:
@@ -20,6 +38,11 @@ export default class LocalDataTrack implements ILocalTrack, IDataTrack {
20
38
  * - The track has been unpublished by the local participant or SFU
21
39
  * - The room is no longer connected
22
40
  */
23
- tryPush(payload: DataTrackFrame['payload']): import("@livekit/throws-transformer/throws").Throws<void, import("./outgoing/errors").DataTrackPushFrameError<import("./outgoing/errors").DataTrackPushFrameErrorReason.Dropped> | import("./outgoing/errors").DataTrackPushFrameError<import("./outgoing/errors").DataTrackPushFrameErrorReason.TrackUnpublished>>;
41
+ tryPush(frame: DataTrackFrame): Promise<import("@livekit/throws-transformer/throws").Throws<void, DataTrackPushFrameError<import("./outgoing/errors").DataTrackPushFrameErrorReason.TrackUnpublished> | DataTrackPushFrameError<import("./outgoing/errors").DataTrackPushFrameErrorReason.Dropped>>>;
42
+ /**
43
+ * Unpublish the track from the SFU. Once this is called, any further calls to {@link tryPush}
44
+ * will fail.
45
+ * */
46
+ unpublish(): Promise<void>;
24
47
  }
25
48
  //# sourceMappingURL=LocalDataTrack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDataTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/data-track/LocalDataTrack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,wBAAwB,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,WAAW,EAAE,UAAU;IACpE,QAAQ,CAAC,WAAW,SAAe;IAEnC,QAAQ,CAAC,OAAO,QAAQ;IAExB,QAAQ,CAAC,UAAU,SAAmB;IAEtC,IAAI,EAAE,aAAa,CAAC;IAEpB,SAAS,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAE5C,gBAAgB;gBACJ,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,wBAAwB;IAKlE,8FAA8F;IAC9F,SAAS,KAAK,UAAU,oEAEvB;IAED,WAAW;IAIX;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC;CAS3C"}
1
+ {"version":3,"file":"LocalDataTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/data-track/LocalDataTrack.ts"],"names":[],"mappings":"AAAA,OAAY,EAAe,KAAK,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,wBAAwB,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,WAAW,EAAE,UAAU;IACpE,QAAQ,CAAC,WAAW,SAAe;IAEnC,QAAQ,CAAC,OAAO,QAAQ;IAExB,QAAQ,CAAC,UAAU,SAAmB;IAEtC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAEpC,mFAAmF;IACnF,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAQ;IAEhD,SAAS,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAO;IAEtC,gBAAgB;gBACJ,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,wBAAwB;IAOxE,gBAAgB;IAChB,MAAM,CAAC,kBAAkB,CACvB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,eAAe;IAOzB,gDAAgD;IAChD,IAAI,IAAI,8BAOP;IAED,8FAA8F;IAC9F,SAAS,KAAK,UAAU,oEAEvB;IAED;;;SAGK;IACC,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW;IASlC,WAAW,IAAI,IAAI,IAAI;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE;IAM9C;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,cAAc;IAgB7B;;;SAGK;IACC,SAAS;CAehB"}
@@ -1,16 +1,16 @@
1
1
  import type Participant from '../participant/Participant';
2
- import type { DataTrackFrame } from './frame';
2
+ import { type DataTrackFrame } from './frame';
3
3
  import type IncomingDataTrackManager from './incoming/IncomingDataTrackManager';
4
4
  import { type IDataTrack, type IRemoteTrack } from './track-interfaces';
5
5
  import { type DataTrackInfo } from './types';
6
6
  type RemoteDataTrackOptions = {
7
7
  publisherIdentity: Participant['identity'];
8
8
  };
9
- export type RemoteDataTrackSubscribeOptions = {
9
+ export type DataTrackSubscribeOptions = {
10
10
  signal?: AbortSignal;
11
11
  /** The number of {@link DataTrackFrame}s to hold in the ReadableStream before disgarding extra
12
- * frames. Defaults to 4, but this may not be good enough for especially high frequency data. */
13
- highWaterMark?: number;
12
+ * frames. Defaults to 16, but this may not be good enough for especially high frequency data. */
13
+ bufferSize?: number;
14
14
  };
15
15
  export default class RemoteDataTrack implements IRemoteTrack, IDataTrack {
16
16
  readonly trackSymbol: symbol;
@@ -40,7 +40,7 @@ export default class RemoteDataTrack implements IRemoteTrack, IDataTrack {
40
40
  * Note that newly created subscriptions only receive frames published after
41
41
  * the initial subscription is established.
42
42
  */
43
- subscribe(options?: RemoteDataTrackSubscribeOptions): Promise<ReadableStream<DataTrackFrame>>;
43
+ subscribe(options?: DataTrackSubscribeOptions): ReadableStream<DataTrackFrame>;
44
44
  }
45
45
  export {};
46
46
  //# sourceMappingURL=RemoteDataTrack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteDataTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/data-track/RemoteDataTrack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,wBAAwB,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,sBAAsB,GAAG;IAC5B,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;oGACgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,YAAY,EAAE,UAAU;IACtE,QAAQ,CAAC,WAAW,SAAe;IAEnC,QAAQ,CAAC,OAAO,SAAS;IAEzB,QAAQ,CAAC,UAAU,SAAmB;IAEtC,IAAI,EAAE,aAAa,CAAC;IAEpB,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAE3C,SAAS,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAE5C,gBAAgB;gBAEd,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,sBAAsB;IAOjC;;;;;;;;;;;;;;;;;;OAkBG;IACG,SAAS,CACb,OAAO,CAAC,EAAE,+BAA+B,GACxC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;CAa3C"}
1
+ {"version":3,"file":"RemoteDataTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/data-track/RemoteDataTrack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,wBAAwB,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,sBAAsB,GAAG;IAC5B,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;qGACiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,YAAY,EAAE,UAAU;IACtE,QAAQ,CAAC,WAAW,SAAe;IAEnC,QAAQ,CAAC,OAAO,SAAS;IAEzB,QAAQ,CAAC,UAAU,SAAmB;IAEtC,IAAI,EAAE,aAAa,CAAC;IAEpB,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAE3C,SAAS,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAE5C,gBAAgB;gBAEd,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,sBAAsB;IAOjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,cAAc,CAAC,cAAc,CAAC;CAa/E"}
@@ -1,6 +1,6 @@
1
1
  import { type Throws } from '@livekit/throws-transformer/throws';
2
2
  import { LivekitReasonedError } from '../errors';
3
- import { type DataTrackFrame } from './frame';
3
+ import { type DataTrackFrameInternal } from './frame';
4
4
  import { DataTrackPacket } from './packet';
5
5
  /** An error indicating a frame was dropped. */
6
6
  export declare class DataTrackDepacketizerDropError<Reason extends DataTrackDepacketizerDropReason = DataTrackDepacketizerDropReason> extends LivekitReasonedError<Reason> {
@@ -11,7 +11,7 @@ export declare class DataTrackDepacketizerDropError<Reason extends DataTrackDepa
11
11
  constructor(message: string, reason: Reason, frameNumber: number, options?: {
12
12
  cause?: unknown;
13
13
  });
14
- static interrupted(frameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.Interrupted>;
14
+ static interrupted(frameNumber: number, newFrameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.Interrupted>;
15
15
  static unknownFrame(frameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.UnknownFrame>;
16
16
  static bufferFull(frameNumber: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.BufferFull>;
17
17
  static incomplete(frameNumber: number, receivedPackets: number, expectedPackets: number): DataTrackDepacketizerDropError<DataTrackDepacketizerDropReason.Incomplete>;
@@ -35,9 +35,9 @@ export default class DataTrackDepacketizer {
35
35
  /** Should be repeatedly called with received {@link DataTrackPacket}s - intermediate calls
36
36
  * aggregate the packet's state internally, and return null.
37
37
  *
38
- * Once this method is called with the final packet to form a frame, a new {@link DataTrackFrame}
38
+ * Once this method is called with the final packet to form a frame, a new {@link DataTrackFrameInternal}
39
39
  * is returned.*/
40
- push(packet: DataTrackPacket, options?: PushOptions): Throws<DataTrackFrame | null, DataTrackDepacketizerDropError>;
40
+ push(packet: DataTrackPacket, options?: PushOptions): Throws<DataTrackFrameInternal | null, DataTrackDepacketizerDropError>;
41
41
  reset(): void;
42
42
  private frameFromSingle;
43
43
  /** Begin assembling a new packet. */
@@ -1 +1 @@
1
- {"version":3,"file":"depacketizer.d.ts","sourceRoot":"","sources":["../../../../src/room/data-track/depacketizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAiBxD,+CAA+C;AAC/C,qBAAa,8BAA8B,CACzC,MAAM,SAAS,+BAA+B,GAAG,+BAA+B,CAChF,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,oCAAoC;IAEjD,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAO/F,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM;IAQtC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM;IAQvC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM;IAQrC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAOxF;AAED,sCAAsC;AACtC,oBAAY,+BAA+B;IACzC,WAAW,IAAI;IACf,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,UAAU,IAAI;CACf;AAED,KAAK,WAAW,GAAG;IACjB;kDAC8C;IAC9C,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,qEAAqE;IACrE,MAAM,CAAC,kBAAkB,SAAO;IAEhC,OAAO,CAAC,OAAO,CAA6B;IAE5C;;;;qBAIiB;IACjB,IAAI,CACF,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,8BAA8B,CAAC;IAYhE,KAAK;IAIL,OAAO,CAAC,eAAe;IA8BvB,qCAAqC;IACrC,OAAO,CAAC,YAAY;IAoCpB,0CAA0C;IAC1C,OAAO,CAAC,aAAa;IA8CrB,4CAA4C;IAC5C,OAAO,CAAC,QAAQ;CAqDjB"}
1
+ {"version":3,"file":"depacketizer.d.ts","sourceRoot":"","sources":["../../../../src/room/data-track/depacketizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAiBxD,+CAA+C;AAC/C,qBAAa,8BAA8B,CACzC,MAAM,SAAS,+BAA+B,GAAG,+BAA+B,CAChF,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,oCAAoC;IAEjD,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAO/F,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAQ9D,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM;IAQvC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM;IAQrC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;CAOxF;AAED,sCAAsC;AACtC,oBAAY,+BAA+B;IACzC,WAAW,IAAI;IACf,YAAY,IAAI;IAChB,UAAU,IAAI;IACd,UAAU,IAAI;CACf;AAED,KAAK,WAAW,GAAG;IACjB;kDAC8C;IAC9C,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,qEAAqE;IACrE,MAAM,CAAC,kBAAkB,SAAO;IAEhC,OAAO,CAAC,OAAO,CAA6B;IAE5C;;;;qBAIiB;IACjB,IAAI,CACF,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,sBAAsB,GAAG,IAAI,EAAE,8BAA8B,CAAC;IAYxE,KAAK;IAIL,OAAO,CAAC,eAAe;IAiCvB,qCAAqC;IACrC,OAAO,CAAC,YAAY;IAuCpB,0CAA0C;IAC1C,OAAO,CAAC,aAAa;IAiDrB,4CAA4C;IAC5C,OAAO,CAAC,QAAQ;CAqDjB"}
@@ -1,7 +1,21 @@
1
1
  import { DataTrackExtensions } from './packet/extensions';
2
2
  /** A pair of payload bytes and packet extensions which can be fed into a {@link DataTrackPacketizer}. */
3
3
  export type DataTrackFrame = {
4
+ payload: Uint8Array;
5
+ userTimestamp?: bigint;
6
+ };
7
+ /** An internal representation o data track frame which contains all SFU metadata. */
8
+ export type DataTrackFrameInternal = {
4
9
  payload: Uint8Array;
5
10
  extensions: DataTrackExtensions;
6
11
  };
12
+ export declare const DataTrackFrameInternal: {
13
+ from(frame: DataTrackFrame): {
14
+ payload: Uint8Array<ArrayBufferLike>;
15
+ extensions: DataTrackExtensions;
16
+ };
17
+ /** Converts from a DataTrackFrameInternal -> DataTrackFrame. Some internal information is
18
+ * discarded like e2ee encrption extension data. */
19
+ lossyIntoFrame(frame: DataTrackFrameInternal): DataTrackFrame;
20
+ };
7
21
  //# sourceMappingURL=frame.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../../src/room/data-track/frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,yGAAyG;AACzG,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,mBAAmB,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../../src/room/data-track/frame.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAmC,MAAM,qBAAqB,CAAC;AAE3F,yGAAyG;AACzG,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,sBAAsB;gBACrB,cAAc;;;;IAU1B;uDACmD;0BAC7B,sBAAsB,GAAG,cAAc;CAM9D,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { Throws } from '@livekit/throws-transformer/throws';
2
2
  import type TypedEmitter from 'typed-emitter';
3
+ import type { BaseE2EEManager } from '../../../e2ee/E2eeManager';
3
4
  import type Participant from '../../participant/Participant';
4
5
  import type RemoteParticipant from '../../participant/RemoteParticipant';
5
6
  import { DataTrackDepacketizerDropError } from '../depacketizer';
6
- import type { DecryptionProvider } from '../e2ee';
7
- import type { DataTrackFrame } from '../frame';
7
+ import { type DataTrackFrame } from '../frame';
8
8
  import { DataTrackHandle } from '../handle';
9
9
  import { type DataTrackInfo, type DataTrackSid } from '../types';
10
10
  import { DataTrackSubscribeError } from './errors';
@@ -14,20 +14,20 @@ export type DataTrackIncomingManagerCallbacks = {
14
14
  sfuUpdateSubscription: (event: EventSfuUpdateSubscription) => void;
15
15
  /** A track has been published by a remote participant and is available to be
16
16
  * subscribed to. */
17
- trackAvailable: (event: EventTrackAvailable) => void;
17
+ trackPublished: (event: EventTrackAvailable) => void;
18
18
  /** A track has been unpublished by a remote participant and can no longer be subscribed to. */
19
- trackUnavailable: (event: EventTrackUnavailable) => void;
19
+ trackUnpublished: (event: EventTrackUnavailable) => void;
20
20
  };
21
21
  type IncomingDataTrackManagerOptions = {
22
22
  /** Provider to use for decrypting incoming frame payloads.
23
23
  * If none, remote tracks using end-to-end encryption will not be available
24
24
  * for subscription.
25
25
  */
26
- decryptionProvider: DecryptionProvider | null;
26
+ e2eeManager?: BaseE2EEManager;
27
27
  };
28
28
  declare const IncomingDataTrackManager_base: new () => TypedEmitter<DataTrackIncomingManagerCallbacks>;
29
29
  export default class IncomingDataTrackManager extends IncomingDataTrackManager_base {
30
- private decryptionProvider;
30
+ private e2eeManager;
31
31
  /** Mapping between track SID and descriptor. */
32
32
  private descriptors;
33
33
  /** Mapping between subscriber handle and track SID.
@@ -38,6 +38,17 @@ export default class IncomingDataTrackManager extends IncomingDataTrackManager_b
38
38
  */
39
39
  private subscriptionHandles;
40
40
  constructor(options?: IncomingDataTrackManagerOptions);
41
+ /** @internal */
42
+ updateE2eeManager(e2eeManager: BaseE2EEManager | null): void;
43
+ /** Allocates a ReadableStream which emits when a new {@link DataTrackFrame} is received from the
44
+ * SFU. The SFU subscription is initiated lazily when the stream is created.
45
+ *
46
+ * @returns A tuple of the ReadableStream and a Promise that resolves once the SFU subscription
47
+ * is fully established / the stream is ready to receive frames.
48
+ *
49
+ * @internal
50
+ **/
51
+ openSubscriptionStream(sid: DataTrackSid, signal?: AbortSignal, bufferSize?: number): [ReadableStream<DataTrackFrame>, Promise<Throws<void, DataTrackSubscribeError>>];
41
52
  /** Client requested to subscribe to a data track.
42
53
  *
43
54
  * This is sent when the user calls {@link RemoteDataTrack.subscribe}.
@@ -46,10 +57,7 @@ export default class IncomingDataTrackManager extends IncomingDataTrackManager_b
46
57
  * requests simply attach an additional receiver to the broadcast channel, allowing them to consume
47
58
  * frames from the existing subscription pipeline.
48
59
  */
49
- subscribeRequest(sid: DataTrackSid, signal?: AbortSignal, highWaterMark?: number): Promise<Throws<ReadableStream<DataTrackFrame>, DataTrackSubscribeError>>;
50
- /** Allocates a ReadableStream which emits when a new {@link DataTrackFrame} is received from the
51
- * SFU. */
52
- private createReadableStream;
60
+ subscribeRequest(sid: DataTrackSid, signal?: AbortSignal): Promise<Throws<void, DataTrackSubscribeError>>;
53
61
  /**
54
62
  * Get information about all currently subscribed tracks.
55
63
  * @internal */
@@ -79,7 +87,7 @@ export default class IncomingDataTrackManager extends IncomingDataTrackManager_b
79
87
  mapping: Map<DataTrackHandle, DataTrackSid>): void;
80
88
  private registerSubscriberHandle;
81
89
  /** Packet has been received over the transport. */
82
- packetReceived(bytes: Uint8Array): Throws<void, DataTrackDepacketizerDropError>;
90
+ packetReceived(bytes: Uint8Array): Promise<Throws<void, DataTrackDepacketizerDropError>>;
83
91
  /** Resend all subscription updates.
84
92
  *
85
93
  * This must be sent after a full reconnect to ensure the SFU knows which
@@ -1 +1 @@
1
- {"version":3,"file":"IncomingDataTrackManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/incoming/IncomingDataTrackManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAG9C,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,iBAAiB,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AAIjB,MAAM,MAAM,iCAAiC,GAAG;IAC9C,2EAA2E;IAC3E,qBAAqB,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAEnE;wBACoB;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAErD,+FAA+F;IAC/F,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC1D,CAAC;AA8BF,KAAK,+BAA+B,GAAG;IACrC;;;OAGG;IACH,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC/C,CAAC;6CASqE,UAAU,YAAY,CAAC,iCAAiC,CAAC;AAAhI,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,6BAA2E;IAC/H,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,gDAAgD;IAChD,OAAO,CAAC,WAAW,CAA0D;IAE7E;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAA4C;gBAE3D,OAAO,CAAC,EAAE,+BAA+B;IAKrD;;;;;;;OAOG;IACG,gBAAgB,CACpB,GAAG,EAAE,YAAY,EACjB,MAAM,CAAC,EAAE,WAAW,EACpB,aAAa,SAA0C,GACtD,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC,CAAC;IA6G3E;cACU;IACV,OAAO,CAAC,oBAAoB;IAgD5B;;mBAEe;IACT,eAAe;IAiBrB,yDAAyD;IACzD,kBAAkB,CAAC,GAAG,EAAE,YAAY;IA4BpC;;;;;;;;OAQG;IACG,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IA0B9F;;mBAEe;IACT,iBAAiB;IAIjB,oBAAoB,CAAC,iBAAiB,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,aAAa;IAgB1F,sBAAsB,CAAC,GAAG,EAAE,YAAY;IAexC,oFAAoF;IACpF,4BAA4B;IAC1B;oCACgC;IAChC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC;IAO7C,OAAO,CAAC,wBAAwB;IAuChC,mDAAmD;IACnD,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,8BAA8B,CAAC;IA4C/E;;;;OAIG;IACH,yBAAyB;IASzB;oBACgB;IAChB,mCAAmC,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,UAAU,CAAC;IAkB5F,sDAAsD;IACtD,QAAQ;CAaT"}
1
+ {"version":3,"file":"IncomingDataTrackManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/incoming/IncomingDataTrackManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Throws } from '@livekit/throws-transformer/throws';
2
+ import type { BaseE2EEManager } from '../../../e2ee/E2eeManager';
2
3
  import { DataTrackDepacketizerDropError } from '../depacketizer';
3
- import type { DecryptionProvider } from '../e2ee';
4
- import type { DataTrackFrame } from '../frame';
4
+ import type { DataTrackFrameInternal } from '../frame';
5
5
  import { DataTrackPacket } from '../packet';
6
6
  import { type DataTrackInfo } from '../types';
7
7
  /**
@@ -10,20 +10,21 @@ import { type DataTrackInfo } from '../types';
10
10
  type Options = {
11
11
  info: DataTrackInfo;
12
12
  publisherIdentity: string;
13
- decryptionProvider: DecryptionProvider | null;
13
+ e2eeManager: BaseE2EEManager | null;
14
14
  };
15
15
  /**
16
16
  * Pipeline for an individual data track subscription.
17
17
  */
18
18
  export default class IncomingDataTrackPipeline {
19
19
  private publisherIdentity;
20
- private e2eeProvider;
20
+ private e2eeManager;
21
21
  private depacketizer;
22
22
  /**
23
23
  * Creates a new pipeline with the given options.
24
24
  */
25
25
  constructor(options: Options);
26
- processPacket(packet: DataTrackPacket): Throws<DataTrackFrame | null, DataTrackDepacketizerDropError>;
26
+ updateE2eeManager(e2eeManager: BaseE2EEManager | null): void;
27
+ processPacket(packet: DataTrackPacket): Promise<Throws<DataTrackFrameInternal | null, DataTrackDepacketizerDropError>>;
27
28
  /**
28
29
  * Depacketize the given frame, log if a drop occurs.
29
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/incoming/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAA8B,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C;;GAEG;AACH,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,YAAY,CAAwB;IAE5C;;OAEG;gBACS,OAAO,EAAE,OAAO;IAgB5B,aAAa,CACX,MAAM,EAAE,eAAe,GACtB,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,8BAA8B,CAAC;IAchE;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,eAAe;CA8BxB"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/incoming/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAA8B,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C;;GAEG;AACH,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,YAAY,CAAwB;IAE5C;;OAEG;gBACS,OAAO,EAAE,OAAO;IAgB5B,iBAAiB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAI/C,aAAa,CACjB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,MAAM,CAAC,sBAAsB,GAAG,IAAI,EAAE,8BAA8B,CAAC,CAAC;IAcjF;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;YACW,eAAe;CA+B9B"}
@@ -1,20 +1,22 @@
1
1
  import type { Throws } from '@livekit/throws-transformer/throws';
2
2
  import type TypedEmitter from 'typed-emitter';
3
+ import type { BaseE2EEManager } from '../../../e2ee/E2eeManager';
3
4
  import { Future } from '../../utils';
4
- import LocalDataTrack from '../LocalDataTrack';
5
- import { type EncryptionProvider } from '../e2ee';
5
+ import type { DataTrackFrameInternal } from '../frame';
6
6
  import { DataTrackHandle } from '../handle';
7
7
  import { type DataTrackInfo } from '../types';
8
- import { DataTrackPublishError, DataTrackPublishErrorReason, DataTrackPushFrameError, DataTrackPushFrameErrorReason } from './errors';
8
+ import { DataTrackPublishError, DataTrackPushFrameError, DataTrackPushFrameErrorReason } from './errors';
9
9
  import DataTrackOutgoingPipeline from './pipeline';
10
- import { type DataTrackOptions, type EventPacketsAvailable, type EventSfuPublishRequest, type EventSfuUnpublishRequest, type SfuPublishResponseResult } from './types';
10
+ import { type DataTrackOptions, type EventPacketAvailable, type EventSfuPublishRequest, type EventSfuUnpublishRequest, type EventTrackPublished, type EventTrackUnpublished, type SfuPublishResponseResult } from './types';
11
11
  export type PendingDescriptor = {
12
12
  type: 'pending';
13
- completionFuture: Future<LocalDataTrack, DataTrackPublishError<DataTrackPublishErrorReason.NotAllowed> | DataTrackPublishError<DataTrackPublishErrorReason.DuplicateName> | DataTrackPublishError<DataTrackPublishErrorReason.Timeout> | DataTrackPublishError<DataTrackPublishErrorReason.LimitReached> | DataTrackPublishError<DataTrackPublishErrorReason.Disconnected> | DataTrackPublishError<DataTrackPublishErrorReason.Cancelled>>;
13
+ /** Resolves when the descriptor is fully published. */
14
+ completionFuture: Future<void, DataTrackPublishError>;
14
15
  };
15
16
  export type ActiveDescriptor = {
16
17
  type: 'active';
17
18
  info: DataTrackInfo;
19
+ publishState: 'published' | 'republishing' | 'unpublished';
18
20
  pipeline: DataTrackOutgoingPipeline;
19
21
  /** Resolves when the descriptor is unpublished. */
20
22
  unpublishingFuture: Future<void, never>;
@@ -22,55 +24,87 @@ export type ActiveDescriptor = {
22
24
  export type Descriptor = PendingDescriptor | ActiveDescriptor;
23
25
  export declare const Descriptor: {
24
26
  pending(): PendingDescriptor;
25
- active(info: DataTrackInfo, encryptionProvider: EncryptionProvider | null): ActiveDescriptor;
27
+ active(info: DataTrackInfo, e2eeManager: BaseE2EEManager | null): ActiveDescriptor;
26
28
  };
27
29
  export type DataTrackOutgoingManagerCallbacks = {
28
30
  /** Request sent to the SFU to publish a track. */
29
31
  sfuPublishRequest: (event: EventSfuPublishRequest) => void;
30
32
  /** Request sent to the SFU to unpublish a track. */
31
33
  sfuUnpublishRequest: (event: EventSfuUnpublishRequest) => void;
32
- /** Serialized packets are ready to be sent over the transport. */
33
- packetsAvailable: (event: EventPacketsAvailable) => void;
34
+ /** A serialized packet is ready to be sent over the transport. */
35
+ packetAvailable: (event: EventPacketAvailable) => void;
36
+ /** A new {@link LocalDataTrack} has been published */
37
+ trackPublished: (event: EventTrackPublished) => void;
38
+ /** A {@link LocalDataTrack} has been unpublished */
39
+ trackUnpublished: (event: EventTrackUnpublished) => void;
34
40
  };
35
41
  type OutgoingDataTrackManagerOptions = {
36
42
  /**
37
43
  * Provider to use for encrypting outgoing frame payloads.
38
44
  *
39
- * If none, end-to-end encryption will be disabled for all published tracks.
45
+ * If null, end-to-end encryption will be disabled for all published tracks.
40
46
  */
41
- encryptionProvider?: EncryptionProvider;
47
+ e2eeManager?: BaseE2EEManager;
42
48
  };
43
49
  declare const OutgoingDataTrackManager_base: new () => TypedEmitter<DataTrackOutgoingManagerCallbacks>;
44
50
  export default class OutgoingDataTrackManager extends OutgoingDataTrackManager_base {
45
- private encryptionProvider;
51
+ private e2eeManager;
46
52
  private handleAllocator;
47
53
  private descriptors;
48
54
  constructor(options?: OutgoingDataTrackManagerOptions);
49
55
  static withDescriptors(descriptors: Map<DataTrackHandle, Descriptor>): OutgoingDataTrackManager;
56
+ /** @internal */
57
+ updateE2eeManager(e2eeManager: BaseE2EEManager | null): void;
50
58
  /**
51
59
  * Used by attached {@link LocalDataTrack} instances to query their associated descriptor info.
52
60
  * @internal
53
61
  */
54
62
  getDescriptor(handle: DataTrackHandle): Descriptor | null;
55
- createLocalDataTrack(handle: DataTrackHandle): LocalDataTrack | null;
56
63
  /** Used by attached {@link LocalDataTrack} instances to broadcast data track packets to other
57
64
  * subscribers.
58
65
  * @internal
59
66
  */
60
- tryProcessAndSend(handle: DataTrackHandle, payload: Uint8Array): Throws<void, DataTrackPushFrameError<DataTrackPushFrameErrorReason.Dropped> | DataTrackPushFrameError<DataTrackPushFrameErrorReason.TrackUnpublished>>;
61
- /** Client requested to publish a track. */
62
- publishRequest(options: DataTrackOptions, signal?: AbortSignal): Promise<LocalDataTrack & {
63
- readonly __throws?: DataTrackPublishError<DataTrackPublishErrorReason.NotAllowed> | DataTrackPublishError<DataTrackPublishErrorReason.DuplicateName> | DataTrackPublishError<DataTrackPublishErrorReason.Timeout> | DataTrackPublishError<DataTrackPublishErrorReason.LimitReached> | DataTrackPublishError<DataTrackPublishErrorReason.Disconnected> | DataTrackPublishError<DataTrackPublishErrorReason.Cancelled> | undefined;
64
- }>;
65
- /** Get information about all currently published tracks. */
66
- queryPublished(): Promise<DataTrackInfo[]>;
67
- /** Client request to unpublish a track. */
67
+ tryProcessAndSend(handle: DataTrackHandle, frame: DataTrackFrameInternal): Promise<Throws<void, DataTrackPushFrameError<DataTrackPushFrameErrorReason.Dropped> | DataTrackPushFrameError<DataTrackPushFrameErrorReason.TrackUnpublished>>>;
68
+ /**
69
+ * Client requested to publish a track.
70
+ *
71
+ * If the LiveKit server is too old and doesn't support data tracks, a
72
+ * {@link DataTrackPublishError#timeout} will be thrown.
73
+ *
74
+ * @internal
75
+ **/
76
+ publishRequest(options: DataTrackOptions, signal?: AbortSignal): Promise<Throws<DataTrackHandle, DataTrackPublishError>>;
77
+ /**
78
+ * Get information about all currently published tracks.
79
+ * @internal
80
+ **/
81
+ queryPublished(): DataTrackInfo[];
82
+ /**
83
+ * Client request to unpublish a track.
84
+ * @internal
85
+ **/
68
86
  unpublishRequest(handle: DataTrackHandle): Promise<void>;
69
- /** SFU responded to a request to publish a data track. */
87
+ /**
88
+ * SFU responded to a request to publish a data track.
89
+ * @internal
90
+ **/
70
91
  receivedSfuPublishResponse(handle: DataTrackHandle, result: SfuPublishResponseResult): void;
71
- /** SFU notification that a track has been unpublished. */
92
+ /**
93
+ * SFU notification that a track has been unpublished.
94
+ * @internal
95
+ **/
72
96
  receivedSfuUnpublishResponse(handle: DataTrackHandle): void;
73
- /** Shuts down the manager and all associated tracks. */
97
+ /** Republish all tracks.
98
+ *
99
+ * This must be sent after a full reconnect in order for existing publications
100
+ * to be recognized by the SFU. Each republished track will be assigned a new SID.
101
+ * @internal
102
+ */
103
+ sfuWillRepublishTracks(): void;
104
+ /**
105
+ * Shuts down the manager and all associated tracks.
106
+ * @internal
107
+ **/
74
108
  shutdown(): Promise<void>;
75
109
  }
76
110
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"OutgoingDataTrackManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/outgoing/OutgoingDataTrackManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutgoingDataTrackManager.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/outgoing/OutgoingDataTrackManager.ts"],"names":[],"mappings":"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"}
@@ -15,19 +15,29 @@ export declare enum DataTrackPublishErrorReason {
15
15
  LimitReached = 3,
16
16
  /** Cannot publish data track when the room is disconnected. */
17
17
  Disconnected = 4,
18
- Cancelled = 5
18
+ Cancelled = 5,
19
+ /** The name requested is not able to be used when creating the data track. */
20
+ InvalidName = 6,
21
+ /** There was an error publishing, but it was not something that could be sorted into a known
22
+ * category. */
23
+ Unknown = 7
19
24
  }
20
- export declare class DataTrackPublishError<Reason extends DataTrackPublishErrorReason> extends LivekitReasonedError<Reason> {
25
+ export declare class DataTrackPublishError<Reason extends DataTrackPublishErrorReason = DataTrackPublishErrorReason> extends LivekitReasonedError<Reason> {
21
26
  readonly name = "DataTrackPublishError";
22
27
  reason: Reason;
23
28
  reasonName: string;
29
+ /** Underling message from the SFU, if one was provided */
30
+ rawMessage?: string;
24
31
  constructor(message: string, reason: Reason, options?: {
32
+ rawMessage?: string;
25
33
  cause?: unknown;
26
34
  });
27
- static notAllowed(): DataTrackPublishError<DataTrackPublishErrorReason.NotAllowed>;
28
- static duplicateName(): DataTrackPublishError<DataTrackPublishErrorReason.DuplicateName>;
35
+ static notAllowed(rawMessage?: string): DataTrackPublishError<DataTrackPublishErrorReason.NotAllowed>;
36
+ static duplicateName(rawMessage?: string): DataTrackPublishError<DataTrackPublishErrorReason.DuplicateName>;
37
+ static invalidName(rawMessage?: string): DataTrackPublishError<DataTrackPublishErrorReason.InvalidName>;
29
38
  static timeout(): DataTrackPublishError<DataTrackPublishErrorReason.Timeout>;
30
- static limitReached(): DataTrackPublishError<DataTrackPublishErrorReason.LimitReached>;
39
+ static limitReached(rawMessage?: string): DataTrackPublishError<DataTrackPublishErrorReason.LimitReached>;
40
+ static unknown(reason: number, message: string): DataTrackPublishError<DataTrackPublishErrorReason.Unknown>;
31
41
  static disconnected(): DataTrackPublishError<DataTrackPublishErrorReason.Disconnected>;
32
42
  static cancelled(): DataTrackPublishError<DataTrackPublishErrorReason.Cancelled>;
33
43
  }
@@ -45,7 +55,7 @@ export declare class DataTrackPushFrameError<Reason extends DataTrackPushFrameEr
45
55
  cause?: unknown;
46
56
  });
47
57
  static trackUnpublished(): DataTrackPushFrameError<DataTrackPushFrameErrorReason.TrackUnpublished>;
48
- static dropped(cause: unknown): DataTrackPushFrameError<DataTrackPushFrameErrorReason.Dropped>;
58
+ static dropped(cause?: unknown): DataTrackPushFrameError<DataTrackPushFrameErrorReason.Dropped>;
49
59
  }
50
60
  export declare enum DataTrackOutgoingPipelineErrorReason {
51
61
  Packetizer = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/outgoing/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEzD,oBAAY,2BAA2B;IACrC;;;;OAIG;IACH,UAAU,IAAI;IAEd,gFAAgF;IAChF,aAAa,IAAI;IAEjB,0DAA0D;IAC1D,OAAO,IAAI;IAEX,2EAA2E;IAC3E,YAAY,IAAI;IAEhB,+DAA+D;IAC/D,YAAY,IAAI;IAGhB,SAAS,IAAI;CACd;AAED,qBAAa,qBAAqB,CAChC,MAAM,SAAS,2BAA2B,CAC1C,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,2BAA2B;IAExC,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAM1E,MAAM,CAAC,UAAU;IAOjB,MAAM,CAAC,aAAa;IAOpB,MAAM,CAAC,OAAO;IAOd,MAAM,CAAC,YAAY;IAOnB,MAAM,CAAC,YAAY;IAKnB,MAAM,CAAC,SAAS;CAMjB;AAED,oBAAY,6BAA6B;IACvC,oCAAoC;IACpC,gBAAgB,IAAI;IACpB,yBAAyB;IAGzB,OAAO,IAAI;CACZ;AAED,qBAAa,uBAAuB,CAClC,MAAM,SAAS,6BAA6B,GAAG,6BAA6B,CAC5E,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,6BAA6B;IAE1C,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAM1E,MAAM,CAAC,gBAAgB;IAOvB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO;CAK9B;AAED,oBAAY,oCAAoC;IAC9C,UAAU,IAAI;IACd,UAAU,IAAI;CACf;AAED,qBAAa,8BAA8B,CACzC,MAAM,SAAS,oCAAoC,GAAG,oCAAoC,CAC1F,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,oCAAoC;IAEjD,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAM1E,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,wBAAwB;IAQjD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO;CAOjC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/outgoing/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEzD,oBAAY,2BAA2B;IACrC;;;;OAIG;IACH,UAAU,IAAI;IAEd,gFAAgF;IAChF,aAAa,IAAI;IAEjB,0DAA0D;IAC1D,OAAO,IAAI;IAEX,2EAA2E;IAC3E,YAAY,IAAI;IAEhB,+DAA+D;IAC/D,YAAY,IAAI;IAGhB,SAAS,IAAI;IAEb,8EAA8E;IAC9E,WAAW,IAAI;IAEf;mBACe;IACf,OAAO,IAAI;CACZ;AAED,qBAAa,qBAAqB,CAChC,MAAM,SAAS,2BAA2B,GAAG,2BAA2B,CACxE,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,2BAA2B;IAExC,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;IAEnB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAO/F,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM;IAQrC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM;IAQxC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM;IAQtC,MAAM,CAAC,OAAO;IAOd,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM;IAQvC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAO9C,MAAM,CAAC,YAAY;IAKnB,MAAM,CAAC,SAAS;CAMjB;AAED,oBAAY,6BAA6B;IACvC,oCAAoC;IACpC,gBAAgB,IAAI;IACpB,yBAAyB;IAGzB,OAAO,IAAI;CACZ;AAED,qBAAa,uBAAuB,CAClC,MAAM,SAAS,6BAA6B,GAAG,6BAA6B,CAC5E,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,6BAA6B;IAE1C,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAM1E,MAAM,CAAC,gBAAgB;IAOvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO;CAK/B;AAED,oBAAY,oCAAoC;IAC9C,UAAU,IAAI;IACd,UAAU,IAAI;CACf;AAED,qBAAa,8BAA8B,CACzC,MAAM,SAAS,oCAAoC,GAAG,oCAAoC,CAC1F,SAAQ,oBAAoB,CAAC,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,oCAAoC;IAEjD,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAM1E,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,wBAAwB;IAQjD,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO;CAOjC"}
@@ -1,22 +1,23 @@
1
1
  import { type Throws } from '@livekit/throws-transformer/throws';
2
- import { type EncryptionProvider } from '../e2ee';
3
- import { type DataTrackFrame } from '../frame';
2
+ import type { BaseE2EEManager } from '../../../e2ee/E2eeManager';
3
+ import { type DataTrackFrameInternal } from '../frame';
4
4
  import { DataTrackPacket } from '../packet';
5
5
  import type { DataTrackInfo } from '../types';
6
6
  import { DataTrackOutgoingPipelineError, DataTrackOutgoingPipelineErrorReason } from './errors';
7
7
  type Options = {
8
8
  info: DataTrackInfo;
9
- encryptionProvider: EncryptionProvider | null;
9
+ e2eeManager: BaseE2EEManager | null;
10
10
  };
11
11
  /** Processes outgoing frames into final packets for distribution to the SFU. */
12
12
  export default class DataTrackOutgoingPipeline {
13
- private encryptionProvider;
13
+ private e2eeManager;
14
14
  private packetizer;
15
15
  /** Maximum transmission unit (MTU) of the transport. */
16
16
  private static TRANSPORT_MTU_BYTES;
17
17
  constructor(options: Options);
18
- processFrame(frame: DataTrackFrame): Throws<Generator<DataTrackPacket>, DataTrackOutgoingPipelineError>;
19
- encryptIfNeeded(frame: DataTrackFrame): Throws<DataTrackFrame, DataTrackOutgoingPipelineError<DataTrackOutgoingPipelineErrorReason.Encryption>>;
18
+ updateE2eeManager(e2eeManager: BaseE2EEManager | null): void;
19
+ processFrame(frame: DataTrackFrameInternal): Throws<AsyncGenerator<DataTrackPacket>, DataTrackOutgoingPipelineError>;
20
+ encryptIfNeeded(frame: DataTrackFrameInternal): Promise<Throws<DataTrackFrameInternal, DataTrackOutgoingPipelineError<DataTrackOutgoingPipelineErrorReason.Encryption>>>;
20
21
  }
21
22
  export {};
22
23
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/outgoing/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAC;AAEhG,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,kBAAkB,CAA4B;IAEtD,OAAO,CAAC,UAAU,CAAsB;IAExC,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAU;gBAEhC,OAAO,EAAE,OAAO;IAQ3B,YAAY,CACX,KAAK,EAAE,cAAc,GACpB,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC;IAarE,eAAe,CACb,KAAK,EAAE,cAAc,GACpB,MAAM,CACP,cAAc,EACd,8BAA8B,CAAC,oCAAoC,CAAC,UAAU,CAAC,CAChF;CAoBF"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/outgoing/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAC;AAEhG,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC5C,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,UAAU,CAAsB;IAExC,wDAAwD;IACxD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAU;gBAEhC,OAAO,EAAE,OAAO;IAQ5B,iBAAiB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI;IAI9C,YAAY,CACjB,KAAK,EAAE,sBAAsB,GAC5B,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC;IAapE,eAAe,CACnB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CACR,MAAM,CACJ,sBAAsB,EACtB,8BAA8B,CAAC,oCAAoC,CAAC,UAAU,CAAC,CAChF,CACF;CAoBF"}
@@ -1,5 +1,6 @@
1
+ import type LocalDataTrack from '../LocalDataTrack';
1
2
  import { type DataTrackHandle } from '../handle';
2
- import { type DataTrackInfo } from '../types';
3
+ import { type DataTrackInfo, type DataTrackSid } from '../types';
3
4
  import { type DataTrackPublishError, type DataTrackPublishErrorReason } from './errors';
4
5
  /** Options for publishing a data track. */
5
6
  export type DataTrackOptions = {
@@ -11,7 +12,7 @@ export type SfuPublishResponseResult = {
11
12
  data: DataTrackInfo;
12
13
  } | {
13
14
  type: 'error';
14
- error: DataTrackPublishError<DataTrackPublishErrorReason.NotAllowed> | DataTrackPublishError<DataTrackPublishErrorReason.DuplicateName> | DataTrackPublishError<DataTrackPublishErrorReason.LimitReached>;
15
+ error: DataTrackPublishError<DataTrackPublishErrorReason.NotAllowed> | DataTrackPublishError<DataTrackPublishErrorReason.DuplicateName> | DataTrackPublishError<DataTrackPublishErrorReason.InvalidName> | DataTrackPublishError<DataTrackPublishErrorReason.LimitReached>;
15
16
  };
16
17
  /** Request sent to the SFU to publish a track. */
17
18
  export type EventSfuPublishRequest = {
@@ -23,8 +24,17 @@ export type EventSfuPublishRequest = {
23
24
  export type EventSfuUnpublishRequest = {
24
25
  handle: DataTrackHandle;
25
26
  };
26
- /** Serialized packets are ready to be sent over the transport. */
27
- export type EventPacketsAvailable = {
27
+ /** A serialized packet is ready to be sent over the transport. */
28
+ export type EventPacketAvailable = {
28
29
  bytes: Uint8Array;
29
30
  };
31
+ /** A track has been created by a local participant and is available to be
32
+ * subscribed to. */
33
+ export type EventTrackPublished = {
34
+ track: LocalDataTrack;
35
+ };
36
+ /** A track has been unpublished by a remote participant and can no longer be subscribed to. */
37
+ export type EventTrackUnpublished = {
38
+ sid: DataTrackSid;
39
+ };
30
40
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/outgoing/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAExF,2CAA2C;AAC3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,0FAA0F;AAC1F,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACnC;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EACD,qBAAqB,CAAC,2BAA2B,CAAC,UAAU,CAAC,GAC7D,qBAAqB,CAAC,2BAA2B,CAAC,aAAa,CAAC,GAChE,qBAAqB,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;CACrE,CAAC;AAEN,kDAAkD;AAClD,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/outgoing/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAExF,2CAA2C;AAC3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,0FAA0F;AAC1F,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,GACnC;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EACD,qBAAqB,CAAC,2BAA2B,CAAC,UAAU,CAAC,GAC7D,qBAAqB,CAAC,2BAA2B,CAAC,aAAa,CAAC,GAChE,qBAAqB,CAAC,2BAA2B,CAAC,WAAW,CAAC,GAC9D,qBAAqB,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;CACrE,CAAC;AAEN,kDAAkD;AAClD,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oDAAoD;AACpD,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF;oBACoB;AACpB,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC;AAE5D,+FAA+F;AAC/F,MAAM,MAAM,qBAAqB,GAAG;IAAE,GAAG,EAAE,YAAY,CAAA;CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/packet/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAGjE,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,oBAAY,qBAAqB;IAC/B,aAAa,IAAI;IACjB,IAAI,IAAI;CACT;AAED,uBAAe,kBAAmB,SAAQ,YAAY;IACpD,MAAM,CAAC,GAAG,EAAE,qBAAqB,CAAC;IAElC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,+BAAgC,SAAQ,kBAAkB;IACrE,MAAM,CAAC,GAAG,wBAAuC;IAEjD,MAAM,CAAC,WAAW,SAAK;IAEvB,SAAS,EAAE,MAAM,CAAC;gBAEN,SAAS,EAAE,MAAM;IAK7B,mBAAmB,IAAI,MAAM;IAQ7B,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAwBvD,MAAM;aAE0C,MAAM;;;;CAMvD;AAED,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,MAAM,CAAC,GAAG,wBAA8B;IAExC,MAAM,CAAC,WAAW,SAAM;IAExB,QAAQ,EAAE,MAAM,CAAC;IAEjB,EAAE,EAAE,UAAU,CAAC;gBAEH,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU;IAM5C,mBAAmB,IAAI,MAAM;IAQ7B,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IA6BvD,MAAM;aAEiC,MAAM;;;;;CAO9C;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAEhD,IAAI,CAAC,EAAE,sBAAsB,CAAC;gBAG5B,IAAI,GAAE;QAAE,aAAa,CAAC,EAAE,+BAA+B,CAAC;QAAC,IAAI,CAAC,EAAE,sBAAsB,CAAA;KAAO;IAO/F,mBAAmB;IAWnB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IA0BvD,MAAM,CAAC,UAAU,CAAC,KAAK,SAAS,QAAQ,GAAG,WAAW,GAAG,UAAU,EACjE,KAAK,EAAE,KAAK,GACX,MAAM,CACP;QAAC,UAAU,EAAE,mBAAmB;QAAE,UAAU,EAAE,MAAM;KAAC,EACrD,yBAAyB,CAAC,+BAA+B,CAAC,YAAY,CAAC,CACxE;IA+DD,MAAM;;iBA7L0C,MAAM;;;;;iBA8Df,MAAM;;;;;;CAqI9C"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../../../src/room/data-track/packet/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAGjE,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,oBAAY,qBAAqB;IAC/B,aAAa,IAAI;IACjB,IAAI,IAAI;CACT;AAED,uBAAe,kBAAmB,SAAQ,YAAY;IACpD,MAAM,CAAC,GAAG,EAAE,qBAAqB,CAAC;IAElC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,+BAAgC,SAAQ,kBAAkB;IACrE,MAAM,CAAC,GAAG,wBAAuC;IAEjD,MAAM,CAAC,WAAW,SAAK;IAEvB,SAAS,EAAE,MAAM,CAAC;gBAEN,SAAS,EAAE,MAAM;IAK7B,mBAAmB,IAAI,MAAM;IAQ7B,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAuBvD,MAAM;aAE0C,MAAM;;;;CAMvD;AAED,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,MAAM,CAAC,GAAG,wBAA8B;IAExC,MAAM,CAAC,WAAW,SAAM;IAExB,QAAQ,EAAE,MAAM,CAAC;IAEjB,EAAE,EAAE,UAAU,CAAC;gBAEH,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU;IAM5C,mBAAmB,IAAI,MAAM;IAM7B,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IA4BvD,MAAM;aAEiC,MAAM;;;;;CAO9C;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAEhD,IAAI,CAAC,EAAE,sBAAsB,CAAC;gBAG5B,IAAI,GAAE;QAAE,aAAa,CAAC,EAAE,+BAA+B,CAAC;QAAC,IAAI,CAAC,EAAE,sBAAsB,CAAA;KAAO;IAO/F,mBAAmB;IAWnB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IA0BvD,MAAM,CAAC,UAAU,CAAC,KAAK,SAAS,QAAQ,GAAG,WAAW,GAAG,UAAU,EACjE,KAAK,EAAE,KAAK,GACX,MAAM,CACP;QAAC,UAAU,EAAE,mBAAmB;QAAE,UAAU,EAAE,MAAM;KAAC,EACrD,yBAAyB,CAAC,+BAA+B,CAAC,YAAY,CAAC,CACxE;IA8DD,MAAM;;iBAzL0C,MAAM;;;;;iBA2Df,MAAM;;;;;;CAoI9C"}