@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,174 @@
1
+ // Copyright Epic Games, Inc. All Rights Reserved.
2
+ import { Flags } from '../Config/Config';
3
+ import { Logger } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
4
+ /**
5
+ * The video player html element
6
+ */
7
+ export class VideoPlayer {
8
+ /**
9
+ * @param videoElementParent the html div the the video player will be injected into
10
+ * @param config the applications configuration. We're interested in the startVideoMuted flag
11
+ */
12
+ constructor(videoElementParent, config) {
13
+ this.lastTimeResized = new Date().getTime();
14
+ this.videoElement = document.createElement('video');
15
+ this.config = config;
16
+ this.videoElement.id = 'streamingVideo';
17
+ this.videoElement.disablePictureInPicture = true;
18
+ this.videoElement.playsInline = true;
19
+ this.videoElement.style.width = '100%';
20
+ this.videoElement.style.height = '100%';
21
+ this.videoElement.style.position = 'absolute';
22
+ this.videoElement.style.pointerEvents = 'all';
23
+ videoElementParent.appendChild(this.videoElement);
24
+ this.onResizePlayerCallback = () => {
25
+ console.log('Resolution changed, restyling player, did you forget to override this function?');
26
+ };
27
+ this.onMatchViewportResolutionCallback = () => {
28
+ console.log('Resolution changed and match viewport resolution is turned on, did you forget to override this function?');
29
+ };
30
+ // set play for video (and audio)
31
+ this.videoElement.onclick = () => {
32
+ if (this.audioElement != undefined && this.audioElement.paused) {
33
+ this.audioElement.play();
34
+ }
35
+ if (this.videoElement.paused) {
36
+ this.videoElement.play();
37
+ }
38
+ };
39
+ this.videoElement.onloadedmetadata = () => {
40
+ this.onVideoInitialized();
41
+ };
42
+ // set resize events to the windows if it is resized or its orientation is changed
43
+ window.addEventListener('resize', () => this.resizePlayerStyle(), true);
44
+ window.addEventListener('orientationchange', () => this.onOrientationChange());
45
+ }
46
+ setAudioElement(audioElement) {
47
+ this.audioElement = audioElement;
48
+ }
49
+ /**
50
+ * Sets up the video element with any application config and plays the video element.
51
+ * @returns A promise for if playing the video was successful or not.
52
+ */
53
+ play() {
54
+ this.videoElement.muted = this.config.isFlagEnabled(Flags.StartVideoMuted);
55
+ this.videoElement.autoplay = this.config.isFlagEnabled(Flags.AutoPlayVideo);
56
+ return this.videoElement.play();
57
+ }
58
+ /**
59
+ * @returns True if the video element is paused.
60
+ */
61
+ isPaused() {
62
+ return this.videoElement.paused;
63
+ }
64
+ /**
65
+ * @returns - whether the video element is playing.
66
+ */
67
+ isVideoReady() {
68
+ return this.videoElement.readyState !== undefined && this.videoElement.readyState > 0;
69
+ }
70
+ /**
71
+ * @returns True if the video element has a valid video source (srcObject).
72
+ */
73
+ hasVideoSource() {
74
+ return this.videoElement.srcObject !== undefined && this.videoElement.srcObject !== null;
75
+ }
76
+ /**
77
+ * Get the current context of the html video element
78
+ * @returns - the current context of the video element
79
+ */
80
+ getVideoElement() {
81
+ return this.videoElement;
82
+ }
83
+ /**
84
+ * Get the current context of the html video elements parent
85
+ * @returns - the current context of the video elements parent
86
+ */
87
+ getVideoParentElement() {
88
+ return this.videoElement.parentElement;
89
+ }
90
+ /**
91
+ * Set the Video Elements src object tracks to enable
92
+ * @param enabled - Enable Tracks on the Src Object
93
+ */
94
+ setVideoEnabled(enabled) {
95
+ // this is a temporary hack until type scripts video element is updated to reflect the need for tracks on a html video element
96
+ const videoElement = this.videoElement;
97
+ videoElement.srcObject
98
+ .getTracks()
99
+ .forEach((track) => (track.enabled = enabled));
100
+ }
101
+ /**
102
+ * An override for when the video has been initialized with a srcObject
103
+ */
104
+ onVideoInitialized() {
105
+ // Default Functionality: Do Nothing
106
+ }
107
+ /**
108
+ * On the orientation change of a window clear the timeout
109
+ */
110
+ onOrientationChange() {
111
+ clearTimeout(this.orientationChangeTimeout);
112
+ this.orientationChangeTimeout = window.setTimeout(() => {
113
+ this.resizePlayerStyle();
114
+ }, 500);
115
+ }
116
+ /**
117
+ * Resizes the player style based on the window height and width
118
+ * @returns - nil if requirements are satisfied
119
+ */
120
+ resizePlayerStyle() {
121
+ const videoElementParent = this.getVideoParentElement();
122
+ if (!videoElementParent) {
123
+ return;
124
+ }
125
+ this.updateVideoStreamSize();
126
+ if (videoElementParent.classList.contains('fixed-size')) {
127
+ this.onResizePlayerCallback();
128
+ return;
129
+ }
130
+ // controls for resizing the player
131
+ this.resizePlayerStyleToFillParentElement();
132
+ this.onResizePlayerCallback();
133
+ }
134
+ /**
135
+ * Resizes the player element to fill the parent element
136
+ */
137
+ resizePlayerStyleToFillParentElement() {
138
+ const videoElementParent = this.getVideoParentElement();
139
+ //Video is not initialized yet so set videoElementParent to size of parent element
140
+ const styleWidth = '100%';
141
+ const styleHeight = '100%';
142
+ const styleTop = 0;
143
+ const styleLeft = 0;
144
+ videoElementParent.setAttribute('style', 'top: ' +
145
+ styleTop +
146
+ 'px; left: ' +
147
+ styleLeft +
148
+ 'px; width: ' +
149
+ styleWidth +
150
+ '; height: ' +
151
+ styleHeight +
152
+ '; cursor: default;');
153
+ }
154
+ updateVideoStreamSize() {
155
+ if (!this.config.isFlagEnabled(Flags.MatchViewportResolution)) {
156
+ return;
157
+ }
158
+ const now = new Date().getTime();
159
+ if (now - this.lastTimeResized > 300) {
160
+ const videoElementParent = this.getVideoParentElement();
161
+ if (!videoElementParent) {
162
+ return;
163
+ }
164
+ this.onMatchViewportResolutionCallback(videoElementParent.clientWidth, videoElementParent.clientHeight);
165
+ this.lastTimeResized = new Date().getTime();
166
+ }
167
+ else {
168
+ Logger.Info('Resizing too often - skipping');
169
+ clearTimeout(this.resizeTimeoutHandle);
170
+ this.resizeTimeoutHandle = window.setTimeout(() => this.updateVideoStreamSize(), 100);
171
+ }
172
+ }
173
+ }
174
+ //# 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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"}