@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.4.6 → 0.4.8

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 (241) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +1 -0
  3. package/.lintstagedrc.mjs +7 -0
  4. package/dist/{commonjs → cjs}/Config/Config.js +4 -0
  5. package/dist/cjs/Config/Config.js.map +1 -0
  6. package/dist/{commonjs → cjs}/PixelStreaming/PixelStreaming.js +3 -0
  7. package/dist/{commonjs → cjs}/PixelStreaming/PixelStreaming.js.map +1 -1
  8. package/dist/{commonjs → cjs}/Util/EventEmitter.js +8 -1
  9. package/dist/{commonjs → cjs}/Util/EventEmitter.js.map +1 -1
  10. package/dist/{commonjs → cjs}/WebRtcPlayer/WebRtcPlayerController.js +21 -1
  11. package/dist/cjs/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
  12. package/dist/esm/AFK/AFKController.js +16 -20
  13. package/dist/esm/AFK/AFKController.js.map +1 -1
  14. package/dist/esm/Config/Config.js +73 -81
  15. package/dist/esm/Config/Config.js.map +1 -1
  16. package/dist/esm/Config/SettingBase.js +1 -5
  17. package/dist/esm/Config/SettingBase.js.map +1 -1
  18. package/dist/esm/Config/SettingFlag.js +2 -6
  19. package/dist/esm/Config/SettingFlag.js.map +1 -1
  20. package/dist/esm/Config/SettingNumber.js +2 -6
  21. package/dist/esm/Config/SettingNumber.js.map +1 -1
  22. package/dist/esm/Config/SettingOption.js +4 -8
  23. package/dist/esm/Config/SettingOption.js.map +1 -1
  24. package/dist/esm/Config/SettingText.js +2 -6
  25. package/dist/esm/Config/SettingText.js.map +1 -1
  26. package/dist/esm/DataChannel/DataChannelController.js +6 -10
  27. package/dist/esm/DataChannel/DataChannelController.js.map +1 -1
  28. package/dist/esm/DataChannel/DataChannelLatencyTestController.js +5 -9
  29. package/dist/esm/DataChannel/DataChannelLatencyTestController.js.map +1 -1
  30. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +1 -5
  31. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js.map +1 -1
  32. package/dist/esm/DataChannel/DataChannelSender.js +4 -8
  33. package/dist/esm/DataChannel/DataChannelSender.js.map +1 -1
  34. package/dist/esm/DataChannel/InitialSettings.js +4 -11
  35. package/dist/esm/DataChannel/InitialSettings.js.map +1 -1
  36. package/dist/esm/DataChannel/LatencyTestResults.js +4 -8
  37. package/dist/esm/DataChannel/LatencyTestResults.js.map +1 -1
  38. package/dist/esm/FreezeFrame/FreezeFrame.js +1 -5
  39. package/dist/esm/FreezeFrame/FreezeFrame.js.map +1 -1
  40. package/dist/esm/FreezeFrame/FreezeFrameController.js +7 -11
  41. package/dist/esm/FreezeFrame/FreezeFrameController.js.map +1 -1
  42. package/dist/esm/Inputs/GamepadController.js +7 -11
  43. package/dist/esm/Inputs/GamepadController.js.map +1 -1
  44. package/dist/esm/Inputs/GamepadTypes.js +1 -4
  45. package/dist/esm/Inputs/GamepadTypes.js.map +1 -1
  46. package/dist/esm/Inputs/IInputController.js +1 -2
  47. package/dist/esm/Inputs/InputClassesFactory.js +21 -26
  48. package/dist/esm/Inputs/InputClassesFactory.js.map +1 -1
  49. package/dist/esm/Inputs/KeyCodes.js +1 -4
  50. package/dist/esm/Inputs/KeyCodes.js.map +1 -1
  51. package/dist/esm/Inputs/KeyboardController.js +18 -22
  52. package/dist/esm/Inputs/KeyboardController.js.map +1 -1
  53. package/dist/esm/Inputs/MouseButtons.js +2 -7
  54. package/dist/esm/Inputs/MouseButtons.js.map +1 -1
  55. package/dist/esm/Inputs/MouseController.js +22 -26
  56. package/dist/esm/Inputs/MouseController.js.map +1 -1
  57. package/dist/esm/Inputs/MouseControllerHovering.js +2 -6
  58. package/dist/esm/Inputs/MouseControllerHovering.js.map +1 -1
  59. package/dist/esm/Inputs/MouseControllerLocked.js +5 -9
  60. package/dist/esm/Inputs/MouseControllerLocked.js.map +1 -1
  61. package/dist/esm/Inputs/SpecialKeyCodes.js +1 -5
  62. package/dist/esm/Inputs/SpecialKeyCodes.js.map +1 -1
  63. package/dist/esm/Inputs/TouchController.js +4 -8
  64. package/dist/esm/Inputs/TouchController.js.map +1 -1
  65. package/dist/esm/Inputs/TouchControllerFake.js +4 -8
  66. package/dist/esm/Inputs/TouchControllerFake.js.map +1 -1
  67. package/dist/esm/Inputs/XRGamepadController.js +4 -8
  68. package/dist/esm/Inputs/XRGamepadController.js.map +1 -1
  69. package/dist/esm/PeerConnectionController/AggregatedStats.js +19 -23
  70. package/dist/esm/PeerConnectionController/AggregatedStats.js.map +1 -1
  71. package/dist/esm/PeerConnectionController/CandidatePairStats.js +1 -5
  72. package/dist/esm/PeerConnectionController/CandidatePairStats.js.map +1 -1
  73. package/dist/esm/PeerConnectionController/CandidateStat.js +1 -5
  74. package/dist/esm/PeerConnectionController/CandidateStat.js.map +1 -1
  75. package/dist/esm/PeerConnectionController/CodecStats.js +1 -5
  76. package/dist/esm/PeerConnectionController/CodecStats.js.map +1 -1
  77. package/dist/esm/PeerConnectionController/DataChannelStats.js +1 -5
  78. package/dist/esm/PeerConnectionController/DataChannelStats.js.map +1 -1
  79. package/dist/esm/PeerConnectionController/InboundRTPStats.js +3 -9
  80. package/dist/esm/PeerConnectionController/InboundRTPStats.js.map +1 -1
  81. package/dist/esm/PeerConnectionController/InboundTrackStats.js +1 -5
  82. package/dist/esm/PeerConnectionController/InboundTrackStats.js.map +1 -1
  83. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +2 -7
  84. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js.map +1 -1
  85. package/dist/esm/PeerConnectionController/PeerConnectionController.js +37 -41
  86. package/dist/esm/PeerConnectionController/PeerConnectionController.js.map +1 -1
  87. package/dist/esm/PeerConnectionController/SessionStats.js +1 -5
  88. package/dist/esm/PeerConnectionController/SessionStats.js.map +1 -1
  89. package/dist/esm/PeerConnectionController/StreamStats.js +1 -5
  90. package/dist/esm/PeerConnectionController/StreamStats.js.map +1 -1
  91. package/dist/esm/PixelStreaming/PixelStreaming.js +118 -119
  92. package/dist/esm/PixelStreaming/PixelStreaming.js.map +1 -1
  93. package/dist/esm/UI/OnScreenKeyboard.js +1 -5
  94. package/dist/esm/UI/OnScreenKeyboard.js.map +1 -1
  95. package/dist/esm/UeInstanceMessage/ResponseController.js +4 -8
  96. package/dist/esm/UeInstanceMessage/ResponseController.js.map +1 -1
  97. package/dist/esm/UeInstanceMessage/SendMessageController.js +5 -9
  98. package/dist/esm/UeInstanceMessage/SendMessageController.js.map +1 -1
  99. package/dist/esm/UeInstanceMessage/StreamMessageController.js +6 -11
  100. package/dist/esm/UeInstanceMessage/StreamMessageController.js.map +1 -1
  101. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +1 -5
  102. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -1
  103. package/dist/esm/Util/EventEmitter.js +44 -79
  104. package/dist/esm/Util/EventEmitter.js.map +1 -1
  105. package/dist/esm/Util/FileUtil.js +11 -16
  106. package/dist/esm/Util/FileUtil.js.map +1 -1
  107. package/dist/esm/Util/IURLSearchParams.js +1 -5
  108. package/dist/esm/Util/IURLSearchParams.js.map +1 -1
  109. package/dist/esm/Util/InputCoordTranslator.js +1 -5
  110. package/dist/esm/Util/InputCoordTranslator.js.map +1 -1
  111. package/dist/esm/Util/RTCUtils.js +1 -5
  112. package/dist/esm/Util/RTCUtils.js.map +1 -1
  113. package/dist/esm/VideoPlayer/StreamController.js +6 -10
  114. package/dist/esm/VideoPlayer/StreamController.js.map +1 -1
  115. package/dist/esm/VideoPlayer/VideoPlayer.js +7 -11
  116. package/dist/esm/VideoPlayer/VideoPlayer.js.map +1 -1
  117. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +246 -230
  118. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js.map +1 -1
  119. package/dist/esm/WebXR/WebXRController.js +12 -16
  120. package/dist/esm/WebXR/WebXRController.js.map +1 -1
  121. package/dist/esm/pixelstreamingfrontend.js +23 -58
  122. package/dist/esm/pixelstreamingfrontend.js.map +1 -1
  123. package/dist/types/Config/Config.d.ts +1 -0
  124. package/dist/types/PixelStreaming/PixelStreaming.d.ts +1 -0
  125. package/dist/types/Util/EventEmitter.d.ts +8 -1
  126. package/dist/types/WebRtcPlayer/WebRtcPlayerController.d.ts +4 -1
  127. package/package.json +48 -45
  128. package/src/Config/Config.ts +16 -0
  129. package/src/PixelStreaming/PixelStreaming.ts +6 -1
  130. package/src/Util/EventEmitter.ts +12 -0
  131. package/src/WebRtcPlayer/WebRtcPlayerController.ts +30 -2
  132. package/{tsconfig.json → tsconfig.base.json} +4 -2
  133. package/tsconfig.cjs.json +3 -5
  134. package/tsconfig.esm.json +3 -3
  135. package/tsconfig.jest.json +6 -6
  136. package/dist/commonjs/Config/Config.js.map +0 -1
  137. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js.map +0 -1
  138. /package/dist/{commonjs → cjs}/AFK/AFKController.js +0 -0
  139. /package/dist/{commonjs → cjs}/AFK/AFKController.js.map +0 -0
  140. /package/dist/{commonjs → cjs}/Config/SettingBase.js +0 -0
  141. /package/dist/{commonjs → cjs}/Config/SettingBase.js.map +0 -0
  142. /package/dist/{commonjs → cjs}/Config/SettingFlag.js +0 -0
  143. /package/dist/{commonjs → cjs}/Config/SettingFlag.js.map +0 -0
  144. /package/dist/{commonjs → cjs}/Config/SettingNumber.js +0 -0
  145. /package/dist/{commonjs → cjs}/Config/SettingNumber.js.map +0 -0
  146. /package/dist/{commonjs → cjs}/Config/SettingOption.js +0 -0
  147. /package/dist/{commonjs → cjs}/Config/SettingOption.js.map +0 -0
  148. /package/dist/{commonjs → cjs}/Config/SettingText.js +0 -0
  149. /package/dist/{commonjs → cjs}/Config/SettingText.js.map +0 -0
  150. /package/dist/{commonjs → cjs}/DataChannel/DataChannelController.js +0 -0
  151. /package/dist/{commonjs → cjs}/DataChannel/DataChannelController.js.map +0 -0
  152. /package/dist/{commonjs → cjs}/DataChannel/DataChannelLatencyTestController.js +0 -0
  153. /package/dist/{commonjs → cjs}/DataChannel/DataChannelLatencyTestController.js.map +0 -0
  154. /package/dist/{commonjs → cjs}/DataChannel/DataChannelLatencyTestResults.js +0 -0
  155. /package/dist/{commonjs → cjs}/DataChannel/DataChannelLatencyTestResults.js.map +0 -0
  156. /package/dist/{commonjs → cjs}/DataChannel/DataChannelSender.js +0 -0
  157. /package/dist/{commonjs → cjs}/DataChannel/DataChannelSender.js.map +0 -0
  158. /package/dist/{commonjs → cjs}/DataChannel/InitialSettings.js +0 -0
  159. /package/dist/{commonjs → cjs}/DataChannel/InitialSettings.js.map +0 -0
  160. /package/dist/{commonjs → cjs}/DataChannel/LatencyTestResults.js +0 -0
  161. /package/dist/{commonjs → cjs}/DataChannel/LatencyTestResults.js.map +0 -0
  162. /package/dist/{commonjs → cjs}/FreezeFrame/FreezeFrame.js +0 -0
  163. /package/dist/{commonjs → cjs}/FreezeFrame/FreezeFrame.js.map +0 -0
  164. /package/dist/{commonjs → cjs}/FreezeFrame/FreezeFrameController.js +0 -0
  165. /package/dist/{commonjs → cjs}/FreezeFrame/FreezeFrameController.js.map +0 -0
  166. /package/dist/{commonjs → cjs}/Inputs/GamepadController.js +0 -0
  167. /package/dist/{commonjs → cjs}/Inputs/GamepadController.js.map +0 -0
  168. /package/dist/{commonjs → cjs}/Inputs/GamepadTypes.js +0 -0
  169. /package/dist/{commonjs → cjs}/Inputs/GamepadTypes.js.map +0 -0
  170. /package/dist/{commonjs → cjs}/Inputs/IInputController.js +0 -0
  171. /package/dist/{commonjs → cjs}/Inputs/IInputController.js.map +0 -0
  172. /package/dist/{commonjs → cjs}/Inputs/InputClassesFactory.js +0 -0
  173. /package/dist/{commonjs → cjs}/Inputs/InputClassesFactory.js.map +0 -0
  174. /package/dist/{commonjs → cjs}/Inputs/KeyCodes.js +0 -0
  175. /package/dist/{commonjs → cjs}/Inputs/KeyCodes.js.map +0 -0
  176. /package/dist/{commonjs → cjs}/Inputs/KeyboardController.js +0 -0
  177. /package/dist/{commonjs → cjs}/Inputs/KeyboardController.js.map +0 -0
  178. /package/dist/{commonjs → cjs}/Inputs/MouseButtons.js +0 -0
  179. /package/dist/{commonjs → cjs}/Inputs/MouseButtons.js.map +0 -0
  180. /package/dist/{commonjs → cjs}/Inputs/MouseController.js +0 -0
  181. /package/dist/{commonjs → cjs}/Inputs/MouseController.js.map +0 -0
  182. /package/dist/{commonjs → cjs}/Inputs/MouseControllerHovering.js +0 -0
  183. /package/dist/{commonjs → cjs}/Inputs/MouseControllerHovering.js.map +0 -0
  184. /package/dist/{commonjs → cjs}/Inputs/MouseControllerLocked.js +0 -0
  185. /package/dist/{commonjs → cjs}/Inputs/MouseControllerLocked.js.map +0 -0
  186. /package/dist/{commonjs → cjs}/Inputs/SpecialKeyCodes.js +0 -0
  187. /package/dist/{commonjs → cjs}/Inputs/SpecialKeyCodes.js.map +0 -0
  188. /package/dist/{commonjs → cjs}/Inputs/TouchController.js +0 -0
  189. /package/dist/{commonjs → cjs}/Inputs/TouchController.js.map +0 -0
  190. /package/dist/{commonjs → cjs}/Inputs/TouchControllerFake.js +0 -0
  191. /package/dist/{commonjs → cjs}/Inputs/TouchControllerFake.js.map +0 -0
  192. /package/dist/{commonjs → cjs}/Inputs/XRGamepadController.js +0 -0
  193. /package/dist/{commonjs → cjs}/Inputs/XRGamepadController.js.map +0 -0
  194. /package/dist/{commonjs → cjs}/PeerConnectionController/AggregatedStats.js +0 -0
  195. /package/dist/{commonjs → cjs}/PeerConnectionController/AggregatedStats.js.map +0 -0
  196. /package/dist/{commonjs → cjs}/PeerConnectionController/CandidatePairStats.js +0 -0
  197. /package/dist/{commonjs → cjs}/PeerConnectionController/CandidatePairStats.js.map +0 -0
  198. /package/dist/{commonjs → cjs}/PeerConnectionController/CandidateStat.js +0 -0
  199. /package/dist/{commonjs → cjs}/PeerConnectionController/CandidateStat.js.map +0 -0
  200. /package/dist/{commonjs → cjs}/PeerConnectionController/CodecStats.js +0 -0
  201. /package/dist/{commonjs → cjs}/PeerConnectionController/CodecStats.js.map +0 -0
  202. /package/dist/{commonjs → cjs}/PeerConnectionController/DataChannelStats.js +0 -0
  203. /package/dist/{commonjs → cjs}/PeerConnectionController/DataChannelStats.js.map +0 -0
  204. /package/dist/{commonjs → cjs}/PeerConnectionController/InboundRTPStats.js +0 -0
  205. /package/dist/{commonjs → cjs}/PeerConnectionController/InboundRTPStats.js.map +0 -0
  206. /package/dist/{commonjs → cjs}/PeerConnectionController/InboundTrackStats.js +0 -0
  207. /package/dist/{commonjs → cjs}/PeerConnectionController/InboundTrackStats.js.map +0 -0
  208. /package/dist/{commonjs → cjs}/PeerConnectionController/OutBoundRTPStats.js +0 -0
  209. /package/dist/{commonjs → cjs}/PeerConnectionController/OutBoundRTPStats.js.map +0 -0
  210. /package/dist/{commonjs → cjs}/PeerConnectionController/PeerConnectionController.js +0 -0
  211. /package/dist/{commonjs → cjs}/PeerConnectionController/PeerConnectionController.js.map +0 -0
  212. /package/dist/{commonjs → cjs}/PeerConnectionController/SessionStats.js +0 -0
  213. /package/dist/{commonjs → cjs}/PeerConnectionController/SessionStats.js.map +0 -0
  214. /package/dist/{commonjs → cjs}/PeerConnectionController/StreamStats.js +0 -0
  215. /package/dist/{commonjs → cjs}/PeerConnectionController/StreamStats.js.map +0 -0
  216. /package/dist/{commonjs → cjs}/UI/OnScreenKeyboard.js +0 -0
  217. /package/dist/{commonjs → cjs}/UI/OnScreenKeyboard.js.map +0 -0
  218. /package/dist/{commonjs → cjs}/UeInstanceMessage/ResponseController.js +0 -0
  219. /package/dist/{commonjs → cjs}/UeInstanceMessage/ResponseController.js.map +0 -0
  220. /package/dist/{commonjs → cjs}/UeInstanceMessage/SendMessageController.js +0 -0
  221. /package/dist/{commonjs → cjs}/UeInstanceMessage/SendMessageController.js.map +0 -0
  222. /package/dist/{commonjs → cjs}/UeInstanceMessage/StreamMessageController.js +0 -0
  223. /package/dist/{commonjs → cjs}/UeInstanceMessage/StreamMessageController.js.map +0 -0
  224. /package/dist/{commonjs → cjs}/UeInstanceMessage/ToStreamerMessagesController.js +0 -0
  225. /package/dist/{commonjs → cjs}/UeInstanceMessage/ToStreamerMessagesController.js.map +0 -0
  226. /package/dist/{commonjs → cjs}/Util/FileUtil.js +0 -0
  227. /package/dist/{commonjs → cjs}/Util/FileUtil.js.map +0 -0
  228. /package/dist/{commonjs → cjs}/Util/IURLSearchParams.js +0 -0
  229. /package/dist/{commonjs → cjs}/Util/IURLSearchParams.js.map +0 -0
  230. /package/dist/{commonjs → cjs}/Util/InputCoordTranslator.js +0 -0
  231. /package/dist/{commonjs → cjs}/Util/InputCoordTranslator.js.map +0 -0
  232. /package/dist/{commonjs → cjs}/Util/RTCUtils.js +0 -0
  233. /package/dist/{commonjs → cjs}/Util/RTCUtils.js.map +0 -0
  234. /package/dist/{commonjs → cjs}/VideoPlayer/StreamController.js +0 -0
  235. /package/dist/{commonjs → cjs}/VideoPlayer/StreamController.js.map +0 -0
  236. /package/dist/{commonjs → cjs}/VideoPlayer/VideoPlayer.js +0 -0
  237. /package/dist/{commonjs → cjs}/VideoPlayer/VideoPlayer.js.map +0 -0
  238. /package/dist/{commonjs → cjs}/WebXR/WebXRController.js +0 -0
  239. /package/dist/{commonjs → cjs}/WebXR/WebXRController.js.map +0 -0
  240. /package/dist/{commonjs → cjs}/pixelstreamingfrontend.js +0 -0
  241. /package/dist/{commonjs → cjs}/pixelstreamingfrontend.js.map +0 -0
