@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.2.1 → 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 (298) hide show
  1. package/dist/commonjs/AFK/AFKController.js +110 -0
  2. package/dist/commonjs/AFK/AFKController.js.map +1 -0
  3. package/dist/commonjs/Config/Config.js +560 -0
  4. package/dist/commonjs/Config/Config.js.map +1 -0
  5. package/dist/commonjs/Config/SettingBase.js +99 -0
  6. package/dist/commonjs/Config/SettingBase.js.map +1 -0
  7. package/dist/commonjs/Config/SettingFlag.js +50 -0
  8. package/dist/commonjs/Config/SettingFlag.js.map +1 -0
  9. package/dist/commonjs/Config/SettingNumber.js +84 -0
  10. package/dist/commonjs/Config/SettingNumber.js.map +1 -0
  11. package/dist/commonjs/Config/SettingOption.js +85 -0
  12. package/dist/commonjs/Config/SettingOption.js.map +1 -0
  13. package/dist/commonjs/Config/SettingText.js +43 -0
  14. package/dist/commonjs/Config/SettingText.js.map +1 -0
  15. package/dist/commonjs/DataChannel/DataChannelController.js +107 -0
  16. package/dist/commonjs/DataChannel/DataChannelController.js.map +1 -0
  17. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js +95 -0
  18. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js.map +1 -0
  19. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js +19 -0
  20. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js.map +1 -0
  21. package/dist/commonjs/DataChannel/DataChannelSender.js +44 -0
  22. package/dist/commonjs/DataChannel/DataChannelSender.js.map +1 -0
  23. package/dist/commonjs/DataChannel/InitialSettings.js +42 -0
  24. package/dist/commonjs/DataChannel/InitialSettings.js.map +1 -0
  25. package/dist/commonjs/DataChannel/LatencyTestResults.js +61 -0
  26. package/dist/commonjs/DataChannel/LatencyTestResults.js.map +1 -0
  27. package/dist/commonjs/FreezeFrame/FreezeFrame.js +94 -0
  28. package/dist/commonjs/FreezeFrame/FreezeFrame.js.map +1 -0
  29. package/dist/commonjs/FreezeFrame/FreezeFrameController.js +96 -0
  30. package/dist/commonjs/FreezeFrame/FreezeFrameController.js.map +1 -0
  31. package/dist/commonjs/Inputs/GamepadController.js +189 -0
  32. package/dist/commonjs/Inputs/GamepadController.js.map +1 -0
  33. package/dist/commonjs/Inputs/GamepadTypes.js +22 -0
  34. package/dist/commonjs/Inputs/GamepadTypes.js.map +1 -0
  35. package/dist/commonjs/Inputs/IInputController.js +3 -0
  36. package/dist/commonjs/Inputs/IInputController.js.map +1 -0
  37. package/dist/commonjs/Inputs/InputClassesFactory.js +97 -0
  38. package/dist/commonjs/Inputs/InputClassesFactory.js.map +1 -0
  39. package/dist/commonjs/Inputs/KeyCodes.js +113 -0
  40. package/dist/commonjs/Inputs/KeyCodes.js.map +1 -0
  41. package/dist/commonjs/Inputs/KeyboardController.js +138 -0
  42. package/dist/commonjs/Inputs/KeyboardController.js.map +1 -0
  43. package/dist/commonjs/Inputs/MouseButtons.js +29 -0
  44. package/dist/commonjs/Inputs/MouseButtons.js.map +1 -0
  45. package/dist/commonjs/Inputs/MouseController.js +98 -0
  46. package/dist/commonjs/Inputs/MouseController.js.map +1 -0
  47. package/dist/commonjs/Inputs/MouseControllerHovering.js +94 -0
  48. package/dist/commonjs/Inputs/MouseControllerHovering.js.map +1 -0
  49. package/dist/commonjs/Inputs/MouseControllerLocked.js +154 -0
  50. package/dist/commonjs/Inputs/MouseControllerLocked.js.map +1 -0
  51. package/dist/commonjs/Inputs/SpecialKeyCodes.js +20 -0
  52. package/dist/commonjs/Inputs/SpecialKeyCodes.js.map +1 -0
  53. package/dist/commonjs/Inputs/TouchController.js +124 -0
  54. package/dist/commonjs/Inputs/TouchController.js.map +1 -0
  55. package/dist/commonjs/Inputs/TouchControllerFake.js +92 -0
  56. package/dist/commonjs/Inputs/TouchControllerFake.js.map +1 -0
  57. package/dist/commonjs/Inputs/XRGamepadController.js +125 -0
  58. package/dist/commonjs/Inputs/XRGamepadController.js.map +1 -0
  59. package/dist/commonjs/PeerConnectionController/AggregatedStats.js +253 -0
  60. package/dist/commonjs/PeerConnectionController/AggregatedStats.js.map +1 -0
  61. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js +11 -0
  62. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js.map +1 -0
  63. package/dist/commonjs/PeerConnectionController/CandidateStat.js +11 -0
  64. package/dist/commonjs/PeerConnectionController/CandidateStat.js.map +1 -0
  65. package/dist/commonjs/PeerConnectionController/CodecStats.js +11 -0
  66. package/dist/commonjs/PeerConnectionController/CodecStats.js.map +1 -0
  67. package/dist/commonjs/PeerConnectionController/DataChannelStats.js +11 -0
  68. package/dist/commonjs/PeerConnectionController/DataChannelStats.js.map +1 -0
  69. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js +23 -0
  70. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js.map +1 -0
  71. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js +11 -0
  72. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js.map +1 -0
  73. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js +17 -0
  74. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js.map +1 -0
  75. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js +585 -0
  76. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js.map +1 -0
  77. package/dist/commonjs/PeerConnectionController/SessionStats.js +11 -0
  78. package/dist/commonjs/PeerConnectionController/SessionStats.js.map +1 -0
  79. package/dist/commonjs/PeerConnectionController/StreamStats.js +11 -0
  80. package/dist/commonjs/PeerConnectionController/StreamStats.js.map +1 -0
  81. package/dist/commonjs/PixelStreaming/PixelStreaming.js +608 -0
  82. package/dist/commonjs/PixelStreaming/PixelStreaming.js.map +1 -0
  83. package/dist/commonjs/UI/OnScreenKeyboard.js +83 -0
  84. package/dist/commonjs/UI/OnScreenKeyboard.js.map +1 -0
  85. package/dist/commonjs/UeInstanceMessage/ResponseController.js +39 -0
  86. package/dist/commonjs/UeInstanceMessage/ResponseController.js.map +1 -0
  87. package/dist/commonjs/UeInstanceMessage/SendMessageController.js +121 -0
  88. package/dist/commonjs/UeInstanceMessage/SendMessageController.js.map +1 -0
  89. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js +211 -0
  90. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js.map +1 -0
  91. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js +50 -0
  92. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -0
  93. package/dist/commonjs/Util/EventEmitter.js +387 -0
  94. package/dist/commonjs/Util/EventEmitter.js.map +1 -0
  95. package/dist/commonjs/Util/FileUtil.js +109 -0
  96. package/dist/commonjs/Util/FileUtil.js.map +1 -0
  97. package/dist/commonjs/Util/IURLSearchParams.js +26 -0
  98. package/dist/commonjs/Util/IURLSearchParams.js.map +1 -0
  99. package/dist/commonjs/Util/InputCoordTranslator.js +50 -0
  100. package/dist/commonjs/Util/InputCoordTranslator.js.map +1 -0
  101. package/dist/commonjs/Util/RTCUtils.js +41 -0
  102. package/dist/commonjs/Util/RTCUtils.js.map +1 -0
  103. package/dist/commonjs/VideoPlayer/StreamController.js +68 -0
  104. package/dist/commonjs/VideoPlayer/StreamController.js.map +1 -0
  105. package/dist/commonjs/VideoPlayer/VideoPlayer.js +178 -0
  106. package/dist/commonjs/VideoPlayer/VideoPlayer.js.map +1 -0
  107. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js +1224 -0
  108. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
  109. package/dist/commonjs/WebXR/WebXRController.js +361 -0
  110. package/dist/commonjs/WebXR/WebXRController.js.map +1 -0
  111. package/dist/commonjs/pixelstreamingfrontend.js +71 -0
  112. package/dist/commonjs/pixelstreamingfrontend.js.map +1 -0
  113. package/dist/esm/AFK/AFKController.js +106 -0
  114. package/dist/esm/AFK/AFKController.js.map +1 -0
  115. package/dist/esm/Config/Config.js +552 -0
  116. package/dist/esm/Config/Config.js.map +1 -0
  117. package/dist/esm/Config/SettingBase.js +95 -0
  118. package/dist/esm/Config/SettingBase.js.map +1 -0
  119. package/dist/esm/Config/SettingFlag.js +46 -0
  120. package/dist/esm/Config/SettingFlag.js.map +1 -0
  121. package/dist/esm/Config/SettingNumber.js +80 -0
  122. package/dist/esm/Config/SettingNumber.js.map +1 -0
  123. package/dist/esm/Config/SettingOption.js +81 -0
  124. package/dist/esm/Config/SettingOption.js.map +1 -0
  125. package/dist/esm/Config/SettingText.js +39 -0
  126. package/dist/esm/Config/SettingText.js.map +1 -0
  127. package/dist/esm/DataChannel/DataChannelController.js +103 -0
  128. package/dist/esm/DataChannel/DataChannelController.js.map +1 -0
  129. package/dist/esm/DataChannel/DataChannelLatencyTestController.js +91 -0
  130. package/dist/esm/DataChannel/DataChannelLatencyTestController.js.map +1 -0
  131. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +15 -0
  132. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js.map +1 -0
  133. package/dist/esm/DataChannel/DataChannelSender.js +40 -0
  134. package/dist/esm/DataChannel/DataChannelSender.js.map +1 -0
  135. package/dist/esm/DataChannel/InitialSettings.js +35 -0
  136. package/dist/esm/DataChannel/InitialSettings.js.map +1 -0
  137. package/dist/esm/DataChannel/LatencyTestResults.js +57 -0
  138. package/dist/esm/DataChannel/LatencyTestResults.js.map +1 -0
  139. package/dist/esm/FreezeFrame/FreezeFrame.js +90 -0
  140. package/dist/esm/FreezeFrame/FreezeFrame.js.map +1 -0
  141. package/dist/esm/FreezeFrame/FreezeFrameController.js +92 -0
  142. package/dist/esm/FreezeFrame/FreezeFrameController.js.map +1 -0
  143. package/dist/esm/Inputs/GamepadController.js +185 -0
  144. package/dist/esm/Inputs/GamepadController.js.map +1 -0
  145. package/dist/esm/Inputs/GamepadTypes.js +18 -0
  146. package/dist/esm/Inputs/GamepadTypes.js.map +1 -0
  147. package/dist/esm/Inputs/IInputController.js +2 -0
  148. package/dist/esm/Inputs/IInputController.js.map +1 -0
  149. package/dist/esm/Inputs/InputClassesFactory.js +92 -0
  150. package/dist/esm/Inputs/InputClassesFactory.js.map +1 -0
  151. package/dist/esm/Inputs/KeyCodes.js +110 -0
  152. package/dist/esm/Inputs/KeyCodes.js.map +1 -0
  153. package/dist/esm/Inputs/KeyboardController.js +134 -0
  154. package/dist/esm/Inputs/KeyboardController.js.map +1 -0
  155. package/dist/esm/Inputs/MouseButtons.js +24 -0
  156. package/dist/esm/Inputs/MouseButtons.js.map +1 -0
  157. package/dist/esm/Inputs/MouseController.js +94 -0
  158. package/dist/esm/Inputs/MouseController.js.map +1 -0
  159. package/dist/esm/Inputs/MouseControllerHovering.js +90 -0
  160. package/dist/esm/Inputs/MouseControllerHovering.js.map +1 -0
  161. package/dist/esm/Inputs/MouseControllerLocked.js +150 -0
  162. package/dist/esm/Inputs/MouseControllerLocked.js.map +1 -0
  163. package/dist/esm/Inputs/SpecialKeyCodes.js +16 -0
  164. package/dist/esm/Inputs/SpecialKeyCodes.js.map +1 -0
  165. package/dist/esm/Inputs/TouchController.js +120 -0
  166. package/dist/esm/Inputs/TouchController.js.map +1 -0
  167. package/dist/esm/Inputs/TouchControllerFake.js +88 -0
  168. package/dist/esm/Inputs/TouchControllerFake.js.map +1 -0
  169. package/dist/esm/Inputs/XRGamepadController.js +121 -0
  170. package/dist/esm/Inputs/XRGamepadController.js.map +1 -0
  171. package/dist/esm/PeerConnectionController/AggregatedStats.js +249 -0
  172. package/dist/esm/PeerConnectionController/AggregatedStats.js.map +1 -0
  173. package/dist/esm/PeerConnectionController/CandidatePairStats.js +7 -0
  174. package/dist/esm/PeerConnectionController/CandidatePairStats.js.map +1 -0
  175. package/dist/esm/PeerConnectionController/CandidateStat.js +7 -0
  176. package/dist/esm/PeerConnectionController/CandidateStat.js.map +1 -0
  177. package/dist/esm/PeerConnectionController/CodecStats.js +7 -0
  178. package/dist/esm/PeerConnectionController/CodecStats.js.map +1 -0
  179. package/dist/esm/PeerConnectionController/DataChannelStats.js +7 -0
  180. package/dist/esm/PeerConnectionController/DataChannelStats.js.map +1 -0
  181. package/dist/esm/PeerConnectionController/InboundRTPStats.js +17 -0
  182. package/dist/esm/PeerConnectionController/InboundRTPStats.js.map +1 -0
  183. package/dist/esm/PeerConnectionController/InboundTrackStats.js +7 -0
  184. package/dist/esm/PeerConnectionController/InboundTrackStats.js.map +1 -0
  185. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +12 -0
  186. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js.map +1 -0
  187. package/dist/esm/PeerConnectionController/PeerConnectionController.js +581 -0
  188. package/dist/esm/PeerConnectionController/PeerConnectionController.js.map +1 -0
  189. package/dist/esm/PeerConnectionController/SessionStats.js +7 -0
  190. package/dist/esm/PeerConnectionController/SessionStats.js.map +1 -0
  191. package/dist/esm/PeerConnectionController/StreamStats.js +7 -0
  192. package/dist/esm/PeerConnectionController/StreamStats.js.map +1 -0
  193. package/dist/esm/PixelStreaming/PixelStreaming.js +604 -0
  194. package/dist/esm/PixelStreaming/PixelStreaming.js.map +1 -0
  195. package/dist/esm/UI/OnScreenKeyboard.js +79 -0
  196. package/dist/esm/UI/OnScreenKeyboard.js.map +1 -0
  197. package/dist/esm/UeInstanceMessage/ResponseController.js +35 -0
  198. package/dist/esm/UeInstanceMessage/ResponseController.js.map +1 -0
  199. package/dist/esm/UeInstanceMessage/SendMessageController.js +117 -0
  200. package/dist/esm/UeInstanceMessage/SendMessageController.js.map +1 -0
  201. package/dist/esm/UeInstanceMessage/StreamMessageController.js +206 -0
  202. package/dist/esm/UeInstanceMessage/StreamMessageController.js.map +1 -0
  203. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +46 -0
  204. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -0
  205. package/dist/esm/Util/EventEmitter.js +346 -0
  206. package/dist/esm/Util/EventEmitter.js.map +1 -0
  207. package/dist/esm/Util/FileUtil.js +104 -0
  208. package/dist/esm/Util/FileUtil.js.map +1 -0
  209. package/dist/esm/Util/IURLSearchParams.js +22 -0
  210. package/dist/esm/Util/IURLSearchParams.js.map +1 -0
  211. package/dist/esm/Util/InputCoordTranslator.js +46 -0
  212. package/dist/esm/Util/InputCoordTranslator.js.map +1 -0
  213. package/dist/esm/Util/RTCUtils.js +37 -0
  214. package/dist/esm/Util/RTCUtils.js.map +1 -0
  215. package/dist/esm/VideoPlayer/StreamController.js +64 -0
  216. package/dist/esm/VideoPlayer/StreamController.js.map +1 -0
  217. package/dist/esm/VideoPlayer/VideoPlayer.js +174 -0
  218. package/dist/esm/VideoPlayer/VideoPlayer.js.map +1 -0
  219. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +1220 -0
  220. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
  221. package/dist/esm/WebXR/WebXRController.js +357 -0
  222. package/dist/esm/WebXR/WebXRController.js.map +1 -0
  223. package/dist/esm/pixelstreamingfrontend.js +25 -0
  224. package/dist/esm/pixelstreamingfrontend.js.map +1 -0
  225. package/{types → dist/types}/AFK/AFKController.d.ts +38 -38
  226. package/{types → dist/types}/Config/Config.d.ts +220 -220
  227. package/{types → dist/types}/Config/SettingBase.d.ts +43 -43
  228. package/{types → dist/types}/Config/SettingFlag.d.ts +24 -24
  229. package/{types → dist/types}/Config/SettingNumber.d.ts +41 -41
  230. package/{types → dist/types}/Config/SettingOption.d.ts +41 -34
  231. package/{types → dist/types}/Config/SettingText.d.ts +21 -21
  232. package/{types → dist/types}/DataChannel/DataChannelController.d.ts +59 -59
  233. package/{types → dist/types}/DataChannel/DataChannelLatencyTestController.d.ts +25 -26
  234. package/{types → dist/types}/DataChannel/DataChannelLatencyTestResults.d.ts +46 -46
  235. package/{types → dist/types}/DataChannel/DataChannelSender.d.ts +21 -21
  236. package/{types → dist/types}/DataChannel/InitialSettings.d.ts +44 -44
  237. package/{types → dist/types}/DataChannel/LatencyTestResults.d.ts +31 -31
  238. package/{types → dist/types}/FreezeFrame/FreezeFrame.d.ts +36 -36
  239. package/{types → dist/types}/FreezeFrame/FreezeFrameController.d.ts +37 -37
  240. package/{types → dist/types}/Inputs/GamepadController.d.ts +61 -61
  241. package/{types → dist/types}/Inputs/GamepadTypes.d.ts +15 -15
  242. package/{types → dist/types}/Inputs/IInputController.d.ts +16 -16
  243. package/{types → dist/types}/Inputs/InputClassesFactory.d.ts +53 -53
  244. package/{types → dist/types}/Inputs/KeyCodes.d.ts +5 -5
  245. package/{types → dist/types}/Inputs/KeyboardController.d.ts +34 -34
  246. package/{types → dist/types}/Inputs/MouseButtons.d.ts +22 -22
  247. package/{types → dist/types}/Inputs/MouseController.d.ts +40 -40
  248. package/{types → dist/types}/Inputs/MouseControllerHovering.d.ts +26 -26
  249. package/{types → dist/types}/Inputs/MouseControllerLocked.d.ts +31 -31
  250. package/{types → dist/types}/Inputs/SpecialKeyCodes.d.ts +14 -14
  251. package/{types → dist/types}/Inputs/TouchController.d.ts +28 -28
  252. package/{types → dist/types}/Inputs/TouchControllerFake.d.ts +29 -29
  253. package/{types → dist/types}/Inputs/XRGamepadController.d.ts +15 -15
  254. package/{types → dist/types}/PeerConnectionController/AggregatedStats.d.ts +82 -84
  255. package/{types → dist/types}/PeerConnectionController/CandidatePairStats.d.ts +22 -22
  256. package/{types → dist/types}/PeerConnectionController/CandidateStat.d.ts +13 -13
  257. package/{types → dist/types}/PeerConnectionController/CodecStats.d.ts +14 -14
  258. package/{types → dist/types}/PeerConnectionController/DataChannelStats.d.ts +15 -15
  259. package/{types → dist/types}/PeerConnectionController/InboundRTPStats.d.ts +141 -141
  260. package/{types → dist/types}/PeerConnectionController/InboundTrackStats.d.ts +32 -32
  261. package/{types → dist/types}/PeerConnectionController/OutBoundRTPStats.d.ts +23 -23
  262. package/{types → dist/types}/PeerConnectionController/PeerConnectionController.d.ts +143 -143
  263. package/{types → dist/types}/PeerConnectionController/SessionStats.d.ts +8 -8
  264. package/{types → dist/types}/PeerConnectionController/StreamStats.d.ts +9 -9
  265. package/{types → dist/types}/PixelStreaming/PixelStreaming.d.ts +271 -271
  266. package/{types → dist/types}/UI/OnScreenKeyboard.d.ts +30 -30
  267. package/{types → dist/types}/UeInstanceMessage/ResponseController.d.ts +19 -19
  268. package/{types → dist/types}/UeInstanceMessage/SendMessageController.d.ts +18 -18
  269. package/{types → dist/types}/UeInstanceMessage/StreamMessageController.d.ts +29 -29
  270. package/{types → dist/types}/UeInstanceMessage/ToStreamerMessagesController.d.ts +32 -32
  271. package/{types → dist/types}/Util/EventEmitter.d.ts +429 -429
  272. package/{types → dist/types}/Util/FileUtil.d.ts +32 -32
  273. package/{types → dist/types}/Util/IURLSearchParams.d.ts +9 -9
  274. package/{types → dist/types}/Util/InputCoordTranslator.d.ts +29 -29
  275. package/{types → dist/types}/Util/RTCUtils.d.ts +8 -8
  276. package/{types → dist/types}/VideoPlayer/StreamController.d.ts +22 -22
  277. package/{types → dist/types}/VideoPlayer/VideoPlayer.d.ts +78 -78
  278. package/{types → dist/types}/WebRtcPlayer/WebRtcPlayerController.d.ts +379 -379
  279. package/{types → dist/types}/WebXR/WebXRController.d.ts +42 -42
  280. package/{types → dist/types}/pixelstreamingfrontend.d.ts +23 -22
  281. package/package.json +10 -14
  282. package/readme.md +9 -1
  283. package/src/Config/Config.ts +74 -25
  284. package/src/Config/SettingNumber.ts +13 -5
  285. package/src/Config/SettingOption.ts +31 -13
  286. package/src/DataChannel/DataChannelLatencyTestController.ts +6 -6
  287. package/src/PeerConnectionController/AggregatedStats.ts +26 -27
  288. package/src/PeerConnectionController/PeerConnectionController.ts +38 -9
  289. package/src/WebRtcPlayer/WebRtcPlayerController.ts +1 -1
  290. package/src/pixelstreamingfrontend.ts +7 -1
  291. package/tsconfig.cjs.json +9 -0
  292. package/tsconfig.esm.json +7 -0
  293. package/tsconfig.json +4 -6
  294. package/dist/lib-pixelstreamingfrontend.esm.js +0 -1
  295. package/dist/lib-pixelstreamingfrontend.js +0 -1
  296. package/webpack.common.js +0 -35
  297. package/webpack.dev.js +0 -35
  298. package/webpack.prod.js +0 -36
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ // Copyright Epic Games, Inc. All Rights Reserved.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.StreamController = void 0;
5
+ const lib_pixelstreamingcommon_ue5_5_1 = require("@epicgames-ps/lib-pixelstreamingcommon-ue5.5");
6
+ /**
7
+ * Video Player Controller handles the creation of the video HTML element and all handlers
8
+ */
9
+ class StreamController {
10
+ /**
11
+ * @param videoElementProvider Video Player instance
12
+ */
13
+ constructor(videoElementProvider) {
14
+ this.videoElementProvider = videoElementProvider;
15
+ this.audioElement = document.createElement('Audio');
16
+ this.videoElementProvider.setAudioElement(this.audioElement);
17
+ }
18
+ /**
19
+ * Handles when the Peer connection has a track event
20
+ * @param rtcTrackEvent - RTC Track Event
21
+ */
22
+ handleOnTrack(rtcTrackEvent) {
23
+ lib_pixelstreamingcommon_ue5_5_1.Logger.Info('handleOnTrack ' + JSON.stringify(rtcTrackEvent.streams));
24
+ // Do not add the track if the ID is `probator` as this is special track created by mediasoup for bitrate probing.
25
+ // Refer to https://github.com/EpicGamesExt/PixelStreamingInfrastructure/pull/86 for more details.
26
+ if (rtcTrackEvent.streams.length < 1 || rtcTrackEvent.streams[0].id == 'probator') {
27
+ return;
28
+ }
29
+ const videoElement = this.videoElementProvider.getVideoElement();
30
+ if (rtcTrackEvent.track) {
31
+ lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Got track - ' +
32
+ rtcTrackEvent.track.kind +
33
+ ' id=' +
34
+ rtcTrackEvent.track.id +
35
+ ' readyState=' +
36
+ rtcTrackEvent.track.readyState);
37
+ }
38
+ if (rtcTrackEvent.track.kind == 'audio') {
39
+ this.CreateAudioTrack(rtcTrackEvent.streams[0]);
40
+ return;
41
+ }
42
+ else if (rtcTrackEvent.track.kind == 'video' &&
43
+ videoElement.srcObject !== rtcTrackEvent.streams[0]) {
44
+ videoElement.srcObject = rtcTrackEvent.streams[0];
45
+ lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Set video source from video track ontrack.');
46
+ return;
47
+ }
48
+ }
49
+ /**
50
+ * Creates the audio device when receiving an RTCTrackEvent with the kind of "audio"
51
+ * @param audioMediaStream - Audio Media stream track
52
+ */
53
+ CreateAudioTrack(audioMediaStream) {
54
+ const videoElement = this.videoElementProvider.getVideoElement();
55
+ // do nothing the video has the same media stream as the audio track we have here (they are linked)
56
+ if (videoElement.srcObject == audioMediaStream) {
57
+ return;
58
+ }
59
+ // video element has some other media stream that is not associated with this audio track
60
+ else if (videoElement.srcObject && videoElement.srcObject !== audioMediaStream) {
61
+ // create a new audio element
62
+ this.audioElement.srcObject = audioMediaStream;
63
+ lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Created new audio element to play separate audio stream.');
64
+ }
65
+ }
66
+ }
67
+ exports.StreamController = StreamController;
68
+ //# sourceMappingURL=StreamController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamController.js","sourceRoot":"","sources":["../../../src/VideoPlayer/StreamController.ts"],"names":[],"mappings":";AAAA,kDAAkD;;;AAElD,iGAAsE;AAGtE;;GAEG;AACH,MAAa,gBAAgB;IAIzB;;OAEG;IACH,YAAY,oBAAiC;QACzC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAqB,CAAC;QACxE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,aAA4B;QACtC,uCAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,kHAAkH;QAClH,kGAAkG;QAClG,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,EAAE;YAC/E,OAAO;SACV;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC;QAEjE,IAAI,aAAa,CAAC,KAAK,EAAE;YACrB,uCAAM,CAAC,IAAI,CACP,cAAc;gBACV,aAAa,CAAC,KAAK,CAAC,IAAI;gBACxB,MAAM;gBACN,aAAa,CAAC,KAAK,CAAC,EAAE;gBACtB,cAAc;gBACd,aAAa,CAAC,KAAK,CAAC,UAAU,CACrC,CAAC;SACL;QAED,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;YACrC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO;SACV;aAAM,IACH,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO;YACnC,YAAY,CAAC,SAAS,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EACrD;YACE,YAAY,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClD,uCAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO;SACV;IACL,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,gBAA6B;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC;QAEjE,mGAAmG;QACnG,IAAI,YAAY,CAAC,SAAS,IAAI,gBAAgB,EAAE;YAC5C,OAAO;SACV;QACD,yFAAyF;aACpF,IAAI,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,KAAK,gBAAgB,EAAE;YAC5E,6BAA6B;YAC7B,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,gBAAgB,CAAC;YAC/C,uCAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;SAC3E;IACL,CAAC;CACJ;AArED,4CAqEC"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ // Copyright Epic Games, Inc. All Rights Reserved.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.VideoPlayer = void 0;
5
+ const Config_1 = require("../Config/Config");
6
+ const lib_pixelstreamingcommon_ue5_5_1 = require("@epicgames-ps/lib-pixelstreamingcommon-ue5.5");
7
+ /**
8
+ * The video player html element
9
+ */
10
+ class VideoPlayer {
11
+ /**
12
+ * @param videoElementParent the html div the the video player will be injected into
13
+ * @param config the applications configuration. We're interested in the startVideoMuted flag
14
+ */
15
+ constructor(videoElementParent, config) {
16
+ this.lastTimeResized = new Date().getTime();
17
+ this.videoElement = document.createElement('video');
18
+ this.config = config;
19
+ this.videoElement.id = 'streamingVideo';
20
+ this.videoElement.disablePictureInPicture = true;
21
+ this.videoElement.playsInline = true;
22
+ this.videoElement.style.width = '100%';
23
+ this.videoElement.style.height = '100%';
24
+ this.videoElement.style.position = 'absolute';
25
+ this.videoElement.style.pointerEvents = 'all';
26
+ videoElementParent.appendChild(this.videoElement);
27
+ this.onResizePlayerCallback = () => {
28
+ console.log('Resolution changed, restyling player, did you forget to override this function?');
29
+ };
30
+ this.onMatchViewportResolutionCallback = () => {
31
+ console.log('Resolution changed and match viewport resolution is turned on, did you forget to override this function?');
32
+ };
33
+ // set play for video (and audio)
34
+ this.videoElement.onclick = () => {
35
+ if (this.audioElement != undefined && this.audioElement.paused) {
36
+ this.audioElement.play();
37
+ }
38
+ if (this.videoElement.paused) {
39
+ this.videoElement.play();
40
+ }
41
+ };
42
+ this.videoElement.onloadedmetadata = () => {
43
+ this.onVideoInitialized();
44
+ };
45
+ // set resize events to the windows if it is resized or its orientation is changed
46
+ window.addEventListener('resize', () => this.resizePlayerStyle(), true);
47
+ window.addEventListener('orientationchange', () => this.onOrientationChange());
48
+ }
49
+ setAudioElement(audioElement) {
50
+ this.audioElement = audioElement;
51
+ }
52
+ /**
53
+ * Sets up the video element with any application config and plays the video element.
54
+ * @returns A promise for if playing the video was successful or not.
55
+ */
56
+ play() {
57
+ this.videoElement.muted = this.config.isFlagEnabled(Config_1.Flags.StartVideoMuted);
58
+ this.videoElement.autoplay = this.config.isFlagEnabled(Config_1.Flags.AutoPlayVideo);
59
+ return this.videoElement.play();
60
+ }
61
+ /**
62
+ * @returns True if the video element is paused.
63
+ */
64
+ isPaused() {
65
+ return this.videoElement.paused;
66
+ }
67
+ /**
68
+ * @returns - whether the video element is playing.
69
+ */
70
+ isVideoReady() {
71
+ return this.videoElement.readyState !== undefined && this.videoElement.readyState > 0;
72
+ }
73
+ /**
74
+ * @returns True if the video element has a valid video source (srcObject).
75
+ */
76
+ hasVideoSource() {
77
+ return this.videoElement.srcObject !== undefined && this.videoElement.srcObject !== null;
78
+ }
79
+ /**
80
+ * Get the current context of the html video element
81
+ * @returns - the current context of the video element
82
+ */
83
+ getVideoElement() {
84
+ return this.videoElement;
85
+ }
86
+ /**
87
+ * Get the current context of the html video elements parent
88
+ * @returns - the current context of the video elements parent
89
+ */
90
+ getVideoParentElement() {
91
+ return this.videoElement.parentElement;
92
+ }
93
+ /**
94
+ * Set the Video Elements src object tracks to enable
95
+ * @param enabled - Enable Tracks on the Src Object
96
+ */
97
+ setVideoEnabled(enabled) {
98
+ // this is a temporary hack until type scripts video element is updated to reflect the need for tracks on a html video element
99
+ const videoElement = this.videoElement;
100
+ videoElement.srcObject
101
+ .getTracks()
102
+ .forEach((track) => (track.enabled = enabled));
103
+ }
104
+ /**
105
+ * An override for when the video has been initialized with a srcObject
106
+ */
107
+ onVideoInitialized() {
108
+ // Default Functionality: Do Nothing
109
+ }
110
+ /**
111
+ * On the orientation change of a window clear the timeout
112
+ */
113
+ onOrientationChange() {
114
+ clearTimeout(this.orientationChangeTimeout);
115
+ this.orientationChangeTimeout = window.setTimeout(() => {
116
+ this.resizePlayerStyle();
117
+ }, 500);
118
+ }
119
+ /**
120
+ * Resizes the player style based on the window height and width
121
+ * @returns - nil if requirements are satisfied
122
+ */
123
+ resizePlayerStyle() {
124
+ const videoElementParent = this.getVideoParentElement();
125
+ if (!videoElementParent) {
126
+ return;
127
+ }
128
+ this.updateVideoStreamSize();
129
+ if (videoElementParent.classList.contains('fixed-size')) {
130
+ this.onResizePlayerCallback();
131
+ return;
132
+ }
133
+ // controls for resizing the player
134
+ this.resizePlayerStyleToFillParentElement();
135
+ this.onResizePlayerCallback();
136
+ }
137
+ /**
138
+ * Resizes the player element to fill the parent element
139
+ */
140
+ resizePlayerStyleToFillParentElement() {
141
+ const videoElementParent = this.getVideoParentElement();
142
+ //Video is not initialized yet so set videoElementParent to size of parent element
143
+ const styleWidth = '100%';
144
+ const styleHeight = '100%';
145
+ const styleTop = 0;
146
+ const styleLeft = 0;
147
+ videoElementParent.setAttribute('style', 'top: ' +
148
+ styleTop +
149
+ 'px; left: ' +
150
+ styleLeft +
151
+ 'px; width: ' +
152
+ styleWidth +
153
+ '; height: ' +
154
+ styleHeight +
155
+ '; cursor: default;');
156
+ }
157
+ updateVideoStreamSize() {
158
+ if (!this.config.isFlagEnabled(Config_1.Flags.MatchViewportResolution)) {
159
+ return;
160
+ }
161
+ const now = new Date().getTime();
162
+ if (now - this.lastTimeResized > 300) {
163
+ const videoElementParent = this.getVideoParentElement();
164
+ if (!videoElementParent) {
165
+ return;
166
+ }
167
+ this.onMatchViewportResolutionCallback(videoElementParent.clientWidth, videoElementParent.clientHeight);
168
+ this.lastTimeResized = new Date().getTime();
169
+ }
170
+ else {
171
+ lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Resizing too often - skipping');
172
+ clearTimeout(this.resizeTimeoutHandle);
173
+ this.resizeTimeoutHandle = window.setTimeout(() => this.updateVideoStreamSize(), 100);
174
+ }
175
+ }
176
+ }
177
+ exports.VideoPlayer = VideoPlayer;
178
+ //# sourceMappingURL=VideoPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../../src/VideoPlayer/VideoPlayer.ts"],"names":[],"mappings":"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"}