@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.4.5 → 0.4.7

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