livekit-client 2.22.3 → 2.23.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 (272) hide show
  1. package/README.md +35 -0
  2. package/dist/livekit-client.e2ee.worker.js +1 -1
  3. package/dist/livekit-client.e2ee.worker.js.map +1 -1
  4. package/dist/livekit-client.e2ee.worker.mjs +71 -8
  5. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  6. package/dist/livekit-client.esm.mjs +1746 -547
  7. package/dist/livekit-client.esm.mjs.map +1 -1
  8. package/dist/livekit-client.fm.worker.js +1 -1
  9. package/dist/livekit-client.fm.worker.js.map +1 -1
  10. package/dist/livekit-client.fm.worker.mjs +2 -1
  11. package/dist/livekit-client.fm.worker.mjs.map +1 -1
  12. package/dist/livekit-client.umd.js +1 -1
  13. package/dist/livekit-client.umd.js.map +1 -1
  14. package/dist/src/api/SignalClient.d.ts +4 -2
  15. package/dist/src/api/SignalClient.d.ts.map +1 -1
  16. package/dist/src/api/WebSocketStream.d.ts +1 -0
  17. package/dist/src/api/WebSocketStream.d.ts.map +1 -1
  18. package/dist/src/api/utils.d.ts +1 -1
  19. package/dist/src/api/utils.d.ts.map +1 -1
  20. package/dist/src/e2ee/E2eeManager.d.ts.map +1 -1
  21. package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
  22. package/dist/src/e2ee/worker/naluUtils.d.ts +12 -1
  23. package/dist/src/e2ee/worker/naluUtils.d.ts.map +1 -1
  24. package/dist/src/index.d.ts +2 -2
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/options.d.ts +14 -0
  27. package/dist/src/options.d.ts.map +1 -1
  28. package/dist/src/room/DefaultReconnectPolicy.d.ts.map +1 -1
  29. package/dist/src/room/PCTransport.d.ts +100 -7
  30. package/dist/src/room/PCTransport.d.ts.map +1 -1
  31. package/dist/src/room/PCTransportManager.d.ts.map +1 -1
  32. package/dist/src/room/RTCEngine.d.ts +16 -0
  33. package/dist/src/room/RTCEngine.d.ts.map +1 -1
  34. package/dist/src/room/Room.d.ts +54 -1
  35. package/dist/src/room/Room.d.ts.map +1 -1
  36. package/dist/src/room/data-channel/DataChannelManager.d.ts +9 -8
  37. package/dist/src/room/data-channel/DataChannelManager.d.ts.map +1 -1
  38. package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts +25 -12
  39. package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts.map +1 -1
  40. package/dist/src/room/data-channel/LossyDataChannel.d.ts.map +1 -1
  41. package/dist/src/room/data-channel/ReliableDataChannel.d.ts.map +1 -1
  42. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
  43. package/dist/src/room/defaults.d.ts.map +1 -1
  44. package/dist/src/room/errors.d.ts +18 -0
  45. package/dist/src/room/errors.d.ts.map +1 -1
  46. package/dist/src/room/events.d.ts +3 -2
  47. package/dist/src/room/events.d.ts.map +1 -1
  48. package/dist/src/room/participant/LocalParticipant.d.ts +4 -0
  49. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  50. package/dist/src/room/participant/Participant.d.ts +1 -1
  51. package/dist/src/room/participant/Participant.d.ts.map +1 -1
  52. package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
  53. package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
  54. package/dist/src/room/rpc/utils.d.ts.map +1 -1
  55. package/dist/src/room/track/LocalAudioTrack.d.ts +24 -1
  56. package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
  57. package/dist/src/room/track/LocalTrack.d.ts +18 -0
  58. package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
  59. package/dist/src/room/track/LocalVideoTrack.d.ts +9 -0
  60. package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
  61. package/dist/src/room/track/RemoteAudioTrack.d.ts +6 -0
  62. package/dist/src/room/track/RemoteAudioTrack.d.ts.map +1 -1
  63. package/dist/src/room/track/processor/types.d.ts +11 -0
  64. package/dist/src/room/track/processor/types.d.ts.map +1 -1
  65. package/dist/src/room/track/utils.d.ts +13 -0
  66. package/dist/src/room/track/utils.d.ts.map +1 -1
  67. package/dist/src/room/utils.d.ts +60 -1
  68. package/dist/src/room/utils.d.ts.map +1 -1
  69. package/dist/src/test/compressionStreamStubs.d.ts +12 -0
  70. package/dist/src/test/compressionStreamStubs.d.ts.map +1 -0
  71. package/dist/ts4.2/api/SignalClient.d.ts +187 -185
  72. package/dist/ts4.2/api/SignalClientStateMachine.d.ts +85 -85
  73. package/dist/ts4.2/api/WebSocketStream.d.ts +34 -33
  74. package/dist/ts4.2/api/utils.d.ts +9 -9
  75. package/dist/ts4.2/connectionHelper/ConnectionCheck.d.ts +30 -30
  76. package/dist/ts4.2/connectionHelper/checks/Checker.d.ts +62 -62
  77. package/dist/ts4.2/connectionHelper/checks/cloudRegion.d.ts +18 -18
  78. package/dist/ts4.2/connectionHelper/checks/connectionProtocol.d.ts +20 -20
  79. package/dist/ts4.2/connectionHelper/checks/publishAudio.d.ts +6 -6
  80. package/dist/ts4.2/connectionHelper/checks/publishVideo.d.ts +7 -7
  81. package/dist/ts4.2/connectionHelper/checks/reconnect.d.ts +6 -6
  82. package/dist/ts4.2/connectionHelper/checks/turn.d.ts +6 -6
  83. package/dist/ts4.2/connectionHelper/checks/webrtc.d.ts +6 -6
  84. package/dist/ts4.2/connectionHelper/checks/websocket.d.ts +6 -6
  85. package/dist/ts4.2/e2ee/E2eeManager.d.ts +111 -111
  86. package/dist/ts4.2/e2ee/KeyProvider.d.ts +54 -54
  87. package/dist/ts4.2/e2ee/constants.d.ts +21 -21
  88. package/dist/ts4.2/e2ee/errors.d.ts +12 -12
  89. package/dist/ts4.2/e2ee/events.d.ts +39 -39
  90. package/dist/ts4.2/e2ee/index.d.ts +6 -6
  91. package/dist/ts4.2/e2ee/types.d.ts +231 -231
  92. package/dist/ts4.2/e2ee/utils.d.ts +32 -32
  93. package/dist/ts4.2/e2ee/worker/DataCryptor.d.ts +16 -16
  94. package/dist/ts4.2/e2ee/worker/ErrorRateLimiter.d.ts +21 -21
  95. package/dist/ts4.2/e2ee/worker/FrameCryptor.d.ts +209 -209
  96. package/dist/ts4.2/e2ee/worker/ParticipantKeyHandler.d.ts +81 -84
  97. package/dist/ts4.2/e2ee/worker/e2ee.worker.d.ts +2 -2
  98. package/dist/ts4.2/e2ee/worker/naluUtils.d.ts +39 -28
  99. package/dist/ts4.2/e2ee/worker/sifPayload.d.ts +23 -23
  100. package/dist/ts4.2/frameMetadata/FrameMetadataManager.d.ts +53 -53
  101. package/dist/ts4.2/frameMetadata/frameMetadata.d.ts +33 -33
  102. package/dist/ts4.2/frameMetadata/types.d.ts +62 -62
  103. package/dist/ts4.2/frameMetadata/utils.d.ts +9 -9
  104. package/dist/ts4.2/frameMetadata/worker/frameMetadata.worker.d.ts +2 -2
  105. package/dist/ts4.2/index.d.ts +76 -76
  106. package/dist/ts4.2/logger.d.ts +66 -66
  107. package/dist/ts4.2/options.d.ts +163 -149
  108. package/dist/ts4.2/room/BackOffStrategy.d.ts +27 -27
  109. package/dist/ts4.2/room/DefaultReconnectPolicy.d.ts +8 -8
  110. package/dist/ts4.2/room/DeviceManager.d.ts +12 -12
  111. package/dist/ts4.2/room/PCTransport.d.ts +268 -175
  112. package/dist/ts4.2/room/PCTransportManager.d.ts +77 -77
  113. package/dist/ts4.2/room/RTCEngine.d.ts +277 -262
  114. package/dist/ts4.2/room/ReconnectPolicy.d.ts +24 -24
  115. package/dist/ts4.2/room/RegionUrlProvider.d.ts +36 -36
  116. package/dist/ts4.2/room/Room.d.ts +407 -365
  117. package/dist/ts4.2/room/attribute-typings.d.ts +35 -35
  118. package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +63 -62
  119. package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +107 -95
  120. package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -41
  121. package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -57
  122. package/dist/ts4.2/room/data-channel/types.d.ts +12 -12
  123. package/dist/ts4.2/room/data-stream/compression.d.ts +49 -49
  124. package/dist/ts4.2/room/data-stream/constants.d.ts +18 -18
  125. package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +29 -29
  126. package/dist/ts4.2/room/data-stream/incoming/StreamReader.d.ts +80 -80
  127. package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +73 -73
  128. package/dist/ts4.2/room/data-stream/outgoing/StreamWriter.d.ts +16 -16
  129. package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -18
  130. package/dist/ts4.2/room/data-track/LocalDataTrack.d.ts +79 -80
  131. package/dist/ts4.2/room/data-track/RemoteDataTrack.d.ts +50 -50
  132. package/dist/ts4.2/room/data-track/depacketizer.d.ts +59 -59
  133. package/dist/ts4.2/room/data-track/frame.d.ts +22 -22
  134. package/dist/ts4.2/room/data-track/handle.d.ts +27 -27
  135. package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +124 -124
  136. package/dist/ts4.2/room/data-track/incoming/errors.d.ts +24 -24
  137. package/dist/ts4.2/room/data-track/incoming/pipeline.d.ts +41 -41
  138. package/dist/ts4.2/room/data-track/incoming/types.d.ts +20 -20
  139. package/dist/ts4.2/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +126 -126
  140. package/dist/ts4.2/room/data-track/outgoing/errors.d.ts +74 -74
  141. package/dist/ts4.2/room/data-track/outgoing/pipeline.d.ts +23 -23
  142. package/dist/ts4.2/room/data-track/outgoing/types.d.ts +48 -48
  143. package/dist/ts4.2/room/data-track/packet/constants.d.ts +20 -20
  144. package/dist/ts4.2/room/data-track/packet/errors.d.ts +40 -40
  145. package/dist/ts4.2/room/data-track/packet/extensions.d.ts +69 -69
  146. package/dist/ts4.2/room/data-track/packet/index.d.ts +98 -98
  147. package/dist/ts4.2/room/data-track/packet/serializable.d.ts +13 -13
  148. package/dist/ts4.2/room/data-track/packetizer.d.ts +43 -43
  149. package/dist/ts4.2/room/data-track/track-interfaces.d.ts +23 -23
  150. package/dist/ts4.2/room/data-track/types.d.ts +22 -22
  151. package/dist/ts4.2/room/data-track/utils.d.ts +60 -60
  152. package/dist/ts4.2/room/debounce.d.ts +11 -11
  153. package/dist/ts4.2/room/defaults.d.ts +9 -9
  154. package/dist/ts4.2/room/errors.d.ts +180 -162
  155. package/dist/ts4.2/room/events.d.ts +638 -637
  156. package/dist/ts4.2/room/participant/LocalParticipant.d.ts +291 -287
  157. package/dist/ts4.2/room/participant/Participant.d.ts +142 -144
  158. package/dist/ts4.2/room/participant/ParticipantTrackPermission.d.ts +26 -26
  159. package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +85 -86
  160. package/dist/ts4.2/room/participant/publishUtils.d.ts +53 -53
  161. package/dist/ts4.2/room/rpc/client/RpcClientManager.d.ts +43 -43
  162. package/dist/ts4.2/room/rpc/client/events.d.ts +8 -8
  163. package/dist/ts4.2/room/rpc/index.d.ts +7 -7
  164. package/dist/ts4.2/room/rpc/server/RpcServerManager.d.ts +44 -44
  165. package/dist/ts4.2/room/rpc/server/events.d.ts +8 -8
  166. package/dist/ts4.2/room/rpc/utils.d.ts +131 -131
  167. package/dist/ts4.2/room/stats.d.ts +71 -71
  168. package/dist/ts4.2/room/statsSummary.d.ts +13 -13
  169. package/dist/ts4.2/room/timers.d.ts +12 -12
  170. package/dist/ts4.2/room/token-source/TokenSource.d.ts +82 -82
  171. package/dist/ts4.2/room/token-source/types.d.ts +70 -70
  172. package/dist/ts4.2/room/token-source/utils.d.ts +8 -8
  173. package/dist/ts4.2/room/track/FrameMetadataExtractor.d.ts +19 -19
  174. package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +62 -42
  175. package/dist/ts4.2/room/track/LocalTrack.d.ts +143 -125
  176. package/dist/ts4.2/room/track/LocalTrackPublication.d.ts +42 -42
  177. package/dist/ts4.2/room/track/LocalVideoTrack.d.ts +109 -100
  178. package/dist/ts4.2/room/track/RemoteAudioTrack.d.ts +61 -55
  179. package/dist/ts4.2/room/track/RemoteTrack.d.ts +38 -38
  180. package/dist/ts4.2/room/track/RemoteTrackPublication.d.ts +72 -75
  181. package/dist/ts4.2/room/track/RemoteVideoTrack.d.ts +73 -76
  182. package/dist/ts4.2/room/track/Track.d.ts +156 -166
  183. package/dist/ts4.2/room/track/TrackPublication.d.ts +75 -81
  184. package/dist/ts4.2/room/track/create.d.ts +25 -25
  185. package/dist/ts4.2/room/track/facingMode.d.ts +41 -41
  186. package/dist/ts4.2/room/track/options.d.ts +403 -403
  187. package/dist/ts4.2/room/track/processor/types.d.ts +42 -31
  188. package/dist/ts4.2/room/track/record.d.ts +13 -13
  189. package/dist/ts4.2/room/track/types.d.ts +28 -28
  190. package/dist/ts4.2/room/track/utils.d.ts +60 -47
  191. package/dist/ts4.2/room/types.d.ts +127 -127
  192. package/dist/ts4.2/room/utils.d.ts +273 -214
  193. package/dist/ts4.2/test/MockMediaStreamTrack.d.ts +26 -26
  194. package/dist/ts4.2/test/compressionStreamStubs.d.ts +12 -0
  195. package/dist/ts4.2/test/mocks.d.ts +12 -12
  196. package/dist/ts4.2/test/promiseState.d.ts +12 -12
  197. package/dist/ts4.2/test/signalToken.d.ts +26 -26
  198. package/dist/ts4.2/type-polyfills/non-shared-typed-arrays.d.ts +2 -2
  199. package/dist/ts4.2/utils/AsyncQueue.d.ts +23 -23
  200. package/dist/ts4.2/utils/TypedPromise.d.ts +17 -17
  201. package/dist/ts4.2/utils/abort-signal-polyfill.d.ts +13 -13
  202. package/dist/ts4.2/utils/browserParser.d.ts +13 -13
  203. package/dist/ts4.2/utils/camelToSnakeCase.d.ts +8 -8
  204. package/dist/ts4.2/utils/cloneDeep.d.ts +2 -2
  205. package/dist/ts4.2/utils/dataPacketBuffer.d.ts +34 -34
  206. package/dist/ts4.2/utils/deferrable-map.d.ts +32 -32
  207. package/dist/ts4.2/utils/machineInspector.d.ts +54 -54
  208. package/dist/ts4.2/utils/serializer.d.ts +48 -48
  209. package/dist/ts4.2/utils/subscribeToEvents.d.ts +15 -15
  210. package/dist/ts4.2/utils/ttlmap.d.ts +20 -20
  211. package/dist/ts4.2/version.d.ts +15 -15
  212. package/package.json +5 -4
  213. package/src/api/SignalClient.e2e.test.ts +1 -3
  214. package/src/api/SignalClient.test.ts +394 -10
  215. package/src/api/SignalClient.ts +132 -76
  216. package/src/api/WebSocketStream.test.ts +11 -0
  217. package/src/api/WebSocketStream.ts +22 -1
  218. package/src/api/utils.ts +1 -1
  219. package/src/e2ee/E2eeManager.test.ts +43 -0
  220. package/src/e2ee/E2eeManager.ts +6 -2
  221. package/src/e2ee/worker/FrameCryptor.test.ts +212 -90
  222. package/src/e2ee/worker/FrameCryptor.ts +21 -4
  223. package/src/e2ee/worker/naluUtils.test.ts +123 -0
  224. package/src/e2ee/worker/naluUtils.ts +57 -2
  225. package/src/index.ts +2 -0
  226. package/src/options.ts +16 -0
  227. package/src/room/DefaultReconnectPolicy.test.ts +58 -0
  228. package/src/room/DefaultReconnectPolicy.ts +14 -2
  229. package/src/room/PCTransport.test.ts +327 -9
  230. package/src/room/PCTransport.ts +339 -36
  231. package/src/room/PCTransportManager.ts +3 -1
  232. package/src/room/RTCEngine.test.ts +318 -2
  233. package/src/room/RTCEngine.ts +126 -12
  234. package/src/room/Room.test.ts +148 -6
  235. package/src/room/Room.ts +312 -80
  236. package/src/room/data-channel/DataChannelManager.test.ts +24 -7
  237. package/src/room/data-channel/DataChannelManager.ts +43 -38
  238. package/src/room/data-channel/FlowControlledDataChannel.test.ts +60 -18
  239. package/src/room/data-channel/FlowControlledDataChannel.ts +40 -22
  240. package/src/room/data-channel/LossyDataChannel.test.ts +38 -0
  241. package/src/room/data-channel/LossyDataChannel.ts +10 -1
  242. package/src/room/data-channel/ReliableDataChannel.test.ts +72 -0
  243. package/src/room/data-channel/ReliableDataChannel.ts +16 -5
  244. package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +47 -20
  245. package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +16 -5
  246. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +60 -39
  247. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +4 -4
  248. package/src/room/defaults.ts +1 -0
  249. package/src/room/errors.test.ts +36 -0
  250. package/src/room/errors.ts +27 -0
  251. package/src/room/events.ts +2 -1
  252. package/src/room/participant/LocalParticipant.test.ts +136 -1
  253. package/src/room/participant/LocalParticipant.ts +66 -17
  254. package/src/room/participant/Participant.ts +6 -3
  255. package/src/room/participant/publishUtils.ts +0 -19
  256. package/src/room/participant/restartOnDefaultAudioDevice.test.ts +177 -0
  257. package/src/room/rpc/client/RpcClientManager.test.ts +51 -0
  258. package/src/room/rpc/client/RpcClientManager.ts +32 -15
  259. package/src/room/rpc/utils.test.ts +32 -0
  260. package/src/room/rpc/utils.ts +7 -0
  261. package/src/room/track/LocalAudioTrack.ts +101 -10
  262. package/src/room/track/LocalTrack.ts +87 -19
  263. package/src/room/track/LocalVideoTrack.ts +17 -3
  264. package/src/room/track/RemoteAudioTrack.ts +59 -14
  265. package/src/room/track/RemoteVideoTrack.test.ts +210 -0
  266. package/src/room/track/RemoteVideoTrack.ts +29 -3
  267. package/src/room/track/processor/types.ts +11 -0
  268. package/src/room/track/utils.test.ts +206 -2
  269. package/src/room/track/utils.ts +117 -5
  270. package/src/room/utils.test.ts +250 -0
  271. package/src/room/utils.ts +152 -19
  272. package/src/test/compressionStreamStubs.ts +53 -0
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteAudioTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACzE,OAAO,CAAC,SAAS,CAAC,CAAqB;IAEvC,OAAO,CAAC,aAAa,CAAqB;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,OAAO,CAAC,UAAU,CAAC,CAA6B;IAEhD,OAAO,CAAC,mBAAmB,CAAc;IAEzC,OAAO,CAAC,MAAM,CAAC,CAAS;gBAGtB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,EACxB,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,aAAa;IAU/B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAexB;;OAEG;IACH,SAAS,IAAI,MAAM;IAiBnB;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM;IAahC,MAAM,IAAI,gBAAgB;IAC1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IA6BnD;;OAEG;IACH,MAAM,IAAI,gBAAgB,EAAE;IAE5B;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAqBnD;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS;IAStD;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE;IAOrC,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,kBAAkB;IAO1B,SAAS,CAAC,eAAe,sBAYvB;IAEI,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CA0BlE"}
1
+ {"version":3,"file":"RemoteAudioTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACzE,OAAO,CAAC,SAAS,CAAC,CAAqB;IAEvC,OAAO,CAAC,aAAa,CAAqB;IAE1C,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,OAAO,CAAC,UAAU,CAAC,CAA6B;IAEhD,OAAO,CAAC,mBAAmB,CAAc;IAEzC;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAmB;IAEzC,OAAO,CAAC,MAAM,CAAC,CAAS;gBAGtB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,EACxB,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,aAAa;IAU/B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAgBxB;;OAEG;IACH,SAAS,IAAI,MAAM;IAiBnB;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM;IAahC,MAAM,IAAI,gBAAgB;IAC1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAmCnD;;OAEG;IACH,MAAM,IAAI,gBAAgB,EAAE;IAE5B;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAqBnD;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS;IAwBtD;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE;IAOrC,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,kBAAkB;IAoB1B,SAAS,CAAC,eAAe,sBAYvB;IAEI,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CA0BlE"}
@@ -19,6 +19,17 @@ export interface AudioProcessorOptions extends ProcessorOptions<Track.Kind.Audio
19
19
  */
