@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.1.4 → 0.3.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 (357) hide show
  1. package/.eslintrc.js +1 -1
  2. package/.prettierrc.json +1 -0
  3. package/dist/commonjs/AFK/AFKController.js +110 -0
  4. package/dist/commonjs/AFK/AFKController.js.map +1 -0
  5. package/dist/commonjs/Config/Config.js +560 -0
  6. package/dist/commonjs/Config/Config.js.map +1 -0
  7. package/dist/commonjs/Config/SettingBase.js +99 -0
  8. package/dist/commonjs/Config/SettingBase.js.map +1 -0
  9. package/dist/commonjs/Config/SettingFlag.js +50 -0
  10. package/dist/commonjs/Config/SettingFlag.js.map +1 -0
  11. package/dist/commonjs/Config/SettingNumber.js +84 -0
  12. package/dist/commonjs/Config/SettingNumber.js.map +1 -0
  13. package/dist/commonjs/Config/SettingOption.js +85 -0
  14. package/dist/commonjs/Config/SettingOption.js.map +1 -0
  15. package/dist/commonjs/Config/SettingText.js +43 -0
  16. package/dist/commonjs/Config/SettingText.js.map +1 -0
  17. package/dist/commonjs/DataChannel/DataChannelController.js +107 -0
  18. package/dist/commonjs/DataChannel/DataChannelController.js.map +1 -0
  19. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js +95 -0
  20. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js.map +1 -0
  21. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js +19 -0
  22. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js.map +1 -0
  23. package/dist/commonjs/DataChannel/DataChannelSender.js +44 -0
  24. package/dist/commonjs/DataChannel/DataChannelSender.js.map +1 -0
  25. package/dist/commonjs/DataChannel/InitialSettings.js +42 -0
  26. package/dist/commonjs/DataChannel/InitialSettings.js.map +1 -0
  27. package/dist/commonjs/DataChannel/LatencyTestResults.js +61 -0
  28. package/dist/commonjs/DataChannel/LatencyTestResults.js.map +1 -0
  29. package/dist/commonjs/FreezeFrame/FreezeFrame.js +94 -0
  30. package/dist/commonjs/FreezeFrame/FreezeFrame.js.map +1 -0
  31. package/dist/commonjs/FreezeFrame/FreezeFrameController.js +96 -0
  32. package/dist/commonjs/FreezeFrame/FreezeFrameController.js.map +1 -0
  33. package/dist/commonjs/Inputs/GamepadController.js +189 -0
  34. package/dist/commonjs/Inputs/GamepadController.js.map +1 -0
  35. package/dist/commonjs/Inputs/GamepadTypes.js +22 -0
  36. package/dist/commonjs/Inputs/GamepadTypes.js.map +1 -0
  37. package/dist/commonjs/Inputs/IInputController.js +3 -0
  38. package/dist/commonjs/Inputs/IInputController.js.map +1 -0
  39. package/dist/commonjs/Inputs/InputClassesFactory.js +97 -0
  40. package/dist/commonjs/Inputs/InputClassesFactory.js.map +1 -0
  41. package/dist/commonjs/Inputs/KeyCodes.js +113 -0
  42. package/dist/commonjs/Inputs/KeyCodes.js.map +1 -0
  43. package/dist/commonjs/Inputs/KeyboardController.js +138 -0
  44. package/dist/commonjs/Inputs/KeyboardController.js.map +1 -0
  45. package/dist/commonjs/Inputs/MouseButtons.js +29 -0
  46. package/dist/commonjs/Inputs/MouseButtons.js.map +1 -0
  47. package/dist/commonjs/Inputs/MouseController.js +98 -0
  48. package/dist/commonjs/Inputs/MouseController.js.map +1 -0
  49. package/dist/commonjs/Inputs/MouseControllerHovering.js +94 -0
  50. package/dist/commonjs/Inputs/MouseControllerHovering.js.map +1 -0
  51. package/dist/commonjs/Inputs/MouseControllerLocked.js +154 -0
  52. package/dist/commonjs/Inputs/MouseControllerLocked.js.map +1 -0
  53. package/dist/commonjs/Inputs/SpecialKeyCodes.js +20 -0
  54. package/dist/commonjs/Inputs/SpecialKeyCodes.js.map +1 -0
  55. package/dist/commonjs/Inputs/TouchController.js +124 -0
  56. package/dist/commonjs/Inputs/TouchController.js.map +1 -0
  57. package/dist/commonjs/Inputs/TouchControllerFake.js +92 -0
  58. package/dist/commonjs/Inputs/TouchControllerFake.js.map +1 -0
  59. package/dist/commonjs/Inputs/XRGamepadController.js +125 -0
  60. package/dist/commonjs/Inputs/XRGamepadController.js.map +1 -0
  61. package/dist/commonjs/PeerConnectionController/AggregatedStats.js +253 -0
  62. package/dist/commonjs/PeerConnectionController/AggregatedStats.js.map +1 -0
  63. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js +11 -0
  64. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js.map +1 -0
  65. package/dist/commonjs/PeerConnectionController/CandidateStat.js +11 -0
  66. package/dist/commonjs/PeerConnectionController/CandidateStat.js.map +1 -0
  67. package/dist/commonjs/PeerConnectionController/CodecStats.js +11 -0
  68. package/dist/commonjs/PeerConnectionController/CodecStats.js.map +1 -0
  69. package/dist/commonjs/PeerConnectionController/DataChannelStats.js +11 -0
  70. package/dist/commonjs/PeerConnectionController/DataChannelStats.js.map +1 -0
  71. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js +23 -0
  72. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js.map +1 -0
  73. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js +11 -0
  74. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js.map +1 -0
  75. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js +17 -0
  76. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js.map +1 -0
  77. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js +585 -0
  78. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js.map +1 -0
  79. package/dist/commonjs/PeerConnectionController/SessionStats.js +11 -0
  80. package/dist/commonjs/PeerConnectionController/SessionStats.js.map +1 -0
  81. package/dist/commonjs/PeerConnectionController/StreamStats.js +11 -0
  82. package/dist/commonjs/PeerConnectionController/StreamStats.js.map +1 -0
  83. package/dist/commonjs/PixelStreaming/PixelStreaming.js +608 -0
  84. package/dist/commonjs/PixelStreaming/PixelStreaming.js.map +1 -0
  85. package/dist/commonjs/UI/OnScreenKeyboard.js +83 -0
  86. package/dist/commonjs/UI/OnScreenKeyboard.js.map +1 -0
  87. package/dist/commonjs/UeInstanceMessage/ResponseController.js +39 -0
  88. package/dist/commonjs/UeInstanceMessage/ResponseController.js.map +1 -0
  89. package/dist/commonjs/UeInstanceMessage/SendMessageController.js +121 -0
  90. package/dist/commonjs/UeInstanceMessage/SendMessageController.js.map +1 -0
  91. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js +211 -0
  92. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js.map +1 -0
  93. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js +50 -0
  94. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -0
  95. package/dist/commonjs/Util/EventEmitter.js +387 -0
  96. package/dist/commonjs/Util/EventEmitter.js.map +1 -0
  97. package/dist/commonjs/Util/FileUtil.js +109 -0
  98. package/dist/commonjs/Util/FileUtil.js.map +1 -0
  99. package/dist/commonjs/Util/IURLSearchParams.js +26 -0
  100. package/dist/commonjs/Util/IURLSearchParams.js.map +1 -0
  101. package/dist/commonjs/Util/InputCoordTranslator.js +50 -0
  102. package/dist/commonjs/Util/InputCoordTranslator.js.map +1 -0
  103. package/dist/commonjs/Util/RTCUtils.js +41 -0
  104. package/dist/commonjs/Util/RTCUtils.js.map +1 -0
  105. package/dist/commonjs/VideoPlayer/StreamController.js +68 -0
  106. package/dist/commonjs/VideoPlayer/StreamController.js.map +1 -0
  107. package/dist/commonjs/VideoPlayer/VideoPlayer.js +178 -0
  108. package/dist/commonjs/VideoPlayer/VideoPlayer.js.map +1 -0
  109. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js +1224 -0
  110. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
  111. package/dist/commonjs/WebXR/WebXRController.js +361 -0
  112. package/dist/commonjs/WebXR/WebXRController.js.map +1 -0
  113. package/dist/commonjs/pixelstreamingfrontend.js +71 -0
  114. package/dist/commonjs/pixelstreamingfrontend.js.map +1 -0
  115. package/dist/esm/AFK/AFKController.js +106 -0
  116. package/dist/esm/AFK/AFKController.js.map +1 -0
  117. package/dist/esm/Config/Config.js +552 -0
  118. package/dist/esm/Config/Config.js.map +1 -0
  119. package/dist/esm/Config/SettingBase.js +95 -0
  120. package/dist/esm/Config/SettingBase.js.map +1 -0
  121. package/dist/esm/Config/SettingFlag.js +46 -0
  122. package/dist/esm/Config/SettingFlag.js.map +1 -0
  123. package/dist/esm/Config/SettingNumber.js +80 -0
  124. package/dist/esm/Config/SettingNumber.js.map +1 -0
  125. package/dist/esm/Config/SettingOption.js +81 -0
  126. package/dist/esm/Config/SettingOption.js.map +1 -0
  127. package/dist/esm/Config/SettingText.js +39 -0
  128. package/dist/esm/Config/SettingText.js.map +1 -0
  129. package/dist/esm/DataChannel/DataChannelController.js +103 -0
  130. package/dist/esm/DataChannel/DataChannelController.js.map +1 -0
  131. package/dist/esm/DataChannel/DataChannelLatencyTestController.js +91 -0
  132. package/dist/esm/DataChannel/DataChannelLatencyTestController.js.map +1 -0
  133. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +15 -0
  134. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js.map +1 -0
  135. package/dist/esm/DataChannel/DataChannelSender.js +40 -0
  136. package/dist/esm/DataChannel/DataChannelSender.js.map +1 -0
  137. package/dist/esm/DataChannel/InitialSettings.js +35 -0
  138. package/dist/esm/DataChannel/InitialSettings.js.map +1 -0
  139. package/dist/esm/DataChannel/LatencyTestResults.js +57 -0
  140. package/dist/esm/DataChannel/LatencyTestResults.js.map +1 -0
  141. package/dist/esm/FreezeFrame/FreezeFrame.js +90 -0
  142. package/dist/esm/FreezeFrame/FreezeFrame.js.map +1 -0
  143. package/dist/esm/FreezeFrame/FreezeFrameController.js +92 -0
  144. package/dist/esm/FreezeFrame/FreezeFrameController.js.map +1 -0
  145. package/dist/esm/Inputs/GamepadController.js +185 -0
  146. package/dist/esm/Inputs/GamepadController.js.map +1 -0
  147. package/dist/esm/Inputs/GamepadTypes.js +18 -0
  148. package/dist/esm/Inputs/GamepadTypes.js.map +1 -0
  149. package/dist/esm/Inputs/IInputController.js +2 -0
  150. package/dist/esm/Inputs/IInputController.js.map +1 -0
  151. package/dist/esm/Inputs/InputClassesFactory.js +92 -0
  152. package/dist/esm/Inputs/InputClassesFactory.js.map +1 -0
  153. package/dist/esm/Inputs/KeyCodes.js +110 -0
  154. package/dist/esm/Inputs/KeyCodes.js.map +1 -0
  155. package/dist/esm/Inputs/KeyboardController.js +134 -0
  156. package/dist/esm/Inputs/KeyboardController.js.map +1 -0
  157. package/dist/esm/Inputs/MouseButtons.js +24 -0
  158. package/dist/esm/Inputs/MouseButtons.js.map +1 -0
  159. package/dist/esm/Inputs/MouseController.js +94 -0
  160. package/dist/esm/Inputs/MouseController.js.map +1 -0
  161. package/dist/esm/Inputs/MouseControllerHovering.js +90 -0
  162. package/dist/esm/Inputs/MouseControllerHovering.js.map +1 -0
  163. package/dist/esm/Inputs/MouseControllerLocked.js +150 -0
  164. package/dist/esm/Inputs/MouseControllerLocked.js.map +1 -0
  165. package/dist/esm/Inputs/SpecialKeyCodes.js +16 -0
  166. package/dist/esm/Inputs/SpecialKeyCodes.js.map +1 -0
  167. package/dist/esm/Inputs/TouchController.js +120 -0
  168. package/dist/esm/Inputs/TouchController.js.map +1 -0
  169. package/dist/esm/Inputs/TouchControllerFake.js +88 -0
  170. package/dist/esm/Inputs/TouchControllerFake.js.map +1 -0
  171. package/dist/esm/Inputs/XRGamepadController.js +121 -0
  172. package/dist/esm/Inputs/XRGamepadController.js.map +1 -0
  173. package/dist/esm/PeerConnectionController/AggregatedStats.js +249 -0
  174. package/dist/esm/PeerConnectionController/AggregatedStats.js.map +1 -0
  175. package/dist/esm/PeerConnectionController/CandidatePairStats.js +7 -0
  176. package/dist/esm/PeerConnectionController/CandidatePairStats.js.map +1 -0
  177. package/dist/esm/PeerConnectionController/CandidateStat.js +7 -0
  178. package/dist/esm/PeerConnectionController/CandidateStat.js.map +1 -0
  179. package/dist/esm/PeerConnectionController/CodecStats.js +7 -0
  180. package/dist/esm/PeerConnectionController/CodecStats.js.map +1 -0
  181. package/dist/esm/PeerConnectionController/DataChannelStats.js +7 -0
  182. package/dist/esm/PeerConnectionController/DataChannelStats.js.map +1 -0
  183. package/dist/esm/PeerConnectionController/InboundRTPStats.js +17 -0
  184. package/dist/esm/PeerConnectionController/InboundRTPStats.js.map +1 -0
  185. package/dist/esm/PeerConnectionController/InboundTrackStats.js +7 -0
  186. package/dist/esm/PeerConnectionController/InboundTrackStats.js.map +1 -0
  187. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +12 -0
  188. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js.map +1 -0
  189. package/dist/esm/PeerConnectionController/PeerConnectionController.js +581 -0
  190. package/dist/esm/PeerConnectionController/PeerConnectionController.js.map +1 -0
  191. package/dist/esm/PeerConnectionController/SessionStats.js +7 -0
  192. package/dist/esm/PeerConnectionController/SessionStats.js.map +1 -0
  193. package/dist/esm/PeerConnectionController/StreamStats.js +7 -0
  194. package/dist/esm/PeerConnectionController/StreamStats.js.map +1 -0
  195. package/dist/esm/PixelStreaming/PixelStreaming.js +604 -0
  196. package/dist/esm/PixelStreaming/PixelStreaming.js.map +1 -0
  197. package/dist/esm/UI/OnScreenKeyboard.js +79 -0
  198. package/dist/esm/UI/OnScreenKeyboard.js.map +1 -0
  199. package/dist/esm/UeInstanceMessage/ResponseController.js +35 -0
  200. package/dist/esm/UeInstanceMessage/ResponseController.js.map +1 -0
  201. package/dist/esm/UeInstanceMessage/SendMessageController.js +117 -0
  202. package/dist/esm/UeInstanceMessage/SendMessageController.js.map +1 -0
  203. package/dist/esm/UeInstanceMessage/StreamMessageController.js +206 -0
  204. package/dist/esm/UeInstanceMessage/StreamMessageController.js.map +1 -0
  205. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +46 -0
  206. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -0
  207. package/dist/esm/Util/EventEmitter.js +346 -0
  208. package/dist/esm/Util/EventEmitter.js.map +1 -0
  209. package/dist/esm/Util/FileUtil.js +104 -0
  210. package/dist/esm/Util/FileUtil.js.map +1 -0
  211. package/dist/esm/Util/IURLSearchParams.js +22 -0
  212. package/dist/esm/Util/IURLSearchParams.js.map +1 -0
  213. package/dist/esm/Util/InputCoordTranslator.js +46 -0
  214. package/dist/esm/Util/InputCoordTranslator.js.map +1 -0
  215. package/dist/esm/Util/RTCUtils.js +37 -0
  216. package/dist/esm/Util/RTCUtils.js.map +1 -0
  217. package/dist/esm/VideoPlayer/StreamController.js +64 -0
  218. package/dist/esm/VideoPlayer/StreamController.js.map +1 -0
  219. package/dist/esm/VideoPlayer/VideoPlayer.js +174 -0
  220. package/dist/esm/VideoPlayer/VideoPlayer.js.map +1 -0
  221. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +1220 -0
  222. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
  223. package/dist/esm/WebXR/WebXRController.js +357 -0
  224. package/dist/esm/WebXR/WebXRController.js.map +1 -0
  225. package/dist/esm/pixelstreamingfrontend.js +25 -0
  226. package/dist/esm/pixelstreamingfrontend.js.map +1 -0
  227. package/{types → dist/types}/AFK/AFKController.d.ts +38 -39
  228. package/{types → dist/types}/Config/Config.d.ts +220 -219
  229. package/{types → dist/types}/Config/SettingBase.d.ts +43 -30
  230. package/{types → dist/types}/Config/SettingFlag.d.ts +24 -33
  231. package/{types → dist/types}/Config/SettingNumber.d.ts +41 -45
  232. package/{types → dist/types}/Config/SettingOption.d.ts +41 -43
  233. package/{types → dist/types}/Config/SettingText.d.ts +21 -29
  234. package/{types → dist/types}/DataChannel/DataChannelController.d.ts +59 -59
  235. package/{types → dist/types}/DataChannel/DataChannelLatencyTestController.d.ts +25 -26
  236. package/{types → dist/types}/DataChannel/DataChannelLatencyTestResults.d.ts +46 -46
  237. package/{types → dist/types}/DataChannel/DataChannelSender.d.ts +21 -21
  238. package/{types → dist/types}/DataChannel/InitialSettings.d.ts +44 -44
  239. package/{types → dist/types}/DataChannel/LatencyTestResults.d.ts +31 -31
  240. package/{types → dist/types}/FreezeFrame/FreezeFrame.d.ts +36 -36
  241. package/{types → dist/types}/FreezeFrame/FreezeFrameController.d.ts +37 -37
  242. package/dist/types/Inputs/GamepadController.d.ts +61 -0
  243. package/dist/types/Inputs/GamepadTypes.d.ts +15 -0
  244. package/dist/types/Inputs/IInputController.d.ts +16 -0
  245. package/{types → dist/types}/Inputs/InputClassesFactory.d.ts +53 -54
  246. package/dist/types/Inputs/KeyCodes.d.ts +5 -0
  247. package/dist/types/Inputs/KeyboardController.d.ts +34 -0
  248. package/{types → dist/types}/Inputs/MouseButtons.d.ts +22 -22
  249. package/dist/types/Inputs/MouseController.d.ts +40 -0
  250. package/dist/types/Inputs/MouseControllerHovering.d.ts +26 -0
  251. package/dist/types/Inputs/MouseControllerLocked.d.ts +31 -0
  252. package/{types → dist/types}/Inputs/SpecialKeyCodes.d.ts +14 -14
  253. package/dist/types/Inputs/TouchController.d.ts +28 -0
  254. package/dist/types/Inputs/TouchControllerFake.d.ts +29 -0
  255. package/{types → dist/types}/Inputs/XRGamepadController.d.ts +15 -22
  256. package/{types → dist/types}/PeerConnectionController/AggregatedStats.d.ts +82 -84
  257. package/{types → dist/types}/PeerConnectionController/CandidatePairStats.d.ts +22 -22
  258. package/{types → dist/types}/PeerConnectionController/CandidateStat.d.ts +13 -13
  259. package/{types → dist/types}/PeerConnectionController/CodecStats.d.ts +14 -14
  260. package/{types → dist/types}/PeerConnectionController/DataChannelStats.d.ts +15 -15
  261. package/{types → dist/types}/PeerConnectionController/InboundRTPStats.d.ts +141 -141
  262. package/{types → dist/types}/PeerConnectionController/InboundTrackStats.d.ts +32 -32
  263. package/{types → dist/types}/PeerConnectionController/OutBoundRTPStats.d.ts +23 -23
  264. package/{types → dist/types}/PeerConnectionController/PeerConnectionController.d.ts +143 -140
  265. package/{types → dist/types}/PeerConnectionController/SessionStats.d.ts +8 -8
  266. package/{types → dist/types}/PeerConnectionController/StreamStats.d.ts +9 -9
  267. package/{types → dist/types}/PixelStreaming/PixelStreaming.d.ts +271 -259
  268. package/{types → dist/types}/UI/OnScreenKeyboard.d.ts +30 -30
  269. package/{types → dist/types}/UeInstanceMessage/ResponseController.d.ts +19 -19
  270. package/{types → dist/types}/UeInstanceMessage/SendMessageController.d.ts +18 -18
  271. package/{types → dist/types}/UeInstanceMessage/StreamMessageController.d.ts +29 -29
  272. package/{types → dist/types}/UeInstanceMessage/ToStreamerMessagesController.d.ts +32 -32
  273. package/{types → dist/types}/Util/EventEmitter.d.ts +429 -429
  274. package/{types → dist/types}/Util/FileUtil.d.ts +32 -32
  275. package/dist/types/Util/IURLSearchParams.d.ts +9 -0
  276. package/dist/types/Util/InputCoordTranslator.d.ts +29 -0
  277. package/{types → dist/types}/Util/RTCUtils.d.ts +8 -8
  278. package/{types → dist/types}/VideoPlayer/StreamController.d.ts +22 -24
  279. package/{types → dist/types}/VideoPlayer/VideoPlayer.d.ts +78 -78
  280. package/{types → dist/types}/WebRtcPlayer/WebRtcPlayerController.d.ts +379 -377
  281. package/{types → dist/types}/WebXR/WebXRController.d.ts +42 -42
  282. package/{types → dist/types}/pixelstreamingfrontend.d.ts +23 -22
  283. package/package.json +14 -17
  284. package/readme.md +9 -1
  285. package/src/AFK/AFKController.ts +10 -32
  286. package/src/Config/Config.ts +232 -205
  287. package/src/Config/SettingBase.ts +61 -2
  288. package/src/Config/SettingFlag.ts +10 -48
  289. package/src/Config/SettingNumber.ts +23 -33
  290. package/src/Config/SettingOption.ts +41 -56
  291. package/src/Config/SettingText.ts +9 -37
  292. package/src/DataChannel/DataChannelController.ts +6 -26
  293. package/src/DataChannel/DataChannelLatencyTestController.ts +43 -38
  294. package/src/DataChannel/DataChannelLatencyTestResults.ts +8 -10
  295. package/src/DataChannel/DataChannelSender.ts +5 -15
  296. package/src/DataChannel/LatencyTestResults.ts +5 -15
  297. package/src/FreezeFrame/FreezeFrame.ts +7 -19
  298. package/src/FreezeFrame/FreezeFrameController.ts +3 -14
  299. package/src/Inputs/GamepadController.ts +123 -221
  300. package/src/Inputs/GamepadTypes.ts +23 -0
  301. package/src/Inputs/IInputController.ts +17 -0
  302. package/src/Inputs/InputClassesFactory.ts +38 -45
  303. package/src/Inputs/KeyCodes.ts +114 -0
  304. package/src/Inputs/KeyboardController.ts +49 -232
  305. package/src/Inputs/MouseController.ts +71 -297
  306. package/src/Inputs/MouseControllerHovering.ts +118 -0
  307. package/src/Inputs/MouseControllerLocked.ts +194 -0
  308. package/src/Inputs/TouchController.ts +49 -105
  309. package/src/Inputs/TouchControllerFake.ts +132 -0
  310. package/src/Inputs/XRGamepadController.ts +35 -44
  311. package/src/PeerConnectionController/AggregatedStats.ts +46 -75
  312. package/src/PeerConnectionController/CandidatePairStats.ts +1 -1
  313. package/src/PeerConnectionController/CandidateStat.ts +1 -1
  314. package/src/PeerConnectionController/PeerConnectionController.ts +214 -170
  315. package/src/PixelStreaming/PixelStreaming.ts +174 -226
  316. package/src/UI/OnScreenKeyboard.ts +14 -9
  317. package/src/UeInstanceMessage/ResponseController.ts +6 -15
  318. package/src/UeInstanceMessage/SendMessageController.ts +16 -18
  319. package/src/UeInstanceMessage/StreamMessageController.ts +3 -12
  320. package/src/UeInstanceMessage/ToStreamerMessagesController.ts +3 -9
  321. package/src/Util/EventEmitter.ts +17 -22
  322. package/src/Util/FileUtil.ts +11 -34
  323. package/src/Util/IURLSearchParams.ts +25 -0
  324. package/src/Util/InputCoordTranslator.ts +73 -0
  325. package/src/Util/RTCUtils.ts +23 -15
  326. package/src/VideoPlayer/StreamController.ts +6 -23
  327. package/src/VideoPlayer/VideoPlayer.ts +9 -30
  328. package/src/WebRtcPlayer/WebRtcPlayerController.ts +328 -690
  329. package/src/WebXR/WebXRController.ts +82 -94
  330. package/src/pixelstreamingfrontend.ts +8 -6
  331. package/tsconfig.cjs.json +9 -0
  332. package/tsconfig.esm.json +7 -0
  333. package/tsconfig.json +4 -6
  334. package/dist/lib-pixelstreamingfrontend.esm.js +0 -1
  335. package/dist/lib-pixelstreamingfrontend.js +0 -1
  336. package/src/Inputs/FakeTouchController.ts +0 -199
  337. package/src/Inputs/HoveringMouseEvents.ts +0 -192
  338. package/src/Inputs/IMouseEvents.ts +0 -64
  339. package/src/Inputs/ITouchController.ts +0 -29
  340. package/src/Inputs/LockedMouseEvents.ts +0 -287
  341. package/src/Util/CoordinateConverter.ts +0 -290
  342. package/src/Util/EventListenerTracker.ts +0 -29
  343. package/types/Inputs/FakeTouchController.d.ts +0 -61
  344. package/types/Inputs/GamepadController.d.ts +0 -85
  345. package/types/Inputs/GamepadTypes.d.ts +0 -8
  346. package/types/Inputs/HoveringMouseEvents.d.ts +0 -56
  347. package/types/Inputs/IMouseEvents.d.ts +0 -53
  348. package/types/Inputs/ITouchController.d.ts +0 -24
  349. package/types/Inputs/KeyboardController.d.ts +0 -62
  350. package/types/Inputs/LockedMouseEvents.d.ts +0 -80
  351. package/types/Inputs/MouseController.d.ts +0 -75
  352. package/types/Inputs/TouchController.d.ts +0 -53
  353. package/types/Util/CoordinateConverter.d.ts +0 -100
  354. package/types/Util/EventListenerTracker.d.ts +0 -14
  355. package/webpack.common.js +0 -35
  356. package/webpack.dev.js +0 -35
  357. package/webpack.prod.js +0 -36