@@ -1,31 +1,28 @@
1
- "use strict";
2
1
  // Copyright Epic Games, Inc. All Rights Reserved.
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.WebRtcPlayerController = void 0;
5
- const lib_pixelstreamingcommon_ue5_5_1 = require("@epicgames-ps/lib-pixelstreamingcommon-ue5.5");
6
- const StreamController_1 = require("../VideoPlayer/StreamController");
7
- const FreezeFrameController_1 = require("../FreezeFrame/FreezeFrameController");
8
- const AFKController_1 = require("../AFK/AFKController");
9
- const DataChannelController_1 = require("../DataChannel/DataChannelController");
10
- const PeerConnectionController_1 = require("../PeerConnectionController/PeerConnectionController");
11
- const Config_1 = require("../Config/Config");
12
- const InitialSettings_1 = require("../DataChannel/InitialSettings");
13
- const LatencyTestResults_1 = require("../DataChannel/LatencyTestResults");
14
- const FileUtil_1 = require("../Util/FileUtil");
15
- const InputClassesFactory_1 = require("../Inputs/InputClassesFactory");
16
- const VideoPlayer_1 = require("../VideoPlayer/VideoPlayer");
17
- const StreamMessageController_1 = require("../UeInstanceMessage/StreamMessageController");
18
- const ResponseController_1 = require("../UeInstanceMessage/ResponseController");
19
- const SendMessageController_1 = require("../UeInstanceMessage/SendMessageController");
20
- const ToStreamerMessagesController_1 = require("../UeInstanceMessage/ToStreamerMessagesController");
21
- const DataChannelSender_1 = require("../DataChannel/DataChannelSender");
22
- const InputCoordTranslator_1 = require("../Util/InputCoordTranslator");
23
- const EventEmitter_1 = require("../Util/EventEmitter");
24
- const IURLSearchParams_1 = require("../Util/IURLSearchParams");
2
+ import { WebSocketTransport, Logger, SignallingProtocol, Messages, MessageHelpers, KeepaliveMonitor } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
3
+ import { StreamController } from '../VideoPlayer/StreamController';
4
+ import { FreezeFrameController } from '../FreezeFrame/FreezeFrameController';
5
+ import { AFKController } from '../AFK/AFKController';
6
+ import { DataChannelController } from '../DataChannel/DataChannelController';
7
+ import { PeerConnectionController } from '../PeerConnectionController/PeerConnectionController';
8
+ import { Flags, ControlSchemeType, TextParameters, OptionParameters, NumericParameters } from '../Config/Config';
9
+ import { InitialSettings } from '../DataChannel/InitialSettings';
10
+ import { LatencyTestResults } from '../DataChannel/LatencyTestResults';
11
+ import { FileTemplate, FileUtil } from '../Util/FileUtil';
12
+ import { InputClassesFactory } from '../Inputs/InputClassesFactory';
13
+ import { VideoPlayer } from '../VideoPlayer/VideoPlayer';
14
+ import { StreamMessageController, MessageDirection } from '../UeInstanceMessage/StreamMessageController';
15
+ import { ResponseController } from '../UeInstanceMessage/ResponseController';
16
+ import { SendMessageController } from '../UeInstanceMessage/SendMessageController';
17
+ import { ToStreamerMessagesController } from '../UeInstanceMessage/ToStreamerMessagesController';
18
+ import { DataChannelSender } from '../DataChannel/DataChannelSender';
19
+ import { InputCoordTranslator } from '../Util/InputCoordTranslator';
20
+ import { DataChannelCloseEvent, DataChannelErrorEvent, DataChannelOpenEvent, HideFreezeFrameEvent, LoadFreezeFrameEvent, PlayStreamErrorEvent, PlayStreamEvent, PlayStreamRejectedEvent, StreamerListMessageEvent, StreamerIDChangedMessageEvent } from '../Util/EventEmitter';
21
+ import { IURLSearchParams } from '../Util/IURLSearchParams';
25
22
  /**
26
23
  * Entry point for the WebRTC Player
27
24
  */
28
- class WebRtcPlayerController {
25
+ export class WebRtcPlayerController {
29
26
  /**
30
27
  *
31
28
  * @param config - the frontend config object
@@ -36,19 +33,19 @@ class WebRtcPlayerController {
36
33
  this.autoJoinTimer = undefined;
37
34
  this.config = config;
38
35
  this.pixelStreaming = pixelStreaming;
39
- this.responseController = new ResponseController_1.ResponseController();
40
- this.file = new FileUtil_1.FileTemplate();
36
+ this.responseController = new ResponseController();
37
+ this.file = new FileTemplate();
41
38
  this.sdpConstraints = {
42
39
  offerToReceiveAudio: true,
43
40
  offerToReceiveVideo: true
44
41
  };
45
42
  // set up the afk logic class and connect up its method for closing the signaling server
46
- this.afkController = new AFKController_1.AFKController(this.config, this.pixelStreaming, this.onAfkTriggered.bind(this));
43
+ this.afkController = new AFKController(this.config, this.pixelStreaming, this.onAfkTriggered.bind(this));
47
44
  this.afkController.onAFKTimedOutCallback = () => {
48
45
  this.closeSignalingServer('You have been disconnected due to inactivity.', false);
49
46
  };
50
- this.freezeFrameController = new FreezeFrameController_1.FreezeFrameController(this.pixelStreaming.videoElementParent);
51
- this.videoPlayer = new VideoPlayer_1.VideoPlayer(this.pixelStreaming.videoElementParent, this.config);
47
+ this.freezeFrameController = new FreezeFrameController(this.pixelStreaming.videoElementParent);
48
+ this.videoPlayer = new VideoPlayer(this.pixelStreaming.videoElementParent, this.config);
52
49
  this.videoPlayer.onVideoInitialized = () => this.handleVideoInitialized();
53
50
  // When in match viewport resolution mode, when the browser viewport is resized we send a resize command back to UE.
54
51
  this.videoPlayer.onMatchViewportResolutionCallback = (width, height) => {
@@ -62,41 +59,43 @@ class WebRtcPlayerController {
62
59
  this.videoPlayer.onResizePlayerCallback = () => {
63
60
  this.setUpMouseAndFreezeFrame();
64
61
  };
65
- this.streamController = new StreamController_1.StreamController(this.videoPlayer);
66
- this.coordinateConverter = new InputCoordTranslator_1.InputCoordTranslator();
67
- this.sendrecvDataChannelController = new DataChannelController_1.DataChannelController();
68
- this.recvDataChannelController = new DataChannelController_1.DataChannelController();
62
+ this.streamController = new StreamController(this.videoPlayer);
63
+ this.coordinateConverter = new InputCoordTranslator();
64
+ this.sendrecvDataChannelController = new DataChannelController();
65
+ this.recvDataChannelController = new DataChannelController();
69
66
  this.registerDataChannelEventEmitters(this.sendrecvDataChannelController);
70
67
  this.registerDataChannelEventEmitters(this.recvDataChannelController);
71
- this.dataChannelSender = new DataChannelSender_1.DataChannelSender(this.sendrecvDataChannelController);
68
+ this.dataChannelSender = new DataChannelSender(this.sendrecvDataChannelController);
72
69
  this.dataChannelSender.resetAfkWarningTimerOnDataSend = () => this.afkController.resetAfkWarningTimer();
73
- this.streamMessageController = new StreamMessageController_1.StreamMessageController();
70
+ this.streamMessageController = new StreamMessageController();
74
71
  // set up websocket methods
75
- this.transport = new lib_pixelstreamingcommon_ue5_5_1.WebSocketTransport();
76
- this.protocol = new lib_pixelstreamingcommon_ue5_5_1.SignallingProtocol(this.transport);
77
- this.protocol.addListener(lib_pixelstreamingcommon_ue5_5_1.Messages.config.typeName, (msg) => this.handleOnConfigMessage(msg));
78
- this.protocol.addListener(lib_pixelstreamingcommon_ue5_5_1.Messages.streamerList.typeName, (msg) => this.handleStreamerListMessage(msg));
79
- this.protocol.addListener(lib_pixelstreamingcommon_ue5_5_1.Messages.streamerIdChanged.typeName, (msg) => this.handleStreamerIDChangedMessage(msg));
80
- this.protocol.addListener(lib_pixelstreamingcommon_ue5_5_1.Messages.playerCount.typeName, (msg) => {
72
+ this.transport = new WebSocketTransport();
73
+ this.protocol = new SignallingProtocol(this.transport);
74
+ this.protocol.addListener(Messages.config.typeName, (msg) => this.handleOnConfigMessage(msg));
75
+ this.protocol.addListener(Messages.ping.typeName, (msg) => this.handlePingMessage(msg));
76
+ this.protocol.addListener(Messages.streamerList.typeName, (msg) => this.handleStreamerListMessage(msg));
77
+ this.protocol.addListener(Messages.subscribeFailed.typeName, (msg) => this.handleSubscribeFailedMessage(msg));
78
+ this.protocol.addListener(Messages.streamerIdChanged.typeName, (msg) => this.handleStreamerIDChangedMessage(msg));
79
+ this.protocol.addListener(Messages.playerCount.typeName, (msg) => {
81
80
  const playerCountMessage = msg;
82
81
  this.pixelStreaming._onPlayerCount(playerCountMessage.count);
83
82
  });
84
- this.protocol.addListener(lib_pixelstreamingcommon_ue5_5_1.Messages.answer.typeName, (msg) => this.handleWebRtcAnswer(msg));
85
- this.protocol.addListener(lib_pixelstreamingcommon_ue5_5_1.Messages.offer.typeName, (msg) => this.handleWebRtcOffer(msg));
86
- this.protocol.addListener(lib_pixelstreamingcommon_ue5_5_1.Messages.peerDataChannels.typeName, (msg) => this.handleWebRtcSFUPeerDatachannels(msg));
87
- this.protocol.addListener(lib_pixelstreamingcommon_ue5_5_1.Messages.iceCandidate.typeName, (msg) => {
83
+ this.protocol.addListener(Messages.answer.typeName, (msg) => this.handleWebRtcAnswer(msg));
84
+ this.protocol.addListener(Messages.offer.typeName, (msg) => this.handleWebRtcOffer(msg));
85
+ this.protocol.addListener(Messages.peerDataChannels.typeName, (msg) => this.handleWebRtcSFUPeerDatachannels(msg));
86
+ this.protocol.addListener(Messages.iceCandidate.typeName, (msg) => {
88
87
  const iceCandidateMessage = msg;
89
88
  this.handleIceCandidate(iceCandidateMessage.candidate);
90
89
  });
91
90
  this.protocol.transport.addListener('open', () => {
92
- const message = lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.listStreamers);
91
+ const message = MessageHelpers.createMessage(Messages.listStreamers);
93
92
  this.protocol.sendMessage(message);
94
93
  this.reconnectAttempt = 0;
95
94
  this.isReconnecting = false;
96
95
  });
97
96
  this.protocol.transport.addListener('error', () => {
98
97
  // dont really need to do anything here since the close event should follow.
99
- lib_pixelstreamingcommon_ue5_5_1.Logger.Error(`Got a transport error.`);
98
+ Logger.Error(`Got a transport error.`);
100
99
  });
101
100
  this.protocol.transport.addListener('close', (event) => {
102
101
  // when we refresh the page during a stream we get the going away code.
@@ -104,7 +103,7 @@ class WebRtcPlayerController {
104
103
  // https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent/code
105
104
  // lists all the codes.
106
105
  const CODE_GOING_AWAY = 1001;
107
- const maxReconnectAttempts = this.config.getNumericSettingValue(Config_1.NumericParameters.MaxReconnectAttempts);
106
+ const maxReconnectAttempts = this.config.getNumericSettingValue(NumericParameters.MaxReconnectAttempts);
108
107
  const attemptsLeft = this.reconnectAttempt < maxReconnectAttempts;
109
108
  const reconnectEnabled = this.forceReconnect || (this.enableAutoReconnect && maxReconnectAttempts > 0 && attemptsLeft);
110
109
  const willTryReconnect = reconnectEnabled && event.code != CODE_GOING_AWAY;
@@ -133,11 +132,11 @@ class WebRtcPlayerController {
133
132
  }
134
133
  });
135
134
  // set up the final webRtc player controller methods from within our application so a connection can be activated
136
- this.sendMessageController = new SendMessageController_1.SendMessageController(this.dataChannelSender, this.streamMessageController);
137
- this.toStreamerMessagesController = new ToStreamerMessagesController_1.ToStreamerMessagesController(this.sendMessageController);
135
+ this.sendMessageController = new SendMessageController(this.dataChannelSender, this.streamMessageController);
136
+ this.toStreamerMessagesController = new ToStreamerMessagesController(this.sendMessageController);
138
137
  this.registerMessageHandlers();
139
138
  this.streamMessageController.populateDefaultProtocol();
140
- this.inputClassesFactory = new InputClassesFactory_1.InputClassesFactory(this.streamMessageController, this.videoPlayer, this.coordinateConverter);
139
+ this.inputClassesFactory = new InputClassesFactory(this.streamMessageController, this.videoPlayer, this.coordinateConverter);
141
140
  this.isUsingSFU = false;
142
141
  this.isUsingSVC = false;
143
142
  this.isQualityController = false;
@@ -146,7 +145,7 @@ class WebRtcPlayerController {
146
145
  this.forceReconnect = false;
147
146
  this.reconnectAttempt = 0;
148
147
  this.isReconnecting = false;
149
- this.config._addOnOptionSettingChangedListener(Config_1.OptionParameters.StreamerId, (streamerid) => {
148
+ this.config._addOnOptionSettingChangedListener(OptionParameters.StreamerId, (streamerid) => {
150
149
  if (streamerid === undefined || streamerid === '') {
151
150
  return;
152
151
  }
@@ -154,26 +153,26 @@ class WebRtcPlayerController {
154
153
  this.peerConnectionController.peerConnection.close();
155
154
  this.peerConnectionController.createPeerConnection(this.peerConfig, this.preferredCodec);
156
155
  this.subscribedStream = streamerid;
157
- const message = lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.subscribe, { streamerId: streamerid });
156
+ const message = MessageHelpers.createMessage(Messages.subscribe, { streamerId: streamerid });
158
157
  this.protocol.sendMessage(message);
159
158
  });
160
- this.config._addOnOptionSettingChangedListener(Config_1.OptionParameters.PreferredQuality, (preferredQuality) => {
159
+ this.config._addOnOptionSettingChangedListener(OptionParameters.PreferredQuality, (preferredQuality) => {
161
160
  if (preferredQuality === undefined || preferredQuality === '') {
162
161
  return;
163
162
  }
164
163
  let message;
165
164
  if (this.isUsingSVC) {
166
165
  // User is using SVC so selected quality will be of the form SxTy(h). Just extract the x and y numbers
167
- message = lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.layerPreference, {
166
+ message = MessageHelpers.createMessage(Messages.layerPreference, {
168
167
  spatialLayer: +preferredQuality[1] - 1,
169
168
  temporalLayer: +preferredQuality[3] - 1
170
169
  });
171
170
  }
172
171
  else {
173
172
  // User is not using SVC so the selected quality will be either Low, Medium or High so we extract the appropriate spatial layer index
174
- const allQualities = this.config.getSettingOption(Config_1.OptionParameters.PreferredQuality).options;
173
+ const allQualities = this.config.getSettingOption(OptionParameters.PreferredQuality).options;
175
174
  const qualityIndex = allQualities.indexOf(preferredQuality);
176
- message = lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.layerPreference, {
175
+ message = MessageHelpers.createMessage(Messages.layerPreference, {
177
176
  spatialLayer: qualityIndex,
178
177
  temporalLayer: 0
179
178
  });
@@ -182,7 +181,7 @@ class WebRtcPlayerController {
182
181
  });
183
182
  this.setVideoEncoderAvgQP(-1);
184
183
  this.signallingUrlBuilder = () => {
185
- const signallingServerUrl = this.config.getTextSettingValue(Config_1.TextParameters.SignallingServerUrl);
184
+ const signallingServerUrl = this.config.getTextSettingValue(TextParameters.SignallingServerUrl);
186
185
  return signallingServerUrl;
187
186
  };
188
187
  }
@@ -200,7 +199,7 @@ class WebRtcPlayerController {
200
199
  */
201
200
  handleOnMessage(event) {
202
201
  const message = new Uint8Array(event.data);
203
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Message incoming:' + message);
202
+ Logger.Info('Message incoming:' + message);
204
203
  //try {
205
204
  const messageType = this.streamMessageController.fromStreamerMessages.get(message[0]);
206
205
  this.streamMessageController.fromStreamerHandlers.get(messageType)(event.data);
@@ -214,75 +213,75 @@ class WebRtcPlayerController {
214
213
  registerMessageHandlers() {
215
214
  // From Streamer
216
215
  // Message events from the streamer have a data type of ArrayBuffer as we force this type in the DatachannelController
217
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'QualityControlOwnership', (data) => this.onQualityControlOwnership(data));
218
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'Response', (data) => this.responseController.onResponse(data));
219
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'Command', (data) => {
216
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'QualityControlOwnership', (data) => this.onQualityControlOwnership(data));
217
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'Response', (data) => this.responseController.onResponse(data));
218
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'Command', (data) => {
220
219
  this.onCommand(data);
221
220
  });
222
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'FreezeFrame', (data) => this.onFreezeFrameMessage(data));
223
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'UnfreezeFrame', () => this.invalidateFreezeFrameAndEnableVideo());
224
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'VideoEncoderAvgQP', (data) => this.handleVideoEncoderAvgQP(data));
225
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'LatencyTest', (data) => this.handleLatencyTestResult(data));
226
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'DataChannelLatencyTest', (data) => this.handleDataChannelLatencyTestResponse(data));
227
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'InitialSettings', (data) => this.handleInitialSettings(data));
228
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'FileExtension', (data) => this.onFileExtension(data));
229
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'FileMimeType', (data) => this.onFileMimeType(data));
230
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'FileContents', (data) => this.onFileContents(data));
231
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'TestEcho', () => {
221
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'FreezeFrame', (data) => this.onFreezeFrameMessage(data));
222
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'UnfreezeFrame', () => this.invalidateFreezeFrameAndEnableVideo());
223
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'VideoEncoderAvgQP', (data) => this.handleVideoEncoderAvgQP(data));
224
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'LatencyTest', (data) => this.handleLatencyTestResult(data));
225
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'DataChannelLatencyTest', (data) => this.handleDataChannelLatencyTestResponse(data));
226
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'InitialSettings', (data) => this.handleInitialSettings(data));
227
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'FileExtension', (data) => this.onFileExtension(data));
228
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'FileMimeType', (data) => this.onFileMimeType(data));
229
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'FileContents', (data) => this.onFileContents(data));
230
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'TestEcho', () => {
232
231
  /* Do nothing */
233
232
  });
234
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'InputControlOwnership', (data) => this.onInputControlOwnership(data));
235
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'GamepadResponse', (data) => this.onGamepadResponse(data));
236
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'Multiplexed', () => {
233
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'InputControlOwnership', (data) => this.onInputControlOwnership(data));
234
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'GamepadResponse', (data) => this.onGamepadResponse(data));
235
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'Multiplexed', () => {
237
236
  /* Do nothing as this message type is used only by the SFU */
238
237
  });
239
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.FromStreamer, 'Protocol', (data) => this.onProtocolMessage(data));
238
+ this.streamMessageController.registerMessageHandler(MessageDirection.FromStreamer, 'Protocol', (data) => this.onProtocolMessage(data));
240
239
  // To Streamer
241
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'IFrameRequest', () => this.sendMessageController.sendMessageToStreamer('IFrameRequest'));
242
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'RequestQualityControl', () => this.sendMessageController.sendMessageToStreamer('RequestQualityControl'));
243
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'FpsRequest', () => this.sendMessageController.sendMessageToStreamer('FpsRequest'));
244
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'AverageBitrateRequest', () => this.sendMessageController.sendMessageToStreamer('AverageBitrateRequest'));
245
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'StartStreaming', () => this.sendMessageController.sendMessageToStreamer('StartStreaming'));
246
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'StopStreaming', () => this.sendMessageController.sendMessageToStreamer('StopStreaming'));
247
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'LatencyTest', (data) => this.sendMessageController.sendMessageToStreamer('LatencyTest', data));
248
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'RequestInitialSettings', () => this.sendMessageController.sendMessageToStreamer('RequestInitialSettings'));
249
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'TestEcho', () => {
240
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'IFrameRequest', () => this.sendMessageController.sendMessageToStreamer('IFrameRequest'));
241
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'RequestQualityControl', () => this.sendMessageController.sendMessageToStreamer('RequestQualityControl'));
242
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'FpsRequest', () => this.sendMessageController.sendMessageToStreamer('FpsRequest'));
243
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'AverageBitrateRequest', () => this.sendMessageController.sendMessageToStreamer('AverageBitrateRequest'));
244
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'StartStreaming', () => this.sendMessageController.sendMessageToStreamer('StartStreaming'));
245
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'StopStreaming', () => this.sendMessageController.sendMessageToStreamer('StopStreaming'));
246
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'LatencyTest', (data) => this.sendMessageController.sendMessageToStreamer('LatencyTest', data));
247
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'RequestInitialSettings', () => this.sendMessageController.sendMessageToStreamer('RequestInitialSettings'));
248
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'TestEcho', () => {
250
249
  /* Do nothing */
251
250
  });
252
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'UIInteraction', (data) => this.sendMessageController.sendMessageToStreamer('UIInteraction', data));
253
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'Command', (data) => this.sendMessageController.sendMessageToStreamer('Command', data));
254
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'TextboxEntry', (data) => this.sendMessageController.sendMessageToStreamer('TextboxEntry', data));
255
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'KeyDown', (data) => this.sendMessageController.sendMessageToStreamer('KeyDown', data));
256
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'KeyUp', (data) => this.sendMessageController.sendMessageToStreamer('KeyUp', data));
257
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'KeyPress', (data) => this.sendMessageController.sendMessageToStreamer('KeyPress', data));
258
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'MouseEnter', (data) => this.sendMessageController.sendMessageToStreamer('MouseEnter', data));
259
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'MouseLeave', (data) => this.sendMessageController.sendMessageToStreamer('MouseLeave', data));
260
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'MouseDown', (data) => this.sendMessageController.sendMessageToStreamer('MouseDown', data));
261
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'MouseUp', (data) => this.sendMessageController.sendMessageToStreamer('MouseUp', data));
262
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'MouseMove', (data) => this.sendMessageController.sendMessageToStreamer('MouseMove', data));
263
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'MouseWheel', (data) => this.sendMessageController.sendMessageToStreamer('MouseWheel', data));
264
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'MouseDouble', (data) => this.sendMessageController.sendMessageToStreamer('MouseDouble', data));
265
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'TouchStart', (data) => this.sendMessageController.sendMessageToStreamer('TouchStart', data));
266
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'TouchEnd', (data) => this.sendMessageController.sendMessageToStreamer('TouchEnd', data));
267
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'TouchMove', (data) => this.sendMessageController.sendMessageToStreamer('TouchMove', data));
268
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'GamepadConnected', () => this.sendMessageController.sendMessageToStreamer('GamepadConnected'));
269
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'GamepadButtonPressed', (data) => this.sendMessageController.sendMessageToStreamer('GamepadButtonPressed', data));
270
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'GamepadButtonReleased', (data) => this.sendMessageController.sendMessageToStreamer('GamepadButtonReleased', data));
271
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'GamepadAnalog', (data) => this.sendMessageController.sendMessageToStreamer('GamepadAnalog', data));
272
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'GamepadDisconnected', (data) => this.sendMessageController.sendMessageToStreamer('GamepadDisconnected', data));
273
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XREyeViews', (data) => this.sendMessageController.sendMessageToStreamer('XREyeViews', data));
274
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XRHMDTransform', (data) => this.sendMessageController.sendMessageToStreamer('XRHMDTransform', data));
275
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XRControllerTransform', (data) => this.sendMessageController.sendMessageToStreamer('XRControllerTransform', data));
276
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XRSystem', (data) => this.sendMessageController.sendMessageToStreamer('XRSystem', data));
277
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XRButtonTouched', (data) => this.sendMessageController.sendMessageToStreamer('XRButtonTouched', data));
278
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XRButtonTouchReleased', (data) => this.sendMessageController.sendMessageToStreamer('XRButtonTouchReleased', data));
279
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XRButtonPressed', (data) => this.sendMessageController.sendMessageToStreamer('XRButtonPressed', data));
280
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XRButtonReleased', (data) => this.sendMessageController.sendMessageToStreamer('XRButtonReleased', data));
281
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'XRAnalog', (data) => this.sendMessageController.sendMessageToStreamer('XRAnalog', data));
282
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'ChannelRelayStatus', () => {
251
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'UIInteraction', (data) => this.sendMessageController.sendMessageToStreamer('UIInteraction', data));
252
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'Command', (data) => this.sendMessageController.sendMessageToStreamer('Command', data));
253
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'TextboxEntry', (data) => this.sendMessageController.sendMessageToStreamer('TextboxEntry', data));
254
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'KeyDown', (data) => this.sendMessageController.sendMessageToStreamer('KeyDown', data));
255
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'KeyUp', (data) => this.sendMessageController.sendMessageToStreamer('KeyUp', data));
256
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'KeyPress', (data) => this.sendMessageController.sendMessageToStreamer('KeyPress', data));
257
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'MouseEnter', (data) => this.sendMessageController.sendMessageToStreamer('MouseEnter', data));
258
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'MouseLeave', (data) => this.sendMessageController.sendMessageToStreamer('MouseLeave', data));
259
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'MouseDown', (data) => this.sendMessageController.sendMessageToStreamer('MouseDown', data));
260
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'MouseUp', (data) => this.sendMessageController.sendMessageToStreamer('MouseUp', data));
261
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'MouseMove', (data) => this.sendMessageController.sendMessageToStreamer('MouseMove', data));
262
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'MouseWheel', (data) => this.sendMessageController.sendMessageToStreamer('MouseWheel', data));
263
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'MouseDouble', (data) => this.sendMessageController.sendMessageToStreamer('MouseDouble', data));
264
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'TouchStart', (data) => this.sendMessageController.sendMessageToStreamer('TouchStart', data));
265
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'TouchEnd', (data) => this.sendMessageController.sendMessageToStreamer('TouchEnd', data));
266
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'TouchMove', (data) => this.sendMessageController.sendMessageToStreamer('TouchMove', data));
267
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'GamepadConnected', () => this.sendMessageController.sendMessageToStreamer('GamepadConnected'));
268
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'GamepadButtonPressed', (data) => this.sendMessageController.sendMessageToStreamer('GamepadButtonPressed', data));
269
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'GamepadButtonReleased', (data) => this.sendMessageController.sendMessageToStreamer('GamepadButtonReleased', data));
270
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'GamepadAnalog', (data) => this.sendMessageController.sendMessageToStreamer('GamepadAnalog', data));
271
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'GamepadDisconnected', (data) => this.sendMessageController.sendMessageToStreamer('GamepadDisconnected', data));
272
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XREyeViews', (data) => this.sendMessageController.sendMessageToStreamer('XREyeViews', data));
273
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XRHMDTransform', (data) => this.sendMessageController.sendMessageToStreamer('XRHMDTransform', data));
274
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XRControllerTransform', (data) => this.sendMessageController.sendMessageToStreamer('XRControllerTransform', data));
275
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XRSystem', (data) => this.sendMessageController.sendMessageToStreamer('XRSystem', data));
276
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XRButtonTouched', (data) => this.sendMessageController.sendMessageToStreamer('XRButtonTouched', data));
277
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XRButtonTouchReleased', (data) => this.sendMessageController.sendMessageToStreamer('XRButtonTouchReleased', data));
278
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XRButtonPressed', (data) => this.sendMessageController.sendMessageToStreamer('XRButtonPressed', data));
279
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XRButtonReleased', (data) => this.sendMessageController.sendMessageToStreamer('XRButtonReleased', data));
280
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'XRAnalog', (data) => this.sendMessageController.sendMessageToStreamer('XRAnalog', data));
281
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'ChannelRelayStatus', () => {
283
282
  /* Do nothing as this message type is used only by the SFU */
284
283
  });
285
- this.streamMessageController.registerMessageHandler(StreamMessageController_1.MessageDirection.ToStreamer, 'Multiplexed', () => {
284
+ this.streamMessageController.registerMessageHandler(MessageDirection.ToStreamer, 'Multiplexed', () => {
286
285
  /* Do nothing as this message type is used only by the SFU */
287
286
  });
288
287
  }
@@ -291,9 +290,9 @@ class WebRtcPlayerController {
291
290
  * @param message
292
291
  */
293
292
  onCommand(message) {
294
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.Command');
293
+ Logger.Info('DataChannelReceiveMessageType.Command');
295
294
  const commandAsString = new TextDecoder('utf-16').decode(message.slice(1));
296
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Data Channel Command: ' + commandAsString);
295
+ Logger.Info('Data Channel Command: ' + commandAsString);
297
296
  const command = JSON.parse(commandAsString);
298
297
  if (command.command === 'onScreenKeyboard') {
299
298
  this.pixelStreaming._activateOnScreenKeyboard(command);
@@ -308,18 +307,18 @@ class WebRtcPlayerController {
308
307
  const protocolString = new TextDecoder('utf-16').decode(message.slice(1));
309
308
  const protocolJSON = JSON.parse(protocolString);
310
309
  if (!Object.prototype.hasOwnProperty.call(protocolJSON, 'Direction')) {
311
- lib_pixelstreamingcommon_ue5_5_1.Logger.Error('Malformed protocol received. Ensure the protocol message contains a direction');
310
+ Logger.Error('Malformed protocol received. Ensure the protocol message contains a direction');
312
311
  }
313
312
  const direction = protocolJSON.Direction;
314
313
  delete protocolJSON.Direction;
315
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`Received new ${direction == StreamMessageController_1.MessageDirection.FromStreamer ? 'FromStreamer' : 'ToStreamer'} protocol. Updating existing protocol...`);
314
+ Logger.Info(`Received new ${direction == MessageDirection.FromStreamer ? 'FromStreamer' : 'ToStreamer'} protocol. Updating existing protocol...`);
316
315
  Object.keys(protocolJSON).forEach((messageType) => {
317
316
  const message = protocolJSON[messageType];
318
317
  switch (direction) {
319
- case StreamMessageController_1.MessageDirection.ToStreamer:
318
+ case MessageDirection.ToStreamer:
320
319
  // Check that the message contains all the relevant params
321
320
  if (!Object.prototype.hasOwnProperty.call(message, 'id')) {
322
- lib_pixelstreamingcommon_ue5_5_1.Logger.Error(`ToStreamer->${messageType} protocol definition was malformed as it didn't contain at least an id\n
321
+ Logger.Error(`ToStreamer->${messageType} protocol definition was malformed as it didn't contain at least an id\n
323
322
  Definition was: ${JSON.stringify(message, null, 2)}`);
324
323
  // return in a forEach is equivalent to a continue in a normal for loop
325
324
  return;
@@ -335,13 +334,13 @@ class WebRtcPlayerController {
335
334
  this.streamMessageController.toStreamerMessages.set(messageType, message);
336
335
  }
337
336
  else {
338
- lib_pixelstreamingcommon_ue5_5_1.Logger.Error(`There was no registered handler for "${messageType}" - try adding one using registerMessageHandler(MessageDirection.ToStreamer, "${messageType}", myHandler)`);
337
+ Logger.Error(`There was no registered handler for "${messageType}" - try adding one using registerMessageHandler(MessageDirection.ToStreamer, "${messageType}", myHandler)`);
339
338
  }
340
339
  break;
341
- case StreamMessageController_1.MessageDirection.FromStreamer:
340
+ case MessageDirection.FromStreamer:
342
341
  // Check that the message contains all the relevant params
343
342
  if (!Object.prototype.hasOwnProperty.call(message, 'id')) {
344
- lib_pixelstreamingcommon_ue5_5_1.Logger.Error(`FromStreamer->${messageType} protocol definition was malformed as it didn't contain at least an id\n
343
+ Logger.Error(`FromStreamer->${messageType} protocol definition was malformed as it didn't contain at least an id\n
345
344
  Definition was: ${JSON.stringify(message, null, 2)}`);
346
345
  // return in a forEach is equivalent to a continue in a normal for loop
347
346
  return;
@@ -351,11 +350,11 @@ class WebRtcPlayerController {
351
350
  this.streamMessageController.fromStreamerMessages.set(message.id, messageType);
352
351
  }
353
352
  else {
354
- lib_pixelstreamingcommon_ue5_5_1.Logger.Error(`There was no registered handler for "${message}" - try adding one using registerMessageHandler(MessageDirection.FromStreamer, "${messageType}", myHandler)`);
353
+ Logger.Error(`There was no registered handler for "${message}" - try adding one using registerMessageHandler(MessageDirection.FromStreamer, "${messageType}", myHandler)`);
355
354
  }
356
355
  break;
357
356
  default:
358
- lib_pixelstreamingcommon_ue5_5_1.Logger.Error(`Unknown direction: ${direction}`);
357
+ Logger.Error(`Unknown direction: ${direction}`);
359
358
  }
360
359
  });
361
360
  // Once the protocol has been received, we can send our control messages
@@ -363,7 +362,7 @@ class WebRtcPlayerController {
363
362
  this.toStreamerMessagesController.SendRequestQualityControl();
364
363
  }
365
364
  catch (e) {
366
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(e);
365
+ Logger.Info(e);
367
366
  }
368
367
  }
369
368
  /**
@@ -372,9 +371,9 @@ class WebRtcPlayerController {
372
371
  */
373
372
  onInputControlOwnership(message) {
374
373
  const view = new Uint8Array(message);
375
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.InputControlOwnership');
374
+ Logger.Info('DataChannelReceiveMessageType.InputControlOwnership');
376
375
  const inputControlOwnership = new Boolean(view[1]).valueOf();
377
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`Received input controller message - will your input control the stream: ${inputControlOwnership}`);
376
+ Logger.Info(`Received input controller message - will your input control the stream: ${inputControlOwnership}`);
378
377
  this.pixelStreaming._onInputControlOwnership(inputControlOwnership);
379
378
  }
380
379
  /**
@@ -418,14 +417,14 @@ class WebRtcPlayerController {
418
417
  doReconnect(message) {
419
418
  // if there is no webSocketController return immediately or this will not work
420
419
  if (!this.protocol) {
421
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('This player has no protocol connection.');
420
+ Logger.Info('This player has no protocol connection.');
422
421
  return;
423
422
  }
424
423
  this.isReconnecting = true;
425
424
  // if the connection is open, first close it and force a reconnect.
426
425
  if (this.protocol.isConnected()) {
427
426
  if (!this.forceReconnect) {
428
- message = `${message} Reconnecting.`;
427
+ this.disconnectMessage = `${message} Reconnecting.`;
429
428
  }
430
429
  this.closeSignalingServer(message, true);
431
430
  }
@@ -438,17 +437,17 @@ class WebRtcPlayerController {
438
437
  * Loads a freeze frame if it is required otherwise shows the play overlay
439
438
  */
440
439
  loadFreezeFrameOrShowPlayOverlay() {
441
- this.pixelStreaming.dispatchEvent(new EventEmitter_1.LoadFreezeFrameEvent({
440
+ this.pixelStreaming.dispatchEvent(new LoadFreezeFrameEvent({
442
441
  shouldShowPlayOverlay: this.shouldShowPlayOverlay,
443
442
  isValid: this.freezeFrameController.valid,
444
443
  jpegData: this.freezeFrameController.jpeg
445
444
  }));
446
445
  if (this.shouldShowPlayOverlay === true) {
447
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('showing play overlay');
446
+ Logger.Info('showing play overlay');
448
447
  this.resizePlayerStyle();
449
448
  }
450
449
  else {
451
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('showing freeze frame');
450
+ Logger.Info('showing freeze frame');
452
451
  this.freezeFrameController.showFreezeFrame();
453
452
  }
454
453
  setTimeout(() => {
@@ -460,7 +459,7 @@ class WebRtcPlayerController {
460
459
  * @param message The freeze frame data in bytes
461
460
  */
462
461
  onFreezeFrameMessage(message) {
463
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.FreezeFrame');
462
+ Logger.Info('DataChannelReceiveMessageType.FreezeFrame');
464
463
  const view = new Uint8Array(message);
465
464
  this.freezeFrameController.processFreezeFrameMessage(view, () => this.loadFreezeFrameOrShowPlayOverlay());
466
465
  }
@@ -468,9 +467,9 @@ class WebRtcPlayerController {
468
467
  * Enable the video after hiding a freeze frame
469
468
  */
470
469
  invalidateFreezeFrameAndEnableVideo() {
471
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.FreezeFrame');
470
+ Logger.Info('DataChannelReceiveMessageType.FreezeFrame');
472
471
  setTimeout(() => {
473
- this.pixelStreaming.dispatchEvent(new EventEmitter_1.HideFreezeFrameEvent());
472
+ this.pixelStreaming.dispatchEvent(new HideFreezeFrameEvent());
474
473
  this.freezeFrameController.hideFreezeFrame();
475
474
  }, this.freezeFrameController.freezeFrameDelay);
476
475
  if (this.videoPlayer.getVideoElement()) {
@@ -483,7 +482,7 @@ class WebRtcPlayerController {
483
482
  */
484
483
  onFileExtension(data) {
485
484
  const view = new Uint8Array(data);
486
- FileUtil_1.FileUtil.setExtensionFromBytes(view, this.file);
485
+ FileUtil.setExtensionFromBytes(view, this.file);
487
486
  }
488
487
  /**
489
488
  * Prep datachannel data for processing the file mime type
@@ -491,7 +490,7 @@ class WebRtcPlayerController {
491
490
  */
492
491
  onFileMimeType(data) {
493
492
  const view = new Uint8Array(data);
494
- FileUtil_1.FileUtil.setMimeTypeFromBytes(view, this.file);
493
+ FileUtil.setMimeTypeFromBytes(view, this.file);
495
494
  }
496
495
  /**
497
496
  * Prep datachannel data for processing the file contents
@@ -499,7 +498,7 @@ class WebRtcPlayerController {
499
498
  */
500
499
  onFileContents(data) {
501
500
  const view = new Uint8Array(data);
502
- FileUtil_1.FileUtil.setContentsFromBytes(view, this.file);
501
+ FileUtil.setContentsFromBytes(view, this.file);
503
502
  }
504
503
  /**
505
504
  * Plays the stream audio and video source and sets up other pieces while the stream starts
@@ -507,20 +506,20 @@ class WebRtcPlayerController {
507
506
  playStream() {
508
507
  if (!this.videoPlayer.getVideoElement()) {
509
508
  const message = 'Could not play video stream because the video player was not initialized correctly.';
510
- this.pixelStreaming.dispatchEvent(new EventEmitter_1.PlayStreamErrorEvent({ message }));
511
- lib_pixelstreamingcommon_ue5_5_1.Logger.Error(message);
509
+ this.pixelStreaming.dispatchEvent(new PlayStreamErrorEvent({ message }));
510
+ Logger.Error(message);
512
511
  // close the connection
513
512
  this.closeSignalingServer('Stream not initialized correctly', false);
514
513
  return;
515
514
  }
516
515
  if (!this.videoPlayer.hasVideoSource()) {
517
- lib_pixelstreamingcommon_ue5_5_1.Logger.Warning('Cannot play stream, the video element has no srcObject to play.');
516
+ Logger.Warning('Cannot play stream, the video element has no srcObject to play.');
518
517
  return;
519
518
  }
520
- this.setTouchInputEnabled(this.config.isFlagEnabled(Config_1.Flags.TouchInput));
521
- this.pixelStreaming.dispatchEvent(new EventEmitter_1.PlayStreamEvent());
519
+ this.setTouchInputEnabled(this.config.isFlagEnabled(Flags.TouchInput));
520
+ this.pixelStreaming.dispatchEvent(new PlayStreamEvent());
522
521
  if (this.streamController.audioElement.srcObject) {
523
- const startMuted = this.config.isFlagEnabled(Config_1.Flags.StartVideoMuted);
522
+ const startMuted = this.config.isFlagEnabled(Flags.StartVideoMuted);
524
523
  this.streamController.audioElement.muted = startMuted;
525
524
  if (startMuted) {
526
525
  this.playVideo();
@@ -532,9 +531,9 @@ class WebRtcPlayerController {
532
531
  this.playVideo();
533
532
  })
534
533
  .catch((onRejectedReason) => {
535
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(onRejectedReason);
536
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Browser does not support autoplaying video without interaction - to resolve this we are going to show the play button overlay.');
537
- this.pixelStreaming.dispatchEvent(new EventEmitter_1.PlayStreamRejectedEvent({
534
+ Logger.Info(onRejectedReason);
535
+ Logger.Info('Browser does not support autoplaying video without interaction - to resolve this we are going to show the play button overlay.');
536
+ this.pixelStreaming.dispatchEvent(new PlayStreamRejectedEvent({
538
537
  reason: onRejectedReason
539
538
  }));
540
539
  });
@@ -555,16 +554,16 @@ class WebRtcPlayerController {
555
554
  if (this.streamController.audioElement.srcObject) {
556
555
  this.streamController.audioElement.pause();
557
556
  }
558
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(onRejectedReason);
559
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Browser does not support autoplaying video without interaction - to resolve this we are going to show the play button overlay.');
560
- this.pixelStreaming.dispatchEvent(new EventEmitter_1.PlayStreamRejectedEvent({ reason: onRejectedReason }));
557
+ Logger.Info(onRejectedReason);
558
+ Logger.Info('Browser does not support autoplaying video without interaction - to resolve this we are going to show the play button overlay.');
559
+ this.pixelStreaming.dispatchEvent(new PlayStreamRejectedEvent({ reason: onRejectedReason }));
561
560
  });
562
561
  }
563
562
  /**
564
563
  * Enable the video to play automatically if enableAutoplay is true
565
564
  */
566
565
  autoPlayVideoOrSetUpPlayOverlay() {
567
- if (this.config.isFlagEnabled(Config_1.Flags.AutoPlayVideo)) {
566
+ if (this.config.isFlagEnabled(Flags.AutoPlayVideo)) {
568
567
  // attempt to play the video
569
568
  this.playStream();
570
569
  }
@@ -579,6 +578,15 @@ class WebRtcPlayerController {
579
578
  this.disconnectMessage = null;
580
579
  const signallingUrl = this.signallingUrlBuilder();
581
580
  this.protocol.connect(signallingUrl);
581
+ const keepaliveDelay = this.config.getNumericSettingValue(NumericParameters.KeepaliveDelay);
582
+ if (keepaliveDelay > 0) {
583
+ this.keepalive = new KeepaliveMonitor(this.protocol, keepaliveDelay);
584
+ this.keepalive.onTimeout = () => {
585
+ // if the ping fails just disconnect
586
+ Logger.Error(`Protocol timeout`);
587
+ this.protocol.disconnect();
588
+ };
589
+ }
582
590
  }
583
591
  /**
584
592
  * This will start the handshake to the signalling server
@@ -588,18 +596,18 @@ class WebRtcPlayerController {
588
596
  startSession(peerConfig) {
589
597
  this.peerConfig = peerConfig;
590
598
  // check for forcing turn
591
- if (this.config.isFlagEnabled(Config_1.Flags.ForceTURN)) {
599
+ if (this.config.isFlagEnabled(Flags.ForceTURN)) {
592
600
  // check for a turn server
593
601
  const hasTurnServer = this.checkTurnServerAvailability(peerConfig);
594
602
  // close and error if turn is forced and there is no turn server
595
603
  if (!hasTurnServer) {
596
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('No turn server was found in the Peer Connection Options. TURN cannot be forced, closing connection. Please use STUN instead');
604
+ Logger.Info('No turn server was found in the Peer Connection Options. TURN cannot be forced, closing connection. Please use STUN instead');
597
605
  this.closeSignalingServer('TURN cannot be forced, closing connection. Please use STUN instead.', false);
598
606
  return;
599
607
  }
600
608
  }
601
609
  // set up the peer connection controller
602
- this.peerConnectionController = new PeerConnectionController_1.PeerConnectionController(this.peerConfig, this.config, this.preferredCodec);
610
+ this.peerConnectionController = new PeerConnectionController(this.peerConfig, this.config, this.preferredCodec);
603
611
  // set up peer connection controller video stats
604
612
  this.peerConnectionController.onVideoStats = (event) => this.handleVideoStats(event);
605
613
  /* When the Peer Connection wants to send an offer have it handled */
@@ -633,19 +641,19 @@ class WebRtcPlayerController {
633
641
  checkTurnServerAvailability(options) {
634
642
  // if iceServers is empty return false this should not be the general use case but is here incase
635
643
  if (!options.iceServers) {
636
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('A turn sever was not found');
644
+ Logger.Info('A turn sever was not found');
637
645
  return false;
638
646
  }
639
647
  // loop through the ice servers to check for a turn url
640
648
  for (const iceServer of options.iceServers) {
641
649
  for (const url of iceServer.urls) {
642
650
  if (url.includes('turn')) {
643
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`A turn sever was found at ${url}`);
651
+ Logger.Info(`A turn sever was found at ${url}`);
644
652
  return true;
645
653
  }
646
654
  }
647
655
  }
648
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('A turn sever was not found');
656
+ Logger.Info('A turn sever was not found');
649
657
  return false;
650
658
  }
651
659
  /**
@@ -657,14 +665,17 @@ class WebRtcPlayerController {
657
665
  // Tell the WebRtcController to start a session with the peer options sent from the signaling server
658
666
  this.startSession(messageConfig.peerConnectionOptions);
659
667
  }
668
+ handlePingMessage(pingMessage) {
669
+ this.protocol.sendMessage(MessageHelpers.createMessage(Messages.pong, { time: pingMessage.time }));
670
+ }
660
671
  /**
661
672
  * Handles when the signalling server gives us the list of streamer ids.
662
673
  */
663
674
  handleStreamerListMessage(messageStreamerList) {
664
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`Got streamer list ${messageStreamerList.ids}`);
675
+ Logger.Info(`Got streamer list ${messageStreamerList.ids}`);
665
676
  let wantedStreamerId = '';
666
677
  // get the current selected streamer id option
667
- const streamerIDOption = this.config.getSettingOption(Config_1.OptionParameters.StreamerId);
678
+ const streamerIDOption = this.config.getSettingOption(OptionParameters.StreamerId);
668
679
  const existingSelection = streamerIDOption.selected.toString().trim();
669
680
  if (existingSelection) {
670
681
  // default to selected option if it exists
@@ -673,17 +684,17 @@ class WebRtcPlayerController {
673
684
  // add the streamers to the UI
674
685
  const settingOptions = [...messageStreamerList.ids]; // copy the original messageStreamerList.ids
675
686
  settingOptions.unshift(''); // add an empty option at the top
676
- this.config.setOptionSettingOptions(Config_1.OptionParameters.StreamerId, settingOptions);
687
+ this.config.setOptionSettingOptions(OptionParameters.StreamerId, settingOptions);
677
688
  let autoSelectedStreamerId = '';
678
- const waitForStreamer = this.config.isFlagEnabled(Config_1.Flags.WaitForStreamer);
679
- const reconnectLimit = this.config.getNumericSettingValue(Config_1.NumericParameters.MaxReconnectAttempts);
680
- const reconnectDelay = this.config.getNumericSettingValue(Config_1.NumericParameters.StreamerAutoJoinInterval);
689
+ const waitForStreamer = this.config.isFlagEnabled(Flags.WaitForStreamer);
690
+ const reconnectLimit = this.config.getNumericSettingValue(NumericParameters.MaxReconnectAttempts);
691
+ const reconnectDelay = this.config.getNumericSettingValue(NumericParameters.StreamerAutoJoinInterval);
681
692
  // first we figure out a wanted streamer id through various means
682
693
  const useUrlParams = this.config.useUrlParams;
683
- const urlParams = new IURLSearchParams_1.IURLSearchParams(window.location.search);
684
- if (useUrlParams && urlParams.has(Config_1.OptionParameters.StreamerId)) {
694
+ const urlParams = new IURLSearchParams(window.location.search);
695
+ if (useUrlParams && urlParams.has(OptionParameters.StreamerId)) {
685
696
  // if we've set the streamer id on the url we only want that streamer id
686
- wantedStreamerId = urlParams.get(Config_1.OptionParameters.StreamerId);
697
+ wantedStreamerId = urlParams.get(OptionParameters.StreamerId);
687
698
  }
688
699
  else if (this.subscribedStream) {
689
700
  // we were previously subscribed to a streamer, we want that
@@ -702,7 +713,7 @@ class WebRtcPlayerController {
702
713
  if (autoSelectedStreamerId) {
703
714
  this.reconnectAttempt = 0;
704
715
  this.isReconnecting = false;
705
- this.config.setOptionSettingValue(Config_1.OptionParameters.StreamerId, autoSelectedStreamerId);
716
+ this.config.setOptionSettingValue(OptionParameters.StreamerId, autoSelectedStreamerId);
706
717
  }
707
718
  else {
708
719
  // no auto selected streamer.
@@ -713,7 +724,7 @@ class WebRtcPlayerController {
713
724
  this.reconnectAttempt++;
714
725
  this.isReconnecting = true;
715
726
  setTimeout(() => {
716
- this.protocol.sendMessage(lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.listStreamers));
727
+ this.protocol.sendMessage(MessageHelpers.createMessage(Messages.listStreamers));
717
728
  }, reconnectDelay);
718
729
  }
719
730
  else {
@@ -725,16 +736,22 @@ class WebRtcPlayerController {
725
736
  }
726
737
  }
727
738
  // dispatch this event finally
728
- this.pixelStreaming.dispatchEvent(new EventEmitter_1.StreamerListMessageEvent({
739
+ this.pixelStreaming.dispatchEvent(new StreamerListMessageEvent({
729
740
  messageStreamerList,
730
741
  autoSelectedStreamerId,
731
742
  wantedStreamerId
732
743
  }));
733
744
  }
745
+ handleSubscribeFailedMessage(subscribeFailedMessage) {
746
+ this.reconnectAttempt = 0;
747
+ this.isReconnecting = false;
748
+ this.enableAutoReconnect = false;
749
+ this.pixelStreaming._onSubscribeFailed(subscribeFailedMessage.message);
750
+ }
734
751
  handleStreamerIDChangedMessage(streamerIDChangedMessage) {
735
752
  const newID = streamerIDChangedMessage.newID;
736
753
  // need to edit the selected streamer in the settings list
737
- const streamerListOptions = this.config.getSettingOption(Config_1.OptionParameters.StreamerId);
754
+ const streamerListOptions = this.config.getSettingOption(OptionParameters.StreamerId);
738
755
  // temporarily prevent onChange from firing (it would try to subscribe to the streamer again)
739
756
  const oldOnChange = streamerListOptions.onChange;
740
757
  streamerListOptions.onChange = () => { };
@@ -755,7 +772,7 @@ class WebRtcPlayerController {
755
772
  // remember which stream we're subscribe to
756
773
  this.subscribedStream = streamerIDChangedMessage.newID;
757
774
  // notify any listeners
758
- this.pixelStreaming.dispatchEvent(new EventEmitter_1.StreamerIDChangedMessageEvent({
775
+ this.pixelStreaming.dispatchEvent(new StreamerIDChangedMessageEvent({
759
776
  newID
760
777
  }));
761
778
  }
@@ -764,7 +781,7 @@ class WebRtcPlayerController {
764
781
  * @param Answer - Answer SDP from the peer.
765
782
  */
766
783
  handleWebRtcAnswer(Answer) {
767
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`Got answer sdp ${Answer.sdp}`);
784
+ Logger.Info(`Got answer sdp ${Answer.sdp}`);
768
785
  const sdpAnswer = {
769
786
  sdp: Answer.sdp,
770
787
  type: 'answer'
@@ -777,7 +794,7 @@ class WebRtcPlayerController {
777
794
  * @param Offer - Offer SDP from the peer.
778
795
  */
779
796
  handleWebRtcOffer(Offer) {
780
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`Got offer sdp ${Offer.sdp}`);
797
+ Logger.Info(`Got offer sdp ${Offer.sdp}`);
781
798
  this.isUsingSFU = Offer.sfu ? Offer.sfu : false;
782
799
  this.isUsingSVC = Offer.scalabilityMode ? Offer.scalabilityMode != 'L1T1' : false;
783
800
  if (this.isUsingSFU || this.isUsingSVC) {
@@ -806,9 +823,9 @@ class WebRtcPlayerController {
806
823
  }
807
824
  }
808
825
  // Update the possible video quality options
809
- this.config.setOptionSettingOptions(Config_1.OptionParameters.PreferredQuality, availableQualities);
826
+ this.config.setOptionSettingOptions(OptionParameters.PreferredQuality, availableQualities);
810
827
  // Update the selected video quality with the highest possible resolution
811
- this.config.setOptionSettingValue(Config_1.OptionParameters.PreferredQuality, availableQualities.slice(-1)[0]);
828
+ this.config.setOptionSettingValue(OptionParameters.PreferredQuality, availableQualities.slice(-1)[0]);
812
829
  const sdpOffer = {
813
830
  sdp: Offer.sdp,
814
831
  type: 'offer'
@@ -835,7 +852,7 @@ class WebRtcPlayerController {
835
852
  id: DataChannels.recvStreamId
836
853
  };
837
854
  this.recvDataChannelController.createDataChannel(this.peerConnectionController.peerConnection, 'recv-datachannel', RecvOptions);
838
- this.recvDataChannelController.handleOnOpen = () => this.protocol.sendMessage(lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.peerDataChannelsReady));
855
+ this.recvDataChannelController.handleOnOpen = () => this.protocol.sendMessage(MessageHelpers.createMessage(Messages.peerDataChannelsReady));
839
856
  // If we're uni-directional, only the recv data channel should handle incoming messages
840
857
  this.recvDataChannelController.handleOnMessage = (ev) => this.handleOnMessage(ev);
841
858
  }
@@ -854,16 +871,16 @@ class WebRtcPlayerController {
854
871
  }
855
872
  this.statsTimerHandle = window.setInterval(() => this.getStats(), 1000);
856
873
  /* */
857
- this.setMouseInputEnabled(this.config.isFlagEnabled(Config_1.Flags.MouseInput));
858
- this.setKeyboardInputEnabled(this.config.isFlagEnabled(Config_1.Flags.KeyboardInput));
859
- this.setGamePadInputEnabled(this.config.isFlagEnabled(Config_1.Flags.GamepadInput));
874
+ this.setMouseInputEnabled(this.config.isFlagEnabled(Flags.MouseInput));
875
+ this.setKeyboardInputEnabled(this.config.isFlagEnabled(Flags.KeyboardInput));
876
+ this.setGamePadInputEnabled(this.config.isFlagEnabled(Flags.GamepadInput));
860
877
  }
861
878
  /**
862
879
  * When an ice Candidate is received from the Signaling server add it to the Peer Connection Client
863
880
  * @param iceCandidate - Ice Candidate from Server
864
881
  */
865
882
  handleIceCandidate(iceCandidate) {
866
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Web RTC Controller: onWebRtcIce');
883
+ Logger.Info('Web RTC Controller: onWebRtcIce');
867
884
  const candidate = new RTCIceCandidate(iceCandidate);
868
885
  this.peerConnectionController.handleOnIce(candidate);
869
886
  }
@@ -872,9 +889,9 @@ class WebRtcPlayerController {
872
889
  * @param iceEvent - RTC Peer ConnectionIceEvent) {
873
890
  */
874
891
  handleSendIceCandidate(iceEvent) {
875
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('OnIceCandidate');
892
+ Logger.Info('OnIceCandidate');
876
893
  if (iceEvent.candidate && iceEvent.candidate.candidate) {
877
- this.protocol.sendMessage(lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.iceCandidate, { candidate: iceEvent.candidate }));
894
+ this.protocol.sendMessage(MessageHelpers.createMessage(Messages.iceCandidate, { candidate: iceEvent.candidate }));
878
895
  }
879
896
  }
880
897
  /**
@@ -882,7 +899,7 @@ class WebRtcPlayerController {
882
899
  * @param iceEvent - RTC Peer ConnectionIceEvent) {
883
900
  */
884
901
  handleDataChannel(datachannelEvent) {
885
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Data channel created for us by browser as we are a receiving peer.');
902
+ Logger.Info('Data channel created for us by browser as we are a receiving peer.');
886
903
  this.sendrecvDataChannelController.dataChannel = datachannelEvent.channel;
887
904
  // Data channel was created for us, so we just need to setup its callbacks and array type
888
905
  this.sendrecvDataChannelController.setupDataChannel();
@@ -893,28 +910,28 @@ class WebRtcPlayerController {
893
910
  * @param offer - RTC Session Description
894
911
  */
895
912
  handleSendWebRTCOffer(offer) {
896
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Sending the offer to the Server');
913
+ Logger.Info('Sending the offer to the Server');
897
914
  const extraParams = {
898
915
  sdp: offer.sdp,
899
- minBitrateBps: 1000 * this.config.getNumericSettingValue(Config_1.NumericParameters.WebRTCMinBitrate),
900
- maxBitrateBps: 1000 * this.config.getNumericSettingValue(Config_1.NumericParameters.WebRTCMaxBitrate)
916
+ minBitrateBps: 1000 * this.config.getNumericSettingValue(NumericParameters.WebRTCMinBitrate),
917
+ maxBitrateBps: 1000 * this.config.getNumericSettingValue(NumericParameters.WebRTCMaxBitrate)
901
918
  };
902
- this.protocol.sendMessage(lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.offer, extraParams));
919
+ this.protocol.sendMessage(MessageHelpers.createMessage(Messages.offer, extraParams));
903
920
  }
904
921
  /**
905
922
  * Send the RTC Offer Session to the Signaling server via websocket
906
923
  * @param answer - RTC Session Description
907
924
  */
908
925
  handleSendWebRTCAnswer(answer) {
909
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Sending the answer to the Server');
926
+ Logger.Info('Sending the answer to the Server');
910
927
  const extraParams = {
911
928
  sdp: answer.sdp,
912
- minBitrateBps: 1000 * this.config.getNumericSettingValue(Config_1.NumericParameters.WebRTCMinBitrate),
913
- maxBitrateBps: 1000 * this.config.getNumericSettingValue(Config_1.NumericParameters.WebRTCMaxBitrate)
929
+ minBitrateBps: 1000 * this.config.getNumericSettingValue(NumericParameters.WebRTCMinBitrate),
930
+ maxBitrateBps: 1000 * this.config.getNumericSettingValue(NumericParameters.WebRTCMaxBitrate)
914
931
  };
915
- this.protocol.sendMessage(lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.answer, extraParams));
932
+ this.protocol.sendMessage(MessageHelpers.createMessage(Messages.answer, extraParams));
916
933
  if (this.isUsingSFU) {
917
- this.protocol.sendMessage(lib_pixelstreamingcommon_ue5_5_1.MessageHelpers.createMessage(lib_pixelstreamingcommon_ue5_5_1.Messages.dataChannelRequest));
934
+ this.protocol.sendMessage(MessageHelpers.createMessage(Messages.dataChannelRequest));
918
935
  }
919
936
  }
920
937
  /**
@@ -986,7 +1003,7 @@ class WebRtcPlayerController {
986
1003
  * to aim for the best quality it can on the given network link.
987
1004
  */
988
1005
  sendEncoderMinQP(minQP) {
989
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`MinQP=${minQP}\n`);
1006
+ Logger.Info(`MinQP=${minQP}\n`);
990
1007
  if (minQP != null) {
991
1008
  this.streamMessageController.toStreamerHandlers.get('Command')([
992
1009
  JSON.stringify({
@@ -1005,7 +1022,7 @@ class WebRtcPlayerController {
1005
1022
  * to drop quality as low as needed on the given network link.
1006
1023
  */
1007
1024
  sendEncoderMaxQP(maxQP) {
1008
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`MaxQP=${maxQP}\n`);
1025
+ Logger.Info(`MaxQP=${maxQP}\n`);
1009
1026
  if (maxQP != null) {
1010
1027
  this.streamMessageController.toStreamerHandlers.get('Command')([
1011
1028
  JSON.stringify({
@@ -1022,7 +1039,7 @@ class WebRtcPlayerController {
1022
1039
  * 100 = Best quality.
1023
1040
  */
1024
1041
  sendEncoderMinQuality(minQuality) {
1025
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`MinQuality=${minQuality}\n`);
1042
+ Logger.Info(`MinQuality=${minQuality}\n`);
1026
1043
  if (minQuality != null) {
1027
1044
  this.streamMessageController.toStreamerHandlers.get('Command')([
1028
1045
  JSON.stringify({
@@ -1039,7 +1056,7 @@ class WebRtcPlayerController {
1039
1056
  * 100 = Best quality.
1040
1057
  */
1041
1058
  sendEncoderMaxQuality(maxQuality) {
1042
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`MaxQuality=${maxQuality}\n`);
1059
+ Logger.Info(`MaxQuality=${maxQuality}\n`);
1043
1060
  if (maxQuality != null) {
1044
1061
  this.streamMessageController.toStreamerHandlers.get('Command')([
1045
1062
  JSON.stringify({
@@ -1055,7 +1072,7 @@ class WebRtcPlayerController {
1055
1072
  * @param minBitrate - The minimum bitrate we would like WebRTC to not fall below.
1056
1073
  */
1057
1074
  sendWebRTCMinBitrate(minBitrate) {
1058
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`WebRTC Min Bitrate=${minBitrate}`);
1075
+ Logger.Info(`WebRTC Min Bitrate=${minBitrate}`);
1059
1076
  if (minBitrate != null) {
1060
1077
  this.streamMessageController.toStreamerHandlers.get('Command')([
1061
1078
  JSON.stringify({
@@ -1071,7 +1088,7 @@ class WebRtcPlayerController {
1071
1088
  * @param minBitrate - The minimum bitrate we would like WebRTC to not fall below.
1072
1089
  */
1073
1090
  sendWebRTCMaxBitrate(maxBitrate) {
1074
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`WebRTC Max Bitrate=${maxBitrate}`);
1091
+ Logger.Info(`WebRTC Max Bitrate=${maxBitrate}`);
1075
1092
  if (maxBitrate != null) {
1076
1093
  this.streamMessageController.toStreamerHandlers.get('Command')([
1077
1094
  JSON.stringify({
@@ -1087,7 +1104,7 @@ class WebRtcPlayerController {
1087
1104
  * @param fps - The maximum stream fps.
1088
1105
  */
1089
1106
  sendWebRTCFps(fps) {
1090
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`WebRTC FPS=${fps}`);
1107
+ Logger.Info(`WebRTC FPS=${fps}`);
1091
1108
  if (fps != null) {
1092
1109
  this.streamMessageController.toStreamerHandlers.get('Command')([
1093
1110
  JSON.stringify({ 'WebRTC.Fps': fps })
@@ -1102,35 +1119,35 @@ class WebRtcPlayerController {
1102
1119
  * Sends the UI Descriptor `stat fps` to the UE Instance
1103
1120
  */
1104
1121
  sendShowFps() {
1105
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('---- Sending show stat to UE ----');
1122
+ Logger.Info('---- Sending show stat to UE ----');
1106
1123
  this.streamMessageController.toStreamerHandlers.get('Command')([JSON.stringify({ 'stat.fps': '' })]);
1107
1124
  }
1108
1125
  /**
1109
1126
  * Send an Iframe request to the streamer
1110
1127
  */
1111
1128
  sendIframeRequest() {
1112
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('---- Sending Request for an IFrame ----');
1129
+ Logger.Info('---- Sending Request for an IFrame ----');
1113
1130
  this.streamMessageController.toStreamerHandlers.get('IFrameRequest')();
1114
1131
  }
1115
1132
  /**
1116
1133
  * Send a UIInteraction message
1117
1134
  */
1118
1135
  emitUIInteraction(descriptor) {
1119
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('---- Sending custom UIInteraction message ----');
1136
+ Logger.Info('---- Sending custom UIInteraction message ----');
1120
1137
  this.streamMessageController.toStreamerHandlers.get('UIInteraction')([JSON.stringify(descriptor)]);
1121
1138
  }
1122
1139
  /**
1123
1140
  * Send a Command message
1124
1141
  */
1125
1142
  emitCommand(descriptor) {
1126
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('---- Sending custom Command message ----');
1143
+ Logger.Info('---- Sending custom Command message ----');
1127
1144
  this.streamMessageController.toStreamerHandlers.get('Command')([JSON.stringify(descriptor)]);
1128
1145
  }
1129
1146
  /**
1130
1147
  * Send a console command message
1131
1148
  */
1132
1149
  emitConsoleCommand(command) {
1133
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('---- Sending custom Command:ConsoleCommand message ----');
1150
+ Logger.Info('---- Sending custom Command:ConsoleCommand message ----');
1134
1151
  this.streamMessageController.toStreamerHandlers.get('Command')([
1135
1152
  JSON.stringify({
1136
1153
  ConsoleCommand: command
@@ -1141,7 +1158,7 @@ class WebRtcPlayerController {
1141
1158
  * Sends a request to the UE Instance to have ownership of Quality
1142
1159
  */
1143
1160
  sendRequestQualityControlOwnership() {
1144
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('---- Sending Request to Control Quality ----');
1161
+ Logger.Info('---- Sending Request to Control Quality ----');
1145
1162
  this.toStreamerMessagesController.SendRequestQualityControl();
1146
1163
  }
1147
1164
  /**
@@ -1149,9 +1166,9 @@ class WebRtcPlayerController {
1149
1166
  * @param message - Latency Test Timings
1150
1167
  */
1151
1168
  handleLatencyTestResult(message) {
1152
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.latencyTest');
1169
+ Logger.Info('DataChannelReceiveMessageType.latencyTest');
1153
1170
  const latencyAsString = new TextDecoder('utf-16').decode(message.slice(1));
1154
- const latencyTestResults = new LatencyTestResults_1.LatencyTestResults();
1171
+ const latencyTestResults = new LatencyTestResults();
1155
1172
  Object.assign(latencyTestResults, JSON.parse(latencyAsString));
1156
1173
  latencyTestResults.processFields();
1157
1174
  latencyTestResults.testStartTimeMs = this.latencyStartTime;
@@ -1171,7 +1188,7 @@ class WebRtcPlayerController {
1171
1188
  * @param message - Data Channel Latency Test Response
1172
1189
  */
1173
1190
  handleDataChannelLatencyTestResponse(message) {
1174
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.dataChannelLatencyResponse');
1191
+ Logger.Info('DataChannelReceiveMessageType.dataChannelLatencyResponse');
1175
1192
  const responseAsString = new TextDecoder('utf-16').decode(message.slice(1));
1176
1193
  const latencyTestResponse = JSON.parse(responseAsString);
1177
1194
  this.pixelStreaming._onDataChannelLatencyTestResponse(latencyTestResponse);
@@ -1181,10 +1198,10 @@ class WebRtcPlayerController {
1181
1198
  * @param message - Initial Encoder and Web RTC Settings
1182
1199
  */
1183
1200
  handleInitialSettings(message) {
1184
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.InitialSettings');
1201
+ Logger.Info('DataChannelReceiveMessageType.InitialSettings');
1185
1202
  const payloadAsString = new TextDecoder('utf-16').decode(message.slice(1));
1186
1203
  const parsedInitialSettings = JSON.parse(payloadAsString);
1187
- const initialSettings = new InitialSettings_1.InitialSettings();
1204
+ const initialSettings = new InitialSettings();
1188
1205
  if (parsedInitialSettings.Encoder) {
1189
1206
  initialSettings.EncoderSettings = parsedInitialSettings.Encoder;
1190
1207
  }
@@ -1196,10 +1213,10 @@ class WebRtcPlayerController {
1196
1213
  }
1197
1214
  if (parsedInitialSettings.ConfigOptions &&
1198
1215
  parsedInitialSettings.ConfigOptions.DefaultToHover !== undefined) {
1199
- this.config.setFlagEnabled(Config_1.Flags.HoveringMouseMode, !!parsedInitialSettings.ConfigOptions.DefaultToHover);
1216
+ this.config.setFlagEnabled(Flags.HoveringMouseMode, !!parsedInitialSettings.ConfigOptions.DefaultToHover);
1200
1217
  }
1201
1218
  initialSettings.ueCompatible();
1202
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(payloadAsString);
1219
+ Logger.Info(payloadAsString);
1203
1220
  this.pixelStreaming._onInitialSettings(initialSettings);
1204
1221
  }
1205
1222
  /**
@@ -1207,7 +1224,7 @@ class WebRtcPlayerController {
1207
1224
  * @param message - Encoders Quantization Parameter
1208
1225
  */
1209
1226
  handleVideoEncoderAvgQP(message) {
1210
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.VideoEncoderAvgQP');
1227
+ Logger.Info('DataChannelReceiveMessageType.VideoEncoderAvgQP');
1211
1228
  const AvgQP = Number(new TextDecoder('utf-16').decode(message.slice(1)));
1212
1229
  this.setVideoEncoderAvgQP(AvgQP);
1213
1230
  }
@@ -1227,9 +1244,9 @@ class WebRtcPlayerController {
1227
1244
  */
1228
1245
  onQualityControlOwnership(message) {
1229
1246
  const view = new Uint8Array(message);
1230
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info('DataChannelReceiveMessageType.QualityControlOwnership');
1247
+ Logger.Info('DataChannelReceiveMessageType.QualityControlOwnership');
1231
1248
  this.isQualityController = new Boolean(view[1]).valueOf();
1232
- lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`Received quality controller message, will control quality: ${this.isQualityController}`);
1249
+ Logger.Info(`Received quality controller message, will control quality: ${this.isQualityController}`);
1233
1250
  this.pixelStreaming._onQualityControlOwnership(this.isQualityController);
1234
1251
  }
1235
1252
  /**
@@ -1273,9 +1290,9 @@ class WebRtcPlayerController {
1273
1290
  var _a;
1274
1291
  (_a = this.mouseController) === null || _a === void 0 ? void 0 : _a.unregister();
1275
1292
  if (isEnabled) {
1276
- const mouseMode = this.config.isFlagEnabled(Config_1.Flags.HoveringMouseMode)
1277
- ? Config_1.ControlSchemeType.HoveringMouse
1278
- : Config_1.ControlSchemeType.LockedMouse;
1293
+ const mouseMode = this.config.isFlagEnabled(Flags.HoveringMouseMode)
1294
+ ? ControlSchemeType.HoveringMouse
1295
+ : ControlSchemeType.LockedMouse;
1279
1296
  this.mouseController = this.inputClassesFactory.registerMouse(mouseMode);
1280
1297
  }
1281
1298
  }
@@ -1286,7 +1303,7 @@ class WebRtcPlayerController {
1286
1303
  var _a;
1287
1304
  (_a = this.touchController) === null || _a === void 0 ? void 0 : _a.unregister();
1288
1305
  if (isEnabled) {
1289
- this.touchController = this.inputClassesFactory.registerTouch(this.config.isFlagEnabled(Config_1.Flags.FakeMouseWithTouches));
1306
+ this.touchController = this.inputClassesFactory.registerTouch(this.config.isFlagEnabled(Flags.FakeMouseWithTouches));
1290
1307
  }
1291
1308
  }
1292
1309
  /**
@@ -1300,18 +1317,17 @@ class WebRtcPlayerController {
1300
1317
  }
1301
1318
  }
1302
1319
  registerDataChannelEventEmitters(dataChannel) {
1303
- dataChannel.onOpen = (label, event) => this.pixelStreaming.dispatchEvent(new EventEmitter_1.DataChannelOpenEvent({ label, event }));
1304
- dataChannel.onClose = (label, event) => this.pixelStreaming.dispatchEvent(new EventEmitter_1.DataChannelCloseEvent({ label, event }));
1305
- dataChannel.onError = (label, event) => this.pixelStreaming.dispatchEvent(new EventEmitter_1.DataChannelErrorEvent({ label, event }));
1320
+ dataChannel.onOpen = (label, event) => this.pixelStreaming.dispatchEvent(new DataChannelOpenEvent({ label, event }));
1321
+ dataChannel.onClose = (label, event) => this.pixelStreaming.dispatchEvent(new DataChannelCloseEvent({ label, event }));
1322
+ dataChannel.onError = (label, event) => this.pixelStreaming.dispatchEvent(new DataChannelErrorEvent({ label, event }));
1306
1323
  }
1307
1324
  registerMessageHandler(name, direction, handler) {
1308
- if (direction === StreamMessageController_1.MessageDirection.FromStreamer && typeof handler === 'undefined') {
1309
- lib_pixelstreamingcommon_ue5_5_1.Logger.Warning(`Unable to register handler for ${name} as no handler was passed`);
1325
+ if (direction === MessageDirection.FromStreamer && typeof handler === 'undefined') {
1326
+ Logger.Warning(`Unable to register handler for ${name} as no handler was passed`);
1310
1327
  }
1311
- this.streamMessageController.registerMessageHandler(direction, name, (data) => typeof handler === 'undefined' && direction === StreamMessageController_1.MessageDirection.ToStreamer
1328
+ this.streamMessageController.registerMessageHandler(direction, name, (data) => typeof handler === 'undefined' && direction === MessageDirection.ToStreamer
1312
1329
  ? this.sendMessageController.sendMessageToStreamer(name, data)
1313
1330
  : handler(data));
1314
1331
  }
1315
1332
  }
1316
- exports.WebRtcPlayerController = WebRtcPlayerController;
1317
1333
  //# sourceMappingURL=WebRtcPlayerController.js.map