20
20
  export interface VideoProcessorOptions extends ProcessorOptions<Track.Kind.Video> {
21
21
  }
22
+ /**
23
+ * A processor is bound to the track it was set on, not to the room, and it does not survive the
24
+ * track being stopped: unpublishing a track or disconnecting from a room destroys its processor.
25
+ * Both paths stop the track by default, so after reconnecting or republishing, call
26
+ * `setProcessor` again on the new track to put the processor back.
27
+ *
28
+ * The exception is `stopLocalTrackOnUnpublish: false`, which keeps the track alive across an
29
+ * unpublish or disconnect. A video processor then survives with it. An audio processor only
30
+ * survives if the audio context came from the application, because a context the SDK created is
31
+ * closed on disconnect and the processor goes with it.
32
+ */
22
33
  export interface TrackProcessor<T extends Track.Kind, U extends ProcessorOptions<T> = ProcessorOptions<T>> {
23
34
  name: string;
24
35
  init: (opts: U) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/room/track/processor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI;IACnD,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/E,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;CAAG;AAEpF,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,KAAK,CAAC,IAAI,EACpB,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAEnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/room/track/processor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI;IACnD,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/E,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;CAAG;AAEpF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAC7B,CAAC,SAAS,KAAK,CAAC,IAAI,EACpB,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAEnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC"}
@@ -44,4 +44,17 @@ export declare function extractProcessorsFromOptions(options: CreateLocalTracksO
44
44
  export declare function getTrackSourceFromProto(source: TrackSource): Track.Source;
45
45
  export declare function areDimensionsSmaller(a: Track.Dimensions, b: Track.Dimensions): boolean;
46
46
  export declare function layerDimensionsFor(trackInfo: TrackInfo, quality: VideoQuality): Track.Dimensions | undefined;
47
+ /**
48
+ * Waits until `track` has actually produced a video frame.
49
+ *
50
+ * iOS keeps reporting the camera's sensor frame from `getSettings()` until the camera has
51
+ * delivered its first picture, so a portrait capture initially reads as landscape. The arrival
52
+ * of that first frame is the only reliable signal that the reported settings describe reality.
53
+ *
54
+ * Best effort, never throws. Resolves `true` when a frame was observed, `false` when no frame
55
+ * can be observed (the track is already ended, muted or disabled) or `timeoutMs` elapsed first.
56
+ *
57
+ * @internal
58
+ */
59
+ export declare function waitForFirstVideoFrame(track: MediaStreamTrack, timeoutMs: number, candidateElements?: HTMLMediaElement[]): Promise<boolean>;
47
60
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/room/track/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAG1F,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,wBAAwB,EAClC,aAAa,CAAC,EAAE,mBAAmB,EACnC,aAAa,CAAC,EAAE,mBAAmB,GAClC,wBAAwB,CAgC1B;AAYD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,GAAG,sBAAsB,CAuC/F;AACD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,IAAI,CAmCxD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,wEAQjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,eAAe,GAAG,SAAS,CAQ9E;AAED;;GAEG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,yBAAyB,GACjC,yBAAyB,CAgC3B;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GACV,UAAU,CAC1D;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,EAChE,MAAM,EAAE,CAAC,EAAE,GACV,sBAAsB,EAAE,CAa1B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0B/F;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAKxD;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,0BAkB9C;AAED,gBAAgB;AAChB,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,wBAAwB;;;;;;;EAe7E;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM,CAazE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAEtF;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,GACpB,KAAK,CAAC,UAAU,GAAG,SAAS,CAE9B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/room/track/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAI1F,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,wBAAwB,EAClC,aAAa,CAAC,EAAE,mBAAmB,EACnC,aAAa,CAAC,EAAE,mBAAmB,GAClC,wBAAwB,CAgC1B;AAYD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,GAAG,sBAAsB,CAuC/F;AACD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0CzF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,IAAI,CAmCxD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,wEAQjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,eAAe,GAAG,SAAS,CAQ9E;AAED;;GAEG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,yBAAyB,GACjC,yBAAyB,CAgC3B;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GACV,UAAU,CAC1D;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,EAChE,MAAM,EAAE,CAAC,EAAE,GACV,sBAAsB,EAAE,CAa1B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0B/F;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAKxD;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC7C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,0BAkB9C;AAED,gBAAgB;AAChB,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,wBAAwB;;;;;;;EAe7E;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,MAAM,CAazE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAEtF;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,GACpB,KAAK,CAAC,UAAU,GAAG,SAAS,CAE9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,EACjB,iBAAiB,GAAE,gBAAgB,EAAO,GACzC,OAAO,CAAC,OAAO,CAAC,CAqElB"}
@@ -92,6 +92,23 @@ export declare function isChromiumBased(): boolean;
92
92
  export declare function isScriptTransformSupportedForWorker(): boolean;
93
93
  export declare function isSafari(): boolean;
94
94
  export declare function isSafariBased(): boolean;
95
+ /**
96
+ * iPadOS has sent the desktop Macintosh user agent by default since iPadOS 13, so `getBrowser()`
97
+ * reports `os: 'macOS'` there and every `os === 'iOS'` check misses it. macOS Safari implements no
98
+ * touch events at all (`TouchEvent` undefined, `maxTouchPoints` 0) regardless of any touchscreen
99
+ * attached, so touch capability separates the two. Measured on an iPad 6 / iPadOS 17
100
+ * (`maxTouchPoints` 5) against macOS Safari 26.4 (`maxTouchPoints` 0).
101
+ *
102
+ * Deliberately a separate helper rather than a fix in `browserParser`: iPadOS spoofs the Mac
103
+ * version too, so reporting `os: 'iOS'` there would leave `osVersion` at `10.15.7` and silently
104
+ * break {@link isSafari17Based} and {@link isSafariSvcApi}, which compare it.
105
+ */
106
+ export declare function isIPadOS(): boolean;
107
+ /**
108
+ * iPhone, iPad and iOS-hosted browsers — everything running the Apple camera capture pipeline,
109
+ * including iPads that present themselves as a Mac.
110
+ */
111
+ export declare function isAppleMobile(): boolean;
95
112
  export declare function isSafari17Based(): boolean;
96
113
  export declare function isSafariSvcApi(browser?: BrowserDetails): boolean;
97
114
  export declare function isMobile(): boolean;
@@ -120,8 +137,19 @@ export interface ObservableMediaElement extends HTMLMediaElement {
120
137
  export declare function getClientInfo(capabilities?: ClientInfo_Capability[]): ClientInfo;
121
138
  export declare function getEmptyVideoStreamTrack(): MediaStreamTrack;
122
139
  export declare function createDummyVideoStreamTrack(width?: number, height?: number, enabled?: boolean, paintContent?: boolean): MediaStreamTrack;
140
+ /**
141
+ * Returns a silent audio track, cloned off a shared `AudioContext` created on first use. Hand the
142
+ * clone back to `releaseEmptyAudioStreamTrack` rather than stopping it, so the context can close.
143
+ * A clone that is only stopped stays counted as outstanding, which holds the shared context open
144
+ * for the lifetime of the page.
145
+ */
123
146
  export declare function getEmptyAudioStreamTrack(): MediaStreamTrack;
124
- export declare function getStereoAudioStreamTrack(): MediaStreamTrack;
147
+ /**
148
+ * Stops a track obtained from `getEmptyAudioStreamTrack` and closes the shared `AudioContext`
149
+ * backing it once every track it handed out has been released. Does nothing for a track this
150
+ * module never handed out, or one that has been released already.
151
+ */
152
+ export declare function releaseEmptyAudioStreamTrack(track: MediaStreamTrack): Promise<void>;
125
153
  /** An object that represents a serialized version of a `new Promise((resolve, reject) => {})`
126
154
  * constructor. Wait for a promise resolution with `await future.promise` and explicitly resolve or
127
155
  * reject the inner promise with `future.resolve(...)` or `future.reject(...)`.
@@ -173,6 +201,22 @@ export declare function isAudioCodec(maybeCodec: string): maybeCodec is AudioCod
173
201
  export declare function isVideoCodec(maybeCodec: string): maybeCodec is VideoCodec;
174
202
  export declare function unwrapConstraint(constraint: ConstrainDOMString): string;
175
203
  export declare function unwrapConstraint(constraint: ConstrainULong): number;
204
+ /**
205
+ * The getUserMedia rejections that no softer constraint can recover from, because the user or the
206
+ * document refused capture outright. Retrying one of these would put a second prompt in front of
207
+ * someone who already said no. The last two names are legacy spellings still reported by older
208
+ * engines. Matched by `name` rather than with `instanceof`, because these are not reliably distinct
209
+ * constructors across environments. happy-dom, which the tests run under, aliases them to `Event`.
210
+ */
211
+ export declare function isPermissionDeniedError(e: unknown): boolean;
212
+ /** Records that `e` is the rejection getUserMedia itself produced. */
213
+ export declare function markDeviceAcquisitionFailure(e: unknown): void;
214
+ /**
215
+ * Whether a track restart failed at getUserMedia rather than in the work that adopts the new track.
216
+ * Recorded on the side rather than by wrapping, because callers of `restartTrack` match on the
217
+ * rejection's own name.
218
+ */
219
+ export declare function isDeviceAcquisitionFailure(e: unknown): boolean;
176
220
  export declare function toWebsocketUrl(url: string): string;
177
221
  export declare function toHttpUrl(url: string): string;
178
222
  export declare function extractTranscriptionSegments(transcription: TranscriptionModel, firstReceivedTimesMap: Map<string, number>): TranscriptionSegment[];
@@ -209,6 +253,21 @@ export declare function encodeBase64(bytes: Uint8Array): string;
209
253
  export declare function decodeBase64(base64: string): Uint8Array;
210
254
  export declare function extractMaxAgeFromRequestHeaders(headers: Headers): number | undefined;
211
255
  export declare function isCompressionStreamSupported(): boolean;
256
+ /**
257
+ * Whether this runtime can compress AND decompress the `deflate-raw` format, which is a stricter
258
+ * requirement than {@link isCompressionStreamSupported}: Chromium 80-102 included
259
+ * `CompressionStream` supporting only `gzip` / `deflate`, and `deflate-raw` was added in Chromium
260
+ * 103 (Firefox 113, Safari 16.4).
261
+ */
262
+ export declare function isDeflateRawCompressionSupported(): boolean;
263
+ /**
264
+ * Clears the memoized {@link isDeflateRawCompressionSupported} probe result. A runtime doesn't
265
+ * gain or lose compression formats while it is running, so this only exists for tests that swap
266
+ * the global `CompressionStream` / `DecompressionStream`.
267
+ *
268
+ * @internal
269
+ */
270
+ export declare function resetDeflateRawCompressionSupportCache(): void;
212
271
  export declare function isPublisherOfferWithJoinSupported(): boolean;
213
272
  export declare function extractTrackSid(mediaTrack: MediaStreamTrack, stream: MediaStream): Track.SID | undefined;
214
273
  //# sourceMappingURL=utils.d.ts.map
@@ -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":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Swaps the global `CompressionStream` / `DecompressionStream` away entirely, emulating a runtime
3
+ * that predates the compression streams api. Returns a function that restores them.
4
+ */
5
+ export declare function stubMissingCompressionStreams(): () => void;
6
+ /**
7
+ * Swaps in global `CompressionStream` / `DecompressionStream` constructors that reject the
8
+ * `deflate-raw` format the way Chromium 80-102 does (the api exists, but only `gzip` / `deflate`
9
+ * are supported). Returns a function that restores the real ones.
10
+ */
11
+ export declare function stubMissingDeflateRawSupport(): () => void;
12
+ //# sourceMappingURL=compressionStreamStubs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressionStreamStubs.d.ts","sourceRoot":"","sources":["../../../src/test/compressionStreamStubs.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,IAAI,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,IAAI,CAKzD"}
@@ -1,185 +1,187 @@
1
- import { AddTrackRequest, AudioTrackFeature, ClientInfo_Capability, ConnectionQualityUpdate, DataTrackSubscriberHandles, JoinResponse, LeaveRequest, MediaSectionsRequirement, ParticipantInfo, PublishDataTrackResponse, ReconnectReason, ReconnectResponse, RequestResponse, Room, RoomMovedResponse, SessionDescription, SignalResponse, SignalTarget, SimulateScenario, SpeakerInfo, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SubscriptionResponse, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UnpublishDataTrackResponse, UpdateSubscription, UpdateTrackSettings, VideoLayer } from '@livekit/protocol';
2
- import type { DataTrackHandle } from '../room/data-track/handle';
3
- import type { DataTrackSid } from '../room/data-track/types';
4
- import type { LoggerOptions } from '../room/types';
5
- import { AsyncQueue } from '../utils/AsyncQueue';
6
- import { WebSocketStream } from './WebSocketStream';
7
- interface ConnectOpts extends SignalOptions {
8
- /** internal */
9
- reconnect?: boolean;
10
- /** internal */
11
- reconnectReason?: number;
12
- /** internal */
13
- sid?: string;
14
- }
15
- export interface SignalOptions {
16
- autoSubscribe: boolean;
17
- adaptiveStream?: boolean;
18
- clientInfoCapabilities?: ClientInfo_Capability[];
19
- maxRetries: number;
20
- e2eeEnabled: boolean;
21
- websocketTimeout: number;
22
- }
23
- export declare enum SignalConnectionState {
24
- CONNECTING = 0,
25
- CONNECTED = 1,
26
- RECONNECTING = 2,
27
- DISCONNECTING = 3,
28
- DISCONNECTED = 4
29
- }
30
- /** @internal */
31
- export declare class SignalClient {
32
- requestQueue: AsyncQueue;
33
- queuedRequests: Array<() => Promise<void>>;
34
- useJSON: boolean;
35
- /** signal rtt in milliseconds */
36
- rtt: number;
37
- /** simulate signaling latency by delaying messages */
38
- signalLatency?: number;
39
- onClose?: (reason: string) => void;
40
- onAnswer?: (sd: RTCSessionDescriptionInit, offerId: number, midToTrackId: {
41
- [key: string]: string;
42
- }) => void;
43
- onOffer?: (sd: RTCSessionDescriptionInit, offerId: number, midToTrackId: {
44
- [key: string]: string;
45
- }) => void;
46
- onTrickle?: (sd: RTCIceCandidateInit, target: SignalTarget) => void;
47
- onParticipantUpdate?: (updates: ParticipantInfo[]) => void;
48
- onLocalTrackPublished?: (res: TrackPublishedResponse) => void;
49
- onNegotiateRequested?: () => void;
50
- onSpeakersChanged?: (res: SpeakerInfo[]) => void;
51
- onRemoteMuteChanged?: (trackSid: string, muted: boolean) => void;
52
- onRoomUpdate?: (room: Room) => void;
53
- onConnectionQuality?: (update: ConnectionQualityUpdate) => void;
54
- onStreamStateUpdate?: (update: StreamStateUpdate) => void;
55
- onSubscribedQualityUpdate?: (update: SubscribedQualityUpdate) => void;
56
- onSubscriptionPermissionUpdate?: (update: SubscriptionPermissionUpdate) => void;
57
- onSubscriptionError?: (update: SubscriptionResponse) => void;
58
- onLocalTrackUnpublished?: (res: TrackUnpublishedResponse) => void;
59
- onTokenRefresh?: (token: string) => void;
60
- onLeave?: (leave: LeaveRequest) => void;
61
- onRequestResponse?: (response: RequestResponse) => void;
62
- onLocalTrackSubscribed?: (trackSid: string) => void;
63
- onRoomMoved?: (res: RoomMovedResponse) => void;
64
- onMediaSectionsRequirement?: (requirement: MediaSectionsRequirement) => void;
65
- onPublishDataTrackResponse?: (event: PublishDataTrackResponse) => void;
66
- onUnPublishDataTrackResponse?: (event: UnpublishDataTrackResponse) => void;
67
- onDataTrackSubscriberHandles?: (event: DataTrackSubscriberHandles) => void;
68
- onJoined?: (event: JoinResponse) => void;
69
- connectOptions?: ConnectOpts;
70
- ws?: WebSocketStream;
71
- get currentState(): SignalConnectionState;
72
- get isDisconnected(): boolean;
73
- /** Runtime lifecycle state, finer grained than the public {@link currentState} projection. */
74
- private get lifecycleState();
75
- /** Id of the current connection attempt and of the transport it owns. */
76
- private get attemptId();
77
- /**
78
- * Applies a lifecycle input and reports whether it moved the machine
79
- */
80
- private sendLifecycleInput;
81
- /**
82
- * Waits out a close that is already in flight. Establishing a session while one is tearing down
83
- * would race it for the transport — the teardown can close the socket the new attempt just
84
- * opened.
85
- */
86
- private settleInFlightClose;
87
- private get isEstablishingConnection();
88
- private getNextRequestId;
89
- private options?;
90
- private pingTimeout;
91
- private pingTimeoutDuration;
92
- private pingIntervalDuration;
93
- private pingInterval;
94
- private closingLock;
95
- private machine;
96
- private connectionLock;
97
- private log;
98
- private loggerContextCb?;
99
- private _requestId;
100
- private streamWriter;
101
- private useV0SignalPath;
102
- constructor(useJSON?: boolean, loggerOptions?: LoggerOptions);
103
- private get logContext();
104
- join(url: string, token: string, opts: SignalOptions, abortSignal?: AbortSignal, useV0Path?: boolean, publisherOffer?: SessionDescription): Promise<JoinResponse>;
105
- reconnect(url: string, token: string, sid?: string, reason?: ReconnectReason): Promise<ReconnectResponse | undefined>;
106
- private connect;
107
- startReadingLoop(signalReader: ReadableStreamDefaultReader<string | ArrayBuffer>, firstMessage?: SignalResponse): Promise<void>;
108
- /** @internal */
109
- resetCallbacks: () => void;
110
- close(updateState?: boolean, reason?: string): Promise<void>;
111
- /**
112
- * Releases the transport and everything tied to it, without touching the lifecycle state. Used
113
- * both by {@link close} and by paths that replace the transport under a live lifecycle (a new
114
- * attempt, or an unexpected close that leaves the client in `offline`).
115
- */
116
- private teardownTransport;
117
- sendOffer(offer: RTCSessionDescriptionInit, offerId: number): void;
118
- sendAnswer(answer: RTCSessionDescriptionInit, offerId: number): Promise<void>;
119
- sendIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
120
- sendMuteTrack(trackSid: string, muted: boolean): Promise<void>;
121
- sendAddTrack(req: AddTrackRequest): Promise<void>;
122
- sendUpdateLocalMetadata(metadata: string, name: string, attributes?: Record<string, string>): Promise<number>;
123
- sendUpdateTrackSettings(settings: UpdateTrackSettings): void;
124
- sendUpdateSubscription(sub: UpdateSubscription): Promise<void>;
125
- sendSyncState(sync: SyncState): Promise<void>;
126
- sendUpdateVideoLayers(trackSid: string, layers: VideoLayer[]): Promise<void>;
127
- sendUpdateSubscriptionPermissions(allParticipants: boolean, trackPermissions: TrackPermission[]): Promise<void>;
128
- sendSimulateScenario(scenario: SimulateScenario): Promise<void>;
129
- sendPing(): Promise<[
130
- void,
131
- void
132
- ]>;
133
- sendUpdateLocalAudioTrack(trackSid: string, features: AudioTrackFeature[]): Promise<void>;
134
- sendLeave(): Promise<void>;
135
- sendPublishDataTrackRequest(handle: DataTrackHandle, name: string, usesE2ee: boolean): Promise<void>;
136
- sendUnPublishDataTrackRequest(handle: DataTrackHandle): Promise<void>;
137
- sendUpdateDataSubscription(sid: DataTrackSid, subscribe: boolean): Promise<void>;
138
- private sendRequest;
139
- private handleSignalResponse;
140
- setReconnected(): void;
141
- /**
142
- * Handles a transport we lost without asking to. The client goes to `offline` rather than
143
- * `closed`: whether this session gets resumed, restarted or given up on is the engine's call.
144
- */
145
- private handleOnClose;
146
- private handleWSError;
147
- /**
148
- * Resets the ping timeout and starts a new timeout.
149
- * Call this after receiving a pong message
150
- */
151
- private resetPingTimeout;
152
- /**
153
- * Clears ping timeout (does not start a new timeout)
154
- */
155
- private clearPingTimeout;
156
- private startPingInterval;
157
- private clearPingInterval;
158
- /**
159
- * Handles the successful connection to the signal server
160
- * @param connection The WebSocket connection
161
- * @param timeoutHandle The timeout handle to clear
162
- * @param firstMessage Optional first message to process
163
- * @internal
164
- */
165
- private handleSignalConnected;
166
- /**
167
- * Validates the first message received from the signal server
168
- * @param firstSignalResponse The first signal response received
169
- * @param isReconnect Whether this is a reconnection attempt
170
- * @returns Validation result with response or error
171
- * @internal
172
- */
173
- private validateFirstMessage;
174
- /**
175
- * Handles WebSocket connection errors by validating with the server
176
- * @param reason The error that occurred
177
- * @param validateUrl The URL to validate the connection with
178
- * @returns A ConnectionError with appropriate reason and status
179
- * @internal
180
- */
181
- private handleConnectionError;
182
- }
183
- export declare function toProtoSessionDescription(rsd: RTCSessionDescription | RTCSessionDescriptionInit, id?: number): SessionDescription;
184
- export {};
185
- //# sourceMappingURL=SignalClient.d.ts.map
1
+ import { AddTrackRequest, AudioTrackFeature, ClientInfo_Capability, ConnectionQualityUpdate, DataTrackSubscriberHandles, JoinResponse, LeaveRequest, MediaSectionsRequirement, ParticipantInfo, PublishDataTrackResponse, ReconnectReason, ReconnectResponse, RequestResponse, Room, RoomMovedResponse, SessionDescription, SignalTarget, SimulateScenario, SpeakerInfo, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SubscriptionResponse, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UnpublishDataTrackResponse, UpdateSubscription, UpdateTrackSettings, VideoLayer } from '@livekit/protocol';
2
+ import type { DataTrackHandle } from '../room/data-track/handle';
3
+ import type { DataTrackSid } from '../room/data-track/types';
4
+ import type { LoggerOptions } from '../room/types';
5
+ import { AsyncQueue } from '../utils/AsyncQueue';
6
+ import { WebSocketStream } from './WebSocketStream';
7
+ interface ConnectOpts extends SignalOptions {
8
+ /** internal */
9
+ reconnect?: boolean;
10
+ /** internal */
11
+ reconnectReason?: number;
12
+ /** internal */
13
+ sid?: string;
14
+ }
15
+ export interface SignalOptions {
16
+ autoSubscribe: boolean;
17
+ adaptiveStream?: boolean;
18
+ disableIceLite?: boolean;
19
+ subscriberAllowPause?: boolean;
20
+ clientInfoCapabilities?: ClientInfo_Capability[];
21
+ maxRetries: number;
22
+ e2eeEnabled: boolean;
23
+ websocketTimeout: number;
24
+ }
25
+ export declare enum SignalConnectionState {
26
+ CONNECTING = 0,
27
+ CONNECTED = 1,
28
+ RECONNECTING = 2,
29
+ DISCONNECTING = 3,
30
+ DISCONNECTED = 4
31
+ }
32
+ /** @internal */
33
+ export declare class SignalClient {
34
+ requestQueue: AsyncQueue;
35
+ queuedRequests: Array<() => Promise<void>>;
36
+ useJSON: boolean;
37
+ /** signal rtt in milliseconds */
38
+ rtt: number;
39
+ /** simulate signaling latency by delaying messages */
40
+ signalLatency?: number;
41
+ onClose?: (reason: string) => void;
42
+ onAnswer?: (sd: RTCSessionDescriptionInit, offerId: number, midToTrackId: {
43
+ [key: string]: string;
44
+ }) => void;
45
+ onOffer?: (sd: RTCSessionDescriptionInit, offerId: number, midToTrackId: {
46
+ [key: string]: string;
47
+ }) => void;
48
+ onTrickle?: (sd: RTCIceCandidateInit, target: SignalTarget) => void;
49
+ onParticipantUpdate?: (updates: ParticipantInfo[]) => void;
50
+ onLocalTrackPublished?: (res: TrackPublishedResponse) => void;
51
+ onNegotiateRequested?: () => void;
52
+ onSpeakersChanged?: (res: SpeakerInfo[]) => void;
53
+ onRemoteMuteChanged?: (trackSid: string, muted: boolean) => void;
54
+ onRoomUpdate?: (room: Room) => void;
55
+ onConnectionQuality?: (update: ConnectionQualityUpdate) => void;
56
+ onStreamStateUpdate?: (update: StreamStateUpdate) => void;
57
+ onSubscribedQualityUpdate?: (update: SubscribedQualityUpdate) => void;
58
+ onSubscriptionPermissionUpdate?: (update: SubscriptionPermissionUpdate) => void;
59
+ onSubscriptionError?: (update: SubscriptionResponse) => void;
60
+ onLocalTrackUnpublished?: (res: TrackUnpublishedResponse) => void;
61
+ onTokenRefresh?: (token: string) => void;
62
+ onLeave?: (leave: LeaveRequest) => void;
63
+ onRequestResponse?: (response: RequestResponse) => void;
64
+ onLocalTrackSubscribed?: (trackSid: string) => void;
65
+ onRoomMoved?: (res: RoomMovedResponse) => void;
66
+ onMediaSectionsRequirement?: (requirement: MediaSectionsRequirement) => void;
67
+ onPublishDataTrackResponse?: (event: PublishDataTrackResponse) => void;
68
+ onUnPublishDataTrackResponse?: (event: UnpublishDataTrackResponse) => void;
69
+ onDataTrackSubscriberHandles?: (event: DataTrackSubscriberHandles) => void;
70
+ onJoined?: (event: JoinResponse) => void;
71
+ connectOptions?: ConnectOpts;
72
+ ws?: WebSocketStream;
73
+ get currentState(): SignalConnectionState;
74
+ get isDisconnected(): boolean;
75
+ /** Runtime lifecycle state, finer grained than the public {@link currentState} projection. */
76
+ private get lifecycleState();
77
+ /** Id of the current connection attempt and of the transport it owns. */
78
+ private get attemptId();
79
+ /**
80
+ * Applies a lifecycle input and reports whether it moved the machine
81
+ */
82
+ private sendLifecycleInput;
83
+ /**
84
+ * Waits out a close that is already in flight. Establishing a session while one is tearing down
85
+ * would race it for the transport — the teardown can close the socket the new attempt just
86
+ * opened.
87
+ */
88
+ private settleInFlightClose;
89
+ private get isEstablishingConnection();
90
+ private getNextRequestId;
91
+ private options?;
92
+ private pingTimeout;
93
+ private pingTimeoutDuration;
94
+ private pingIntervalDuration;
95
+ private pingInterval;
96
+ private closingLock;
97
+ private machine;
98
+ private connectionLock;
99
+ private log;
100
+ private loggerContextCb?;
101
+ private _requestId;
102
+ private streamWriter;
103
+ private useV0SignalPath;
104
+ constructor(useJSON?: boolean, loggerOptions?: LoggerOptions);
105
+ private get logContext();
106
+ join(url: string, token: string, opts: SignalOptions, abortSignal?: AbortSignal, useV0Path?: boolean, publisherOffer?: SessionDescription): Promise<JoinResponse>;
107
+ reconnect(url: string, token: string, sid?: string, reason?: ReconnectReason): Promise<ReconnectResponse | undefined>;
108
+ private connect;
109
+ startReadingLoop(signalReader: ReadableStreamDefaultReader<string | ArrayBuffer>): Promise<void>;
110
+ /** @internal */
111
+ resetCallbacks: () => void;
112
+ close(updateState?: boolean, reason?: string): Promise<void>;
113
+ /**
114
+ * Releases the transport and everything tied to it, without touching the lifecycle state. Used
115
+ * both by {@link close} and by paths that replace the transport under a live lifecycle (a new
116
+ * attempt, or an unexpected close that leaves the client in `offline`).
117
+ */
118
+ private teardownTransport;
119
+ sendOffer(offer: RTCSessionDescriptionInit, offerId: number): void;
120
+ sendAnswer(answer: RTCSessionDescriptionInit, offerId: number): Promise<void>;
121
+ sendIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
122
+ sendMuteTrack(trackSid: string, muted: boolean): Promise<void>;
123
+ sendAddTrack(req: AddTrackRequest): Promise<void>;
124
+ sendUpdateLocalMetadata(metadata: string, name: string, attributes?: Record<string, string>): Promise<number>;
125
+ sendUpdateTrackSettings(settings: UpdateTrackSettings): void;
126
+ sendUpdateSubscription(sub: UpdateSubscription): Promise<void>;
127
+ sendSyncState(sync: SyncState): Promise<void>;
128
+ sendUpdateVideoLayers(trackSid: string, layers: VideoLayer[]): Promise<void>;
129
+ sendUpdateSubscriptionPermissions(allParticipants: boolean, trackPermissions: TrackPermission[]): Promise<void>;
130
+ sendSimulateScenario(scenario: SimulateScenario): Promise<void>;
131
+ sendPing(): Promise<[
132
+ void,
133
+ void
134
+ ]>;
135
+ sendUpdateLocalAudioTrack(trackSid: string, features: AudioTrackFeature[]): Promise<void>;
136
+ sendLeave(): Promise<void>;
137
+ sendPublishDataTrackRequest(handle: DataTrackHandle, name: string, usesE2ee: boolean): Promise<void>;
138
+ sendUnPublishDataTrackRequest(handle: DataTrackHandle): Promise<void>;
139
+ sendUpdateDataSubscription(sid: DataTrackSid, subscribe: boolean): Promise<void>;
140
+ private sendRequest;
141
+ private handleSignalResponse;
142
+ setReconnected(): void;
143
+ /**
144
+ * Handles a transport we lost without asking to. The client goes to `offline` rather than
145
+ * `closed`: whether this session gets resumed, restarted or given up on is the engine's call.
146
+ */
147
+ private handleOnClose;
148
+ private handleWSError;
149
+ /**
150
+ * Resets the ping timeout and starts a new timeout.
151
+ * Call this after receiving a pong message
152
+ */
153
+ private resetPingTimeout;
154
+ /**
155
+ * Clears ping timeout (does not start a new timeout)
156
+ */
157
+ private clearPingTimeout;
158
+ private startPingInterval;
159
+ private clearPingInterval;
160
+ /**
161
+ * Handles the successful connection to the signal server
162
+ * @param connection The WebSocket connection
163
+ * @param timeoutHandle The timeout handle to clear
164
+ * @param firstMessage Optional first message to process
165
+ * @internal
166
+ */
167
+ private handleSignalConnected;
168
+ /**
169
+ * Validates the first message received from the signal server
170
+ * @param firstSignalResponse The first signal response received
171
+ * @param isReconnect Whether this is a reconnection attempt
172
+ * @returns Validation result with response or error
173
+ * @internal
174
+ */
175
+ private validateFirstMessage;
176
+ /**
177
+ * Handles WebSocket connection errors by validating with the server
178
+ * @param reason The error that occurred
179
+ * @param validateUrl The URL to validate the connection with
180
+ * @returns A ConnectionError with appropriate reason and status
181
+ * @internal
182
+ */
183
+ private handleConnectionError;
184
+ }
185
+ export declare function toProtoSessionDescription(rsd: RTCSessionDescription | RTCSessionDescriptionInit, id?: number): SessionDescription;
186
+ export {};
187
+ //# sourceMappingURL=SignalClient.d.ts.map