@@ -1,259 +1,271 @@
1
- import { Config } from '../Config/Config';
2
- import { LatencyTestResults } from '../DataChannel/LatencyTestResults';
3
- import { AggregatedStats } from '../PeerConnectionController/AggregatedStats';
4
- import { WebRtcPlayerController } from '../WebRtcPlayer/WebRtcPlayerController';
5
- import { InitialSettings } from '../DataChannel/InitialSettings';
6
- import { PixelStreamingEvent, StatsReceivedEvent } from '../Util/EventEmitter';
7
- import { WebXRController } from '../WebXR/WebXRController';
8
- import { MessageDirection } from '../UeInstanceMessage/StreamMessageController';
9
- import { DataChannelLatencyTestConfig, DataChannelLatencyTestController } from "../DataChannel/DataChannelLatencyTestController";
10
- import { DataChannelLatencyTestResponse } from "../DataChannel/DataChannelLatencyTestResults";
11
- export interface PixelStreamingOverrides {
12
- /** The DOM element where Pixel Streaming video and user input event handlers are attached to.
13
- * You can give an existing DOM element here. If not given, the library will create a new div element
14
- * that is not attached anywhere. In this case you can later get access to this new element and
15
- * attach it to your web page. */
16
- videoElementParent?: HTMLElement;
17
- }
18
- /**
19
- * The key class for the browser side of a Pixel Streaming application, it includes:
20
- * WebRTC handling, XR support, input handling, and emitters for lifetime and state change events.
21
- * Users are encouraged to use this class as is, through composition, or extend it. In any case,
22
- * this will likely be the core of your Pixel Streaming experience in terms of functionality.
23
- */
24
- export declare class PixelStreaming {
25
- protected _webRtcController: WebRtcPlayerController;
26
- protected _webXrController: WebXRController;
27
- protected _dataChannelLatencyTestController: DataChannelLatencyTestController;
28
- /**
29
- * Configuration object. You can read or modify config through this object. Whenever
30
- * the configuration is changed, the library will emit a `settingsChanged` event.
31
- */
32
- config: Config;
33
- private _videoElementParent;
34
- private allowConsoleCommands;
35
- private onScreenKeyboardHelper;
36
- private _videoStartTime;
37
- private _inputController;
38
- private _eventEmitter;
39
- /**
40
- * @param config - A newly instantiated config object
41
- * @param overrides - Parameters to override default behaviour
42
- * returns the base Pixel streaming object
43
- */
44
- constructor(config: Config, overrides?: PixelStreamingOverrides);
45
- /**
46
- * Gets the element that contains the video stream element.
47
- */
48
- get videoElementParent(): HTMLElement;
49
- /**
50
- * Configure the settings with on change listeners and any additional per experience settings.
51
- */
52
- private configureSettings;
53
- /**
54
- * Activate the on screen keyboard when receiving the command from the streamer
55
- * @param command - the keyboard command
56
- */
57
- _activateOnScreenKeyboard(command: any): void;
58
- /**
59
- * Set the input control ownership
60
- * @param inputControlOwnership - does the user have input control ownership
61
- */
62
- _onInputControlOwnership(inputControlOwnership: boolean): void;
63
- /**
64
- * Instantiate the WebRTCPlayerController interface to provide WebRTCPlayerController functionality within this class and set up anything that requires it
65
- * @param webRtcPlayerController - a WebRtcPlayerController controller instance
66
- */
67
- private setWebRtcPlayerController;
68
- /**
69
- * Connect to signaling server.
70
- */
71
- connect(): void;
72
- /**
73
- * Reconnects to the signaling server. If connection is up, disconnects first
74
- * before establishing a new connection
75
- */
76
- reconnect(): void;
77
- /**
78
- * Disconnect from the signaling server and close open peer connections.
79
- */
80
- disconnect(): void;
81
- /**
82
- * Play the stream. Can be called only after a peer connection has been established.
83
- */
84
- play(): void;
85
- /**
86
- * Auto connect if AutoConnect flag is enabled
87
- */
88
- private checkForAutoConnect;
89
- /**
90
- * Will unmute the microphone track which is sent to Unreal Engine.
91
- * By default, will only unmute an existing mic track.
92
- *
93
- * @param forceEnable Can be used for cases when this object wasn't initialized with a mic track.
94
- * If this parameter is true, the connection will be restarted with a microphone.
95
- * Warning: this takes some time, as a full renegotiation and reconnection will happen.
96
- */
97
- unmuteMicrophone(forceEnable?: boolean): void;
98
- muteMicrophone(): void;
99
- private setMicrophoneMuted;
100
- /**
101
- * Emit an event on auto connecting
102
- */
103
- _onWebRtcAutoConnect(): void;
104
- /**
105
- * Set up functionality to happen when receiving a webRTC answer
106
- */
107
- _onWebRtcSdp(): void;
108
- /**
109
- * Emits a StreamLoading event
110
- */
111
- _onStreamLoading(): void;
112
- /**
113
- * Event fired when the video is disconnected - emits given eventString or an override
114
- * message from webRtcController if one has been set
115
- * @param eventString - a string describing why the connection closed
116
- * @param allowClickToReconnect - true if we want to allow the user to retry the connection with a click
117
- */
118
- _onDisconnect(eventString: string, allowClickToReconnect: boolean): void;
119
- /**
120
- * Handles when Web Rtc is connecting
121
- */
122
- _onWebRtcConnecting(): void;
123
- /**
124
- * Handles when Web Rtc has connected
125
- */
126
- _onWebRtcConnected(): void;
127
- /**
128
- * Handles when Web Rtc fails to connect
129
- */
130
- _onWebRtcFailed(): void;
131
- /**
132
- * Handle when the Video has been Initialized
133
- */
134
- _onVideoInitialized(): void;
135
- /**
136
- * Set up functionality to happen when receiving latency test results
137
- * @param latency - latency test results object
138
- */
139
- _onLatencyTestResult(latencyTimings: LatencyTestResults): void;
140
- _onDataChannelLatencyTestResponse(response: DataChannelLatencyTestResponse): void;
141
- /**
142
- * Set up functionality to happen when receiving video statistics
143
- * @param videoStats - video statistics as a aggregate stats object
144
- */
145
- _onVideoStats(videoStats: AggregatedStats): void;
146
- /**
147
- * Set up functionality to happen when calculating the average video encoder qp
148
- * @param QP - the quality number of the stream
149
- */
150
- _onVideoEncoderAvgQP(QP: number): void;
151
- /**
152
- * Set up functionality to happen when receiving and handling initial settings for the UE app
153
- * @param settings - initial UE app settings
154
- */
155
- _onInitialSettings(settings: InitialSettings): void;
156
- /**
157
- * Set up functionality to happen when setting quality control ownership of a stream
158
- * @param hasQualityOwnership - does this user have quality ownership of the stream true / false
159
- */
160
- _onQualityControlOwnership(hasQualityOwnership: boolean): void;
161
- _onPlayerCount(playerCount: number): void;
162
- _setupWebRtcTCPRelayDetection(statsReceivedEvent: StatsReceivedEvent): void;
163
- /**
164
- * Request a connection latency test.
165
- * NOTE: There are plans to refactor all request* functions. Expect changes if you use this!
166
- * @returns
167
- */
168
- requestLatencyTest(): boolean;
169
- /**
170
- * Request a data channel latency test.
171
- * NOTE: There are plans to refactor all request* functions. Expect changes if you use this!
172
- */
173
- requestDataChannelLatencyTest(config: DataChannelLatencyTestConfig): boolean;
174
- /**
175
- * Request for the UE application to show FPS counter.
176
- * NOTE: There are plans to refactor all request* functions. Expect changes if you use this!
177
- * @returns
178
- */
179
- requestShowFps(): boolean;
180
- /**
181
- * Request for a new IFrame from the UE application.
182
- * NOTE: There are plans to refactor all request* functions. Expect changes if you use this!
183
- * @returns
184
- */
185
- requestIframe(): boolean;
186
- /**
187
- * Send data to UE application. The data will be run through JSON.stringify() so e.g. strings
188
- * and any serializable plain JSON objects with no recurrence can be sent.
189
- * @returns true if succeeded, false if rejected
190
- */
191
- emitUIInteraction(descriptor: object | string): boolean;
192
- /**
193
- * Send a command to UE application. Blocks ConsoleCommand descriptors unless UE
194
- * has signaled that it allows console commands.
195
- * @returns true if succeeded, false if rejected
196
- */
197
- emitCommand(descriptor: object): boolean;
198
- /**
199
- * Send a console command to UE application. Only allowed if UE has signaled that it allows
200
- * console commands.
201
- * @returns true if succeeded, false if rejected
202
- */
203
- emitConsoleCommand(command: string): boolean;
204
- /**
205
- * Add a UE -> browser response event listener
206
- * @param name - The name of the response handler
207
- * @param listener - The method to be activated when a message is received
208
- */
209
- addResponseEventListener(name: string, listener: (response: string) => void): void;
210
- /**
211
- * Remove a UE -> browser response event listener
212
- * @param name - The name of the response handler
213
- */
214
- removeResponseEventListener(name: string): void;
215
- /**
216
- * Dispatch a new event.
217
- * @param e event
218
- * @returns
219
- */
220
- dispatchEvent(e: PixelStreamingEvent): boolean;
221
- /**
222
- * Register an event handler.
223
- * @param type event name
224
- * @param listener event handler function
225
- */
226
- addEventListener<T extends PixelStreamingEvent['type'], E extends PixelStreamingEvent & {
227
- type: T;
228
- }>(type: T, listener: (e: Event & E) => void): void;
229
- /**
230
- * Remove an event handler.
231
- * @param type event name
232
- * @param listener event handler function
233
- */
234
- removeEventListener<T extends PixelStreamingEvent['type'], E extends PixelStreamingEvent & {
235
- type: T;
236
- }>(type: T, listener: (e: Event & E) => void): void;
237
- /**
238
- * Enable/disable XR mode.
239
- */
240
- toggleXR(): void;
241
- /**
242
- * Pass in a function to generate a signalling server URL.
243
- * This function is useful if you need to programmatically construct your signalling server URL.
244
- * @param signallingUrlBuilderFunc A function that generates a signalling server url.
245
- */
246
- setSignallingUrlBuilder(signallingUrlBuilderFunc: () => string): void;
247
- /**
248
- * Public getter for the websocket controller. Access to this property allows you to send
249
- * custom websocket messages.
250
- */
251
- get signallingProtocol(): import("@epicgames-ps/lib-pixelstreamingcommon-ue5.5").SignallingProtocol;
252
- /**
253
- * Public getter for the webXrController controller. Used for all XR features.
254
- */
255
- get webXrController(): WebXRController;
256
- registerMessageHandler(name: string, direction: MessageDirection, handler?: (data: ArrayBuffer | Array<number | string>) => void): void;
257
- get toStreamerHandlers(): Map<string, (messageData?: (string | number)[]) => void>;
258
- isReconnecting(): boolean;
259
- }
1
+ import { Config } from '../Config/Config';
2
+ import { LatencyTestResults } from '../DataChannel/LatencyTestResults';
3
+ import { AggregatedStats } from '../PeerConnectionController/AggregatedStats';
4
+ import { WebRtcPlayerController } from '../WebRtcPlayer/WebRtcPlayerController';
5
+ import { InitialSettings } from '../DataChannel/InitialSettings';
6
+ import { PixelStreamingEvent, StatsReceivedEvent } from '../Util/EventEmitter';
7
+ import { WebXRController } from '../WebXR/WebXRController';
8
+ import { MessageDirection } from '../UeInstanceMessage/StreamMessageController';
9
+ import { DataChannelLatencyTestConfig, DataChannelLatencyTestController } from '../DataChannel/DataChannelLatencyTestController';
10
+ import { DataChannelLatencyTestResponse } from '../DataChannel/DataChannelLatencyTestResults';
11
+ export interface PixelStreamingOverrides {
12
+ /** The DOM element where Pixel Streaming video and user input event handlers are attached to.
13
+ * You can give an existing DOM element here. If not given, the library will create a new div element
14
+ * that is not attached anywhere. In this case you can later get access to this new element and
15
+ * attach it to your web page. */
16
+ videoElementParent?: HTMLElement;
17
+ }
18
+ /**
19
+ * The key class for the browser side of a Pixel Streaming application, it includes:
20
+ * WebRTC handling, XR support, input handling, and emitters for lifetime and state change events.
21
+ * Users are encouraged to use this class as is, through composition, or extend it. In any case,
22
+ * this will likely be the core of your Pixel Streaming experience in terms of functionality.
23
+ */
24
+ export declare class PixelStreaming {
25
+ protected _webRtcController: WebRtcPlayerController;
26
+ protected _webXrController: WebXRController;
27
+ protected _dataChannelLatencyTestController: DataChannelLatencyTestController;
28
+ /**
29
+ * Configuration object. You can read or modify config through this object. Whenever
30
+ * the configuration is changed, the library will emit a `settingsChanged` event.
31
+ */
32
+ config: Config;
33
+ private _videoElementParent;
34
+ private allowConsoleCommands;
35
+ private onScreenKeyboardHelper;
36
+ private _videoStartTime;
37
+ private _inputController;
38
+ private _eventEmitter;
39
+ /**
40
+ * @param config - A newly instantiated config object
41
+ * @param overrides - Parameters to override default behaviour
42
+ * returns the base Pixel streaming object
43
+ */
44
+ constructor(config: Config, overrides?: PixelStreamingOverrides);
45
+ /**
46
+ * Gets the element that contains the video stream element.
47
+ */
48
+ get videoElementParent(): HTMLElement;
49
+ /**
50
+ * Configure the settings with on change listeners and any additional per experience settings.
51
+ */
52
+ private configureSettings;
53
+ /**
54
+ * Activate the on screen keyboard when receiving the command from the streamer
55
+ * @param command - the keyboard command
56
+ */
57
+ _activateOnScreenKeyboard(command: any): void;
58
+ /**
59
+ * Set the input control ownership
60
+ * @param inputControlOwnership - does the user have input control ownership
61
+ */
62
+ _onInputControlOwnership(inputControlOwnership: boolean): void;
63
+ /**
64
+ * Instantiate the WebRTCPlayerController interface to provide WebRTCPlayerController functionality within this class and set up anything that requires it
65
+ * @param webRtcPlayerController - a WebRtcPlayerController controller instance
66
+ */
67
+ private setWebRtcPlayerController;
68
+ /**
69
+ * Connect to signaling server.
70
+ */
71
+ connect(): void;
72
+ /**
73
+ * Reconnects to the signaling server. If connection is up, disconnects first
74
+ * before establishing a new connection
75
+ */
76
+ reconnect(): void;
77
+ /**
78
+ * Disconnect from the signaling server and close open peer connections.
79
+ */
80
+ disconnect(): void;
81
+ /**
82
+ * Play the stream. Can be called only after a peer connection has been established.
83
+ */
84
+ play(): void;
85
+ /**
86
+ * Auto connect if AutoConnect flag is enabled
87
+ */
88
+ private checkForAutoConnect;
89
+ /**
90
+ * Will unmute the microphone track which is sent to Unreal Engine.
91
+ * By default, will only unmute an existing mic track.
92
+ *
93
+ * @param forceEnable Can be used for cases when this object wasn't initialized with a mic track.
94
+ * If this parameter is true, the connection will be restarted with a microphone.
95
+ * Warning: this takes some time, as a full renegotiation and reconnection will happen.
96
+ */
97
+ unmuteMicrophone(forceEnable?: boolean): void;
98
+ muteMicrophone(): void;
99
+ private setMicrophoneMuted;
100
+ /**
101
+ * Will unmute the video track which is sent to Unreal Engine.
102
+ * By default, will only unmute an existing video track.
103
+ *
104
+ * @param forceEnable Can be used for cases when this object wasn't initialized with a video track.
105
+ * If this parameter is true, the connection will be restarted with a camera.
106
+ * Warning: this takes some time, as a full renegotiation and reconnection will happen.
107
+ */
108
+ unmuteCamera(forceEnable?: boolean): void;
109
+ muteCamera(): void;
110
+ private setCameraMuted;
111
+ /**
112
+ * Emit an event on auto connecting
113
+ */
114
+ _onWebRtcAutoConnect(): void;
115
+ /**
116
+ * Set up functionality to happen when receiving a webRTC answer
117
+ */
118
+ _onWebRtcSdp(): void;
119
+ /**
120
+ * Emits a StreamLoading event
121
+ */
122
+ _onStreamLoading(): void;
123
+ /**
124
+ * Event fired when the video is disconnected - emits given eventString or an override
125
+ * message from webRtcController if one has been set
126
+ * @param eventString - a string describing why the connection closed
127
+ * @param allowClickToReconnect - true if we want to allow the user to retry the connection with a click
128
+ */
129
+ _onDisconnect(eventString: string, allowClickToReconnect: boolean): void;
130
+ /**
131
+ * Handles when Web Rtc is connecting
132
+ */
133
+ _onWebRtcConnecting(): void;
134
+ /**
135
+ * Handles when Web Rtc has connected
136
+ */
137
+ _onWebRtcConnected(): void;
138
+ /**
139
+ * Handles when Web Rtc fails to connect
140
+ */
141
+ _onWebRtcFailed(): void;
142
+ /**
143
+ * Handle when the Video has been Initialized
144
+ */
145
+ _onVideoInitialized(): void;
146
+ /**
147
+ * Set up functionality to happen when receiving latency test results
148
+ * @param latency - latency test results object
149
+ */
150
+ _onLatencyTestResult(latencyTimings: LatencyTestResults): void;
151
+ _onDataChannelLatencyTestResponse(response: DataChannelLatencyTestResponse): void;
152
+ /**
153
+ * Set up functionality to happen when receiving video statistics
154
+ * @param videoStats - video statistics as a aggregate stats object
155
+ */
156
+ _onVideoStats(videoStats: AggregatedStats): void;
157
+ /**
158
+ * Set up functionality to happen when calculating the average video encoder qp
159
+ * @param QP - the quality number of the stream
160
+ */
161
+ _onVideoEncoderAvgQP(QP: number): void;
162
+ /**
163
+ * Set up functionality to happen when receiving and handling initial settings for the UE app
164
+ * @param settings - initial UE app settings
165
+ */
166
+ _onInitialSettings(settings: InitialSettings): void;
167
+ /**
168
+ * Set up functionality to happen when setting quality control ownership of a stream
169
+ * @param hasQualityOwnership - does this user have quality ownership of the stream true / false
170
+ */
171
+ _onQualityControlOwnership(hasQualityOwnership: boolean): void;
172
+ _onPlayerCount(playerCount: number): void;
173
+ _setupWebRtcTCPRelayDetection(statsReceivedEvent: StatsReceivedEvent): void;
174
+ /**
175
+ * Request a connection latency test.
176
+ * NOTE: There are plans to refactor all request* functions. Expect changes if you use this!
177
+ * @returns
178
+ */
179
+ requestLatencyTest(): boolean;
180
+ /**
181
+ * Request a data channel latency test.
182
+ * NOTE: There are plans to refactor all request* functions. Expect changes if you use this!
183
+ */
184
+ requestDataChannelLatencyTest(config: DataChannelLatencyTestConfig): boolean;
185
+ /**
186
+ * Request for the UE application to show FPS counter.
187
+ * NOTE: There are plans to refactor all request* functions. Expect changes if you use this!
188
+ * @returns
189
+ */
190
+ requestShowFps(): boolean;
191
+ /**
192
+ * Request for a new IFrame from the UE application.
193
+ * NOTE: There are plans to refactor all request* functions. Expect changes if you use this!
194
+ * @returns
195
+ */
196
+ requestIframe(): boolean;
197
+ /**
198
+ * Send data to UE application. The data will be run through JSON.stringify() so e.g. strings
199
+ * and any serializable plain JSON objects with no recurrence can be sent.
200
+ * @returns true if succeeded, false if rejected
201
+ */
202
+ emitUIInteraction(descriptor: object | string): boolean;
203
+ /**
204
+ * Send a command to UE application. Blocks ConsoleCommand descriptors unless UE
205
+ * has signaled that it allows console commands.
206
+ * @returns true if succeeded, false if rejected
207
+ */
208
+ emitCommand(descriptor: object): boolean;
209
+ /**
210
+ * Send a console command to UE application. Only allowed if UE has signaled that it allows
211
+ * console commands.
212
+ * @returns true if succeeded, false if rejected
213
+ */
214
+ emitConsoleCommand(command: string): boolean;
215
+ /**
216
+ * Add a UE -> browser response event listener
217
+ * @param name - The name of the response handler
218
+ * @param listener - The method to be activated when a message is received
219
+ */
220
+ addResponseEventListener(name: string, listener: (response: string) => void): void;
221
+ /**
222
+ * Remove a UE -> browser response event listener
223
+ * @param name - The name of the response handler
224
+ */
225
+ removeResponseEventListener(name: string): void;
226
+ /**
227
+ * Dispatch a new event.
228
+ * @param e event
229
+ * @returns
230
+ */
231
+ dispatchEvent(e: PixelStreamingEvent): boolean;
232
+ /**
233
+ * Register an event handler.
234
+ * @param type event name
235
+ * @param listener event handler function
236
+ */
237
+ addEventListener<T extends PixelStreamingEvent['type'], E extends PixelStreamingEvent & {
238
+ type: T;
239
+ }>(type: T, listener: (e: Event & E) => void): void;
240
+ /**
241
+ * Remove an event handler.
242
+ * @param type event name
243
+ * @param listener event handler function
244
+ */
245
+ removeEventListener<T extends PixelStreamingEvent['type'], E extends PixelStreamingEvent & {
246
+ type: T;
247
+ }>(type: T, listener: (e: Event & E) => void): void;
248
+ /**
249
+ * Enable/disable XR mode.
250
+ */
251
+ toggleXR(): void;
252
+ /**
253
+ * Pass in a function to generate a signalling server URL.
254
+ * This function is useful if you need to programmatically construct your signalling server URL.
255
+ * @param signallingUrlBuilderFunc A function that generates a signalling server url.
256
+ */
257
+ setSignallingUrlBuilder(signallingUrlBuilderFunc: () => string): void;
258
+ get webRtcController(): WebRtcPlayerController;
259
+ /**
260
+ * Public getter for the websocket controller. Access to this property allows you to send
261
+ * custom websocket messages.
262
+ */
263
+ get signallingProtocol(): import("@epicgames-ps/lib-pixelstreamingcommon-ue5.5").SignallingProtocol;
264
+ /**
265
+ * Public getter for the webXrController controller. Used for all XR features.
266
+ */
267
+ get webXrController(): WebXRController;
268
+ registerMessageHandler(name: string, direction: MessageDirection, handler?: (data: ArrayBuffer | Array<number | string>) => void): void;
269
+ get toStreamerHandlers(): Map<string, (messageData?: (string | number)[]) => void>;
270
+ isReconnecting(): boolean;
271
+ }
@@ -1,30 +1,30 @@
1
- import { UnquantizedDenormalizedUnsignedCoord } from '../Util/CoordinateConverter';
2
- /**
3
- * Class for handling on screen keyboard usage
4
- */
5
- export declare class OnScreenKeyboard {
6
- editTextButton: HTMLButtonElement;
7
- hiddenInput: HTMLInputElement;
8
- /**
9
- *
10
- * @param videoElementParent The div element the video player is injected into
11
- */
12
- constructor(videoElementParent: HTMLElement);
13
- /**
14
- * An override for unquantizeAndDenormalizeUnsigned
15
- * @param x the x axis point
16
- * @param y the y axis point
17
- * @returns unquantizeAndDenormalizeUnsigned object
18
- */
19
- unquantizeAndDenormalizeUnsigned(x: number, y: number): UnquantizedDenormalizedUnsignedCoord;
20
- /**
21
- * Creates on screen keyboard helpers
22
- * @param videoElementParent The div element the video player i injected into
23
- */
24
- createOnScreenKeyboardHelpers(videoElementParent: HTMLElement): void;
25
- /**
26
- * Shows the on screen keyboard
27
- * @param command the command received via the data channel containing keyboard positions
28
- */
29
- showOnScreenKeyboard(command: any): void;
30
- }
1
+ import { UntranslatedCoordUnsigned } from '../Util/InputCoordTranslator';
2
+ /**
3
+ * Class for handling on screen keyboard usage
4
+ */
5
+ export declare class OnScreenKeyboard {
6
+ editTextButton: HTMLButtonElement;
7
+ hiddenInput: HTMLInputElement;
8
+ /**
9
+ *
10
+ * @param videoElementParent The div element the video player is injected into
11
+ */
12
+ constructor(videoElementParent: HTMLElement);
13
+ /**
14
+ * An override for unquantizeAndDenormalizeUnsigned
15
+ * @param x the x axis point
16
+ * @param y the y axis point
17
+ * @returns unquantizeAndDenormalizeUnsigned object
18
+ */
19
+ unquantizeAndDenormalizeUnsigned(x: number, y: number): UntranslatedCoordUnsigned;
20
+ /**
21
+ * Creates on screen keyboard helpers
22
+ * @param videoElementParent The div element the video player i injected into
23
+ */
24
+ createOnScreenKeyboardHelpers(videoElementParent: HTMLElement): void;
25
+ /**
26
+ * Shows the on screen keyboard
27
+ * @param command the command received via the data channel containing keyboard positions
28
+ */
29
+ showOnScreenKeyboard(command: any): void;
30
+ }
@@ -1,19 +1,19 @@
1
- export declare class ResponseController {
2
- responseEventListeners: Map<string, (response: string) => void>;
3
- /**
4
- * Add a response event listener to the response map
5
- * @param name - The name of the response
6
- * @param listener - The method to be activated when the response is selected
7
- */
8
- addResponseEventListener(name: string, listener: (response: string) => void): void;
9
- /**
10
- * Remove a response event listener to the response map
11
- * @param name - The name of the response
12
- */
13
- removeResponseEventListener(name: string): void;
14
- /**
15
- * Handle a response when receiving one form the streamer
16
- * @param message - Data received from the data channel with the command in question
17
- */
18
- onResponse(message: ArrayBuffer): void;
19
- }
1
+ export declare class ResponseController {
2
+ responseEventListeners: Map<string, (response: string) => void>;
3
+ /**
4
+ * Add a response event listener to the response map
5
+ * @param name - The name of the response
6
+ * @param listener - The method to be activated when the response is selected
7
+ */
8
+ addResponseEventListener(name: string, listener: (response: string) => void): void;
9
+ /**
10
+ * Remove a response event listener to the response map
11
+ * @param name - The name of the response
12
+ */
13
+ removeResponseEventListener(name: string): void;
14
+ /**
15
+ * Handle a response when receiving one form the streamer
16
+ * @param message - Data received from the data channel with the command in question
17
+ */
18
+ onResponse(message: ArrayBuffer): void;
19
+ }