@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.3.0 → 0.3.1

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 (169) hide show
  1. package/dist/commonjs/AFK/AFKController.js +109 -109
  2. package/dist/commonjs/Config/Config.js +559 -559
  3. package/dist/commonjs/Config/SettingBase.js +98 -98
  4. package/dist/commonjs/Config/SettingFlag.js +49 -49
  5. package/dist/commonjs/Config/SettingNumber.js +83 -83
  6. package/dist/commonjs/Config/SettingOption.js +84 -84
  7. package/dist/commonjs/Config/SettingText.js +42 -42
  8. package/dist/commonjs/DataChannel/DataChannelController.js +106 -106
  9. package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js +94 -94
  10. package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js +18 -18
  11. package/dist/commonjs/DataChannel/DataChannelSender.js +43 -43
  12. package/dist/commonjs/DataChannel/InitialSettings.js +41 -41
  13. package/dist/commonjs/DataChannel/LatencyTestResults.js +60 -60
  14. package/dist/commonjs/FreezeFrame/FreezeFrame.js +93 -93
  15. package/dist/commonjs/FreezeFrame/FreezeFrameController.js +95 -95
  16. package/dist/commonjs/Inputs/GamepadController.js +188 -188
  17. package/dist/commonjs/Inputs/GamepadTypes.js +21 -21
  18. package/dist/commonjs/Inputs/IInputController.js +2 -2
  19. package/dist/commonjs/Inputs/InputClassesFactory.js +96 -96
  20. package/dist/commonjs/Inputs/KeyCodes.js +112 -112
  21. package/dist/commonjs/Inputs/KeyboardController.js +137 -137
  22. package/dist/commonjs/Inputs/MouseButtons.js +28 -28
  23. package/dist/commonjs/Inputs/MouseController.js +97 -97
  24. package/dist/commonjs/Inputs/MouseControllerHovering.js +93 -93
  25. package/dist/commonjs/Inputs/MouseControllerLocked.js +153 -153
  26. package/dist/commonjs/Inputs/SpecialKeyCodes.js +19 -19
  27. package/dist/commonjs/Inputs/TouchController.js +123 -123
  28. package/dist/commonjs/Inputs/TouchControllerFake.js +91 -91
  29. package/dist/commonjs/Inputs/XRGamepadController.js +124 -124
  30. package/dist/commonjs/PeerConnectionController/AggregatedStats.js +252 -252
  31. package/dist/commonjs/PeerConnectionController/CandidatePairStats.js +10 -10
  32. package/dist/commonjs/PeerConnectionController/CandidateStat.js +10 -10
  33. package/dist/commonjs/PeerConnectionController/CodecStats.js +10 -10
  34. package/dist/commonjs/PeerConnectionController/DataChannelStats.js +10 -10
  35. package/dist/commonjs/PeerConnectionController/InboundRTPStats.js +22 -22
  36. package/dist/commonjs/PeerConnectionController/InboundTrackStats.js +10 -10
  37. package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js +16 -16
  38. package/dist/commonjs/PeerConnectionController/PeerConnectionController.js +584 -584
  39. package/dist/commonjs/PeerConnectionController/SessionStats.js +10 -10
  40. package/dist/commonjs/PeerConnectionController/StreamStats.js +10 -10
  41. package/dist/commonjs/PixelStreaming/PixelStreaming.js +607 -607
  42. package/dist/commonjs/UI/OnScreenKeyboard.js +82 -82
  43. package/dist/commonjs/UeInstanceMessage/ResponseController.js +38 -38
  44. package/dist/commonjs/UeInstanceMessage/SendMessageController.js +120 -120
  45. package/dist/commonjs/UeInstanceMessage/StreamMessageController.js +210 -210
  46. package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js +49 -49
  47. package/dist/commonjs/Util/EventEmitter.js +386 -386
  48. package/dist/commonjs/Util/FileUtil.js +108 -108
  49. package/dist/commonjs/Util/IURLSearchParams.js +25 -25
  50. package/dist/commonjs/Util/InputCoordTranslator.js +49 -49
  51. package/dist/commonjs/Util/RTCUtils.js +40 -40
  52. package/dist/commonjs/VideoPlayer/StreamController.js +67 -67
  53. package/dist/commonjs/VideoPlayer/VideoPlayer.js +177 -177
  54. package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js +1221 -1221
  55. package/dist/commonjs/WebXR/WebXRController.js +335 -335
  56. package/dist/commonjs/pixelstreamingfrontend.js +70 -70
  57. package/dist/esm/AFK/AFKController.js +105 -105
  58. package/dist/esm/Config/Config.js +551 -551
  59. package/dist/esm/Config/SettingBase.js +94 -94
  60. package/dist/esm/Config/SettingFlag.js +45 -45
  61. package/dist/esm/Config/SettingNumber.js +79 -79
  62. package/dist/esm/Config/SettingOption.js +80 -80
  63. package/dist/esm/Config/SettingText.js +38 -38
  64. package/dist/esm/DataChannel/DataChannelController.js +102 -102
  65. package/dist/esm/DataChannel/DataChannelLatencyTestController.js +90 -90
  66. package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +14 -14
  67. package/dist/esm/DataChannel/DataChannelSender.js +39 -39
  68. package/dist/esm/DataChannel/InitialSettings.js +34 -34
  69. package/dist/esm/DataChannel/LatencyTestResults.js +56 -56
  70. package/dist/esm/FreezeFrame/FreezeFrame.js +89 -89
  71. package/dist/esm/FreezeFrame/FreezeFrameController.js +91 -91
  72. package/dist/esm/Inputs/GamepadController.js +184 -184
  73. package/dist/esm/Inputs/GamepadTypes.js +17 -17
  74. package/dist/esm/Inputs/IInputController.js +1 -1
  75. package/dist/esm/Inputs/InputClassesFactory.js +91 -91
  76. package/dist/esm/Inputs/KeyCodes.js +109 -109
  77. package/dist/esm/Inputs/KeyboardController.js +133 -133
  78. package/dist/esm/Inputs/MouseButtons.js +23 -23
  79. package/dist/esm/Inputs/MouseController.js +93 -93
  80. package/dist/esm/Inputs/MouseControllerHovering.js +89 -89
  81. package/dist/esm/Inputs/MouseControllerLocked.js +149 -149
  82. package/dist/esm/Inputs/SpecialKeyCodes.js +15 -15
  83. package/dist/esm/Inputs/TouchController.js +119 -119
  84. package/dist/esm/Inputs/TouchControllerFake.js +87 -87
  85. package/dist/esm/Inputs/XRGamepadController.js +120 -120
  86. package/dist/esm/PeerConnectionController/AggregatedStats.js +248 -248
  87. package/dist/esm/PeerConnectionController/CandidatePairStats.js +6 -6
  88. package/dist/esm/PeerConnectionController/CandidateStat.js +6 -6
  89. package/dist/esm/PeerConnectionController/CodecStats.js +6 -6
  90. package/dist/esm/PeerConnectionController/DataChannelStats.js +6 -6
  91. package/dist/esm/PeerConnectionController/InboundRTPStats.js +16 -16
  92. package/dist/esm/PeerConnectionController/InboundTrackStats.js +6 -6
  93. package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +11 -11
  94. package/dist/esm/PeerConnectionController/PeerConnectionController.js +580 -580
  95. package/dist/esm/PeerConnectionController/SessionStats.js +6 -6
  96. package/dist/esm/PeerConnectionController/StreamStats.js +6 -6
  97. package/dist/esm/PixelStreaming/PixelStreaming.js +603 -603
  98. package/dist/esm/UI/OnScreenKeyboard.js +78 -78
  99. package/dist/esm/UeInstanceMessage/ResponseController.js +34 -34
  100. package/dist/esm/UeInstanceMessage/SendMessageController.js +116 -116
  101. package/dist/esm/UeInstanceMessage/StreamMessageController.js +205 -205
  102. package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +45 -45
  103. package/dist/esm/Util/EventEmitter.js +345 -345
  104. package/dist/esm/Util/FileUtil.js +103 -103
  105. package/dist/esm/Util/IURLSearchParams.js +21 -21
  106. package/dist/esm/Util/InputCoordTranslator.js +45 -45
  107. package/dist/esm/Util/RTCUtils.js +36 -36
  108. package/dist/esm/VideoPlayer/StreamController.js +63 -63
  109. package/dist/esm/VideoPlayer/VideoPlayer.js +173 -173
  110. package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +1217 -1217
  111. package/dist/esm/WebXR/WebXRController.js +331 -331
  112. package/dist/esm/pixelstreamingfrontend.js +24 -24
  113. package/dist/types/AFK/AFKController.d.ts +38 -38
  114. package/dist/types/Config/Config.d.ts +220 -220
  115. package/dist/types/Config/SettingBase.d.ts +43 -43
  116. package/dist/types/Config/SettingFlag.d.ts +24 -24
  117. package/dist/types/Config/SettingNumber.d.ts +41 -41
  118. package/dist/types/Config/SettingOption.d.ts +41 -41
  119. package/dist/types/Config/SettingText.d.ts +21 -21
  120. package/dist/types/DataChannel/DataChannelController.d.ts +59 -59
  121. package/dist/types/DataChannel/DataChannelLatencyTestController.d.ts +25 -25
  122. package/dist/types/DataChannel/DataChannelLatencyTestResults.d.ts +46 -46
  123. package/dist/types/DataChannel/DataChannelSender.d.ts +21 -21
  124. package/dist/types/DataChannel/InitialSettings.d.ts +44 -44
  125. package/dist/types/DataChannel/LatencyTestResults.d.ts +31 -31
  126. package/dist/types/FreezeFrame/FreezeFrame.d.ts +36 -36
  127. package/dist/types/FreezeFrame/FreezeFrameController.d.ts +37 -37
  128. package/dist/types/Inputs/GamepadController.d.ts +61 -61
  129. package/dist/types/Inputs/GamepadTypes.d.ts +15 -15
  130. package/dist/types/Inputs/IInputController.d.ts +16 -16
  131. package/dist/types/Inputs/InputClassesFactory.d.ts +53 -53
  132. package/dist/types/Inputs/KeyCodes.d.ts +5 -5
  133. package/dist/types/Inputs/KeyboardController.d.ts +34 -34
  134. package/dist/types/Inputs/MouseButtons.d.ts +22 -22
  135. package/dist/types/Inputs/MouseController.d.ts +40 -40
  136. package/dist/types/Inputs/MouseControllerHovering.d.ts +26 -26
  137. package/dist/types/Inputs/MouseControllerLocked.d.ts +31 -31
  138. package/dist/types/Inputs/SpecialKeyCodes.d.ts +14 -14
  139. package/dist/types/Inputs/TouchController.d.ts +28 -28
  140. package/dist/types/Inputs/TouchControllerFake.d.ts +29 -29
  141. package/dist/types/Inputs/XRGamepadController.d.ts +15 -15
  142. package/dist/types/PeerConnectionController/AggregatedStats.d.ts +82 -82
  143. package/dist/types/PeerConnectionController/CandidatePairStats.d.ts +22 -22
  144. package/dist/types/PeerConnectionController/CandidateStat.d.ts +13 -13
  145. package/dist/types/PeerConnectionController/CodecStats.d.ts +14 -14
  146. package/dist/types/PeerConnectionController/DataChannelStats.d.ts +15 -15
  147. package/dist/types/PeerConnectionController/InboundRTPStats.d.ts +141 -141
  148. package/dist/types/PeerConnectionController/InboundTrackStats.d.ts +32 -32
  149. package/dist/types/PeerConnectionController/OutBoundRTPStats.d.ts +23 -23
  150. package/dist/types/PeerConnectionController/PeerConnectionController.d.ts +143 -143
  151. package/dist/types/PeerConnectionController/SessionStats.d.ts +8 -8
  152. package/dist/types/PeerConnectionController/StreamStats.d.ts +9 -9
  153. package/dist/types/PixelStreaming/PixelStreaming.d.ts +271 -271
  154. package/dist/types/UI/OnScreenKeyboard.d.ts +30 -30
  155. package/dist/types/UeInstanceMessage/ResponseController.d.ts +19 -19
  156. package/dist/types/UeInstanceMessage/SendMessageController.d.ts +18 -18
  157. package/dist/types/UeInstanceMessage/StreamMessageController.d.ts +29 -29
  158. package/dist/types/UeInstanceMessage/ToStreamerMessagesController.d.ts +32 -32
  159. package/dist/types/Util/EventEmitter.d.ts +429 -429
  160. package/dist/types/Util/FileUtil.d.ts +32 -32
  161. package/dist/types/Util/IURLSearchParams.d.ts +9 -9
  162. package/dist/types/Util/InputCoordTranslator.d.ts +29 -29
  163. package/dist/types/Util/RTCUtils.d.ts +8 -8
  164. package/dist/types/VideoPlayer/StreamController.d.ts +22 -22
  165. package/dist/types/VideoPlayer/VideoPlayer.d.ts +78 -78
  166. package/dist/types/WebRtcPlayer/WebRtcPlayerController.d.ts +379 -379
  167. package/dist/types/WebXR/WebXRController.d.ts +42 -42
  168. package/dist/types/pixelstreamingfrontend.d.ts +23 -23
  169. package/package.json +45 -45
@@ -1,429 +1,429 @@
1
- /// <reference types="webxr" />
2
- import { FlagsIds, NumericParametersIds, OptionParametersIds, TextParametersIds } from '../Config/Config';
3
- import { LatencyTestResults } from '../DataChannel/LatencyTestResults';
4
- import { AggregatedStats } from '../PeerConnectionController/AggregatedStats';
5
- import { InitialSettings } from '../pixelstreamingfrontend';
6
- import { Messages } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
7
- import { SettingFlag } from '../Config/SettingFlag';
8
- import { SettingNumber } from '../Config/SettingNumber';
9
- import { SettingText } from '../Config/SettingText';
10
- import { SettingOption } from '../Config/SettingOption';
11
- import { DataChannelLatencyTestResponse, DataChannelLatencyTestResult } from '../DataChannel/DataChannelLatencyTestResults';
12
- /**
13
- * An event that is emitted when AFK disconnect is about to happen.
14
- * Can be cancelled by calling the callback function provided as part of the event.
15
- */
16
- export declare class AfkWarningActivateEvent extends Event {
17
- readonly type: 'afkWarningActivate';
18
- readonly data: {
19
- /** How many seconds until the session is disconnected */
20
- countDown: number;
21
- /** Callback function that needs to be called if you wish to cancel the AFK disconnect timeout. */
22
- dismissAfk: () => void;
23
- };
24
- constructor(data: AfkWarningActivateEvent['data']);
25
- }
26
- /**
27
- * An event that is emitted when the AFK disconnect countdown is updated.
28
- */
29
- export declare class AfkWarningUpdateEvent extends Event {
30
- readonly type: 'afkWarningUpdate';
31
- readonly data: {
32
- /** How many seconds until the session is disconnected */
33
- countDown: number;
34
- };
35
- constructor(data: AfkWarningUpdateEvent['data']);
36
- }
37
- /**
38
- * An event that is emitted when AFK warning is deactivated.
39
- */
40
- export declare class AfkWarningDeactivateEvent extends Event {
41
- readonly type: 'afkWarningDeactivate';
42
- constructor();
43
- }
44
- /**
45
- * An event that is emitted when AFK countdown reaches 0 and the user is disconnected.
46
- */
47
- export declare class AfkTimedOutEvent extends Event {
48
- readonly type: 'afkTimedOut';
49
- constructor();
50
- }
51
- /**
52
- * An event that is emitted when we receive new video quality value.
53
- */
54
- export declare class VideoEncoderAvgQPEvent extends Event {
55
- readonly type: 'videoEncoderAvgQP';
56
- readonly data: {
57
- /** Average video quality value */
58
- avgQP: number;
59
- };
60
- constructor(data: VideoEncoderAvgQPEvent['data']);
61
- }
62
- /**
63
- * An event that is emitted after a WebRtc connection has been negotiated.
64
- */
65
- export declare class WebRtcSdpEvent extends Event {
66
- readonly type: 'webRtcSdp';
67
- constructor();
68
- }
69
- /**
70
- * An event that is emitted when auto connecting.
71
- */
72
- export declare class WebRtcAutoConnectEvent extends Event {
73
- readonly type: 'webRtcAutoConnect';
74
- constructor();
75
- }
76
- /**
77
- * An event that is emitted when sending a WebRtc offer.
78
- */
79
- export declare class WebRtcConnectingEvent extends Event {
80
- readonly type: 'webRtcConnecting';
81
- constructor();
82
- }
83
- /**
84
- * An event that is emitted when WebRtc connection has been established.
85
- */
86
- export declare class WebRtcConnectedEvent extends Event {
87
- readonly type: 'webRtcConnected';
88
- constructor();
89
- }
90
- /**
91
- * An event that is emitted if WebRtc connection has failed.
92
- */
93
- export declare class WebRtcFailedEvent extends Event {
94
- readonly type: 'webRtcFailed';
95
- constructor();
96
- }
97
- /**
98
- * An event that is emitted if WebRtc connection is disconnected.
99
- */
100
- export declare class WebRtcDisconnectedEvent extends Event {
101
- readonly type: 'webRtcDisconnected';
102
- readonly data: {
103
- /** Message describing the disconnect reason */
104
- eventString: string;
105
- /** true if the user is able to reconnect, false if disconnected because of unrecoverable reasons like not able to connect to the signaling server */
106
- allowClickToReconnect: boolean;
107
- };
108
- constructor(data: WebRtcDisconnectedEvent['data']);
109
- }
110
- /**
111
- * An event that is emitted when RTCDataChannel is opened.
112
- */
113
- export declare class DataChannelOpenEvent extends Event {
114
- readonly type: 'dataChannelOpen';
115
- readonly data: {
116
- /** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
117
- label: string;
118
- /** RTCDataChannel onOpen event */
119
- event: Event;
120
- };
121
- constructor(data: DataChannelOpenEvent['data']);
122
- }
123
- /**
124
- * An event that is emitted when RTCDataChannel is closed.
125
- */
126
- export declare class DataChannelCloseEvent extends Event {
127
- readonly type: 'dataChannelClose';
128
- readonly data: {
129
- /** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
130
- label: string;
131
- /** RTCDataChannel onClose event */
132
- event: Event;
133
- };
134
- constructor(data: DataChannelCloseEvent['data']);
135
- }
136
- /**
137
- * An event that is emitted on RTCDataChannel errors.
138
- */
139
- export declare class DataChannelErrorEvent extends Event {
140
- readonly type: 'dataChannelError';
141
- readonly data: {
142
- /** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
143
- label: string;
144
- /** RTCDataChannel onError event */
145
- event: Event;
146
- };
147
- constructor(data: DataChannelErrorEvent['data']);
148
- }
149
- /**
150
- * An event that is emitted when the video stream has been initialized.
151
- */
152
- export declare class VideoInitializedEvent extends Event {
153
- readonly type: 'videoInitialized';
154
- constructor();
155
- }
156
- /**
157
- * An event that is emitted when video stream loading starts.
158
- */
159
- export declare class StreamLoadingEvent extends Event {
160
- readonly type: 'streamLoading';
161
- constructor();
162
- }
163
- /**
164
- * An event that is emitted when video stream loading has finished.
165
- */
166
- export declare class StreamPreConnectEvent extends Event {
167
- readonly type: 'streamConnect';
168
- constructor();
169
- }
170
- /**
171
- * An event that is emitted when video stream has stopped.
172
- */
173
- export declare class StreamPreDisconnectEvent extends Event {
174
- readonly type: 'streamDisconnect';
175
- constructor();
176
- }
177
- /**
178
- * An event that is emitted when video stream is reconnecting.
179
- */
180
- export declare class StreamReconnectEvent extends Event {
181
- readonly type: 'streamReconnect';
182
- constructor();
183
- }
184
- /**
185
- * An event that is emitted if there are errors loading the video stream.
186
- */
187
- export declare class PlayStreamErrorEvent extends Event {
188
- readonly type: 'playStreamError';
189
- readonly data: {
190
- /** Error message */
191
- message: string;
192
- };
193
- constructor(data: PlayStreamErrorEvent['data']);
194
- }
195
- /**
196
- * An event that is emitted before trying to start video playback.
197
- */
198
- export declare class PlayStreamEvent extends Event {
199
- readonly type: 'playStream';
200
- constructor();
201
- }
202
- /**
203
- * An event that is emitted if the browser rejects video playback. Can happen for example if
204
- * video auto-play without user interaction is refused by the browser.
205
- */
206
- export declare class PlayStreamRejectedEvent extends Event {
207
- readonly type: 'playStreamRejected';
208
- readonly data: {
209
- /** Rejection reason */
210
- reason: unknown;
211
- };
212
- constructor(data: PlayStreamRejectedEvent['data']);
213
- }
214
- /**
215
- * An event that is emitted when receiving a full FreezeFrame image from UE.
216
- */
217
- export declare class LoadFreezeFrameEvent extends Event {
218
- readonly type: 'loadFreezeFrame';
219
- readonly data: {
220
- /** true if should show click-to-play overlay, not the freeze frame contents */
221
- shouldShowPlayOverlay: boolean;
222
- /** true if the received image is valid */
223
- isValid: boolean;
224
- /** Image data. Can be e.g. displayed by encoding as a data url. */
225
- jpegData?: Uint8Array;
226
- };
227
- constructor(data: LoadFreezeFrameEvent['data']);
228
- }
229
- /**
230
- * An event that is emitted when receiving UnfreezeFrame message from UE and video playback is about to be resumed.
231
- */
232
- export declare class HideFreezeFrameEvent extends Event {
233
- readonly type: 'hideFreezeFrame';
234
- constructor();
235
- }
236
- /**
237
- * An event that is emitted when receiving WebRTC statistics.
238
- */
239
- export declare class StatsReceivedEvent extends Event {
240
- readonly type: 'statsReceived';
241
- readonly data: {
242
- /** Statistics object */
243
- aggregatedStats: AggregatedStats;
244
- };
245
- constructor(data: StatsReceivedEvent['data']);
246
- }
247
- /**
248
- * An event that is emitted when streamer list changes.
249
- */
250
- export declare class StreamerListMessageEvent extends Event {
251
- readonly type: 'streamerListMessage';
252
- readonly data: {
253
- /** Streamer list message containing an array of streamer ids */
254
- messageStreamerList: Messages.streamerList;
255
- /** Auto-selected streamer from the list, or null if unable to auto-select and user should be prompted to select */
256
- autoSelectedStreamerId: string;
257
- /** Wanted streamer id from various configurations. */
258
- wantedStreamerId: string;
259
- };
260
- constructor(data: StreamerListMessageEvent['data']);
261
- }
262
- /**
263
- * An event that is emitted when a subscribed to streamer's id changes.
264
- */
265
- export declare class StreamerIDChangedMessageEvent extends Event {
266
- readonly type: 'streamerIDChangedMessage';
267
- readonly data: {
268
- /** The new ID of the streamer. */
269
- newID: string;
270
- };
271
- constructor(data: StreamerIDChangedMessageEvent['data']);
272
- }
273
- /**
274
- * An event that is emitted when receiving latency test results.
275
- */
276
- export declare class LatencyTestResultEvent extends Event {
277
- readonly type: 'latencyTestResult';
278
- readonly data: {
279
- /** Latency test result object */
280
- latencyTimings: LatencyTestResults;
281
- };
282
- constructor(data: LatencyTestResultEvent['data']);
283
- }
284
- /**
285
- * An event that is emitted when receiving data channel latency test response from server.
286
- * This event is handled by DataChannelLatencyTestController
287
- */
288
- export declare class DataChannelLatencyTestResponseEvent extends Event {
289
- readonly type: 'dataChannelLatencyTestResponse';
290
- readonly data: {
291
- /** Latency test result object */
292
- response: DataChannelLatencyTestResponse;
293
- };
294
- constructor(data: DataChannelLatencyTestResponseEvent['data']);
295
- }
296
- /**
297
- * An event that is emitted when data channel latency test results are ready.
298
- */
299
- export declare class DataChannelLatencyTestResultEvent extends Event {
300
- readonly type: 'dataChannelLatencyTestResult';
301
- readonly data: {
302
- /** Latency test result object */
303
- result: DataChannelLatencyTestResult;
304
- };
305
- constructor(data: DataChannelLatencyTestResultEvent['data']);
306
- }
307
- /**
308
- * An event that is emitted when receiving initial settings from UE.
309
- */
310
- export declare class InitialSettingsEvent extends Event {
311
- readonly type: 'initialSettings';
312
- readonly data: {
313
- /** Initial settings from UE */
314
- settings: InitialSettings;
315
- };
316
- constructor(data: InitialSettingsEvent['data']);
317
- }
318
- export type SettingsData = {
319
- /** Flag id */
320
- id: FlagsIds;
321
- type: 'flag';
322
- /** Flag value */
323
- value: boolean;
324
- /** SettingFlag object */
325
- target: SettingFlag;
326
- } | {
327
- /** Numeric setting id */
328
- id: NumericParametersIds;
329
- type: 'number';
330
- /** Numeric setting value */
331
- value: number;
332
- /** SettingNumber object */
333
- target: SettingNumber;
334
- } | {
335
- /** Text setting id */
336
- id: TextParametersIds;
337
- type: 'text';
338
- /** Text setting value */
339
- value: string;
340
- /** SettingText object */
341
- target: SettingText;
342
- } | {
343
- /** Option setting id */
344
- id: OptionParametersIds;
345
- type: 'option';
346
- /** Option setting selected value */
347
- value: string;
348
- /** SettingOption object */
349
- target: SettingOption;
350
- };
351
- /**
352
- * An event that is emitted when PixelStreaming settings change.
353
- */
354
- export declare class SettingsChangedEvent extends Event {
355
- readonly type: 'settingsChanged';
356
- readonly data: SettingsData;
357
- constructor(data: SettingsChangedEvent['data']);
358
- }
359
- /**
360
- * Event emitted when an XR Session starts
361
- */
362
- export declare class XrSessionStartedEvent extends Event {
363
- readonly type: 'xrSessionStarted';
364
- constructor();
365
- }
366
- /**
367
- * Event emitted when an XR Session ends
368
- */
369
- export declare class XrSessionEndedEvent extends Event {
370
- readonly type: 'xrSessionEnded';
371
- constructor();
372
- }
373
- export type XrFrameData = {
374
- /** The frame timestamp */
375
- time: DOMHighResTimeStamp;
376
- /** The XRFrame */
377
- frame: XRFrame;
378
- };
379
- /**
380
- * Event emitted when an XR Frame is complete
381
- */
382
- export declare class XrFrameEvent extends Event {
383
- readonly type: 'xrFrame';
384
- readonly data: XrFrameData;
385
- constructor(data: XrFrameEvent['data']);
386
- }
387
- /**
388
- * An event that is emitted when receiving a player count from the signalling server
389
- */
390
- export declare class PlayerCountEvent extends Event {
391
- readonly type: 'playerCount';
392
- readonly data: {
393
- /** count object */
394
- count: number;
395
- };
396
- constructor(data: PlayerCountEvent['data']);
397
- }
398
- /**
399
- * An event that is emitted when the webRTC connections is relayed over TCP.
400
- */
401
- export declare class WebRtcTCPRelayDetectedEvent extends Event {
402
- readonly type: 'webRtcTCPRelayDetected';
403
- constructor();
404
- }
405
- export type PixelStreamingEvent = AfkWarningActivateEvent | AfkWarningUpdateEvent | AfkWarningDeactivateEvent | AfkTimedOutEvent | VideoEncoderAvgQPEvent | WebRtcSdpEvent | WebRtcAutoConnectEvent | WebRtcConnectingEvent | WebRtcConnectedEvent | WebRtcFailedEvent | WebRtcDisconnectedEvent | DataChannelOpenEvent | DataChannelCloseEvent | DataChannelErrorEvent | VideoInitializedEvent | StreamLoadingEvent | StreamPreConnectEvent | StreamReconnectEvent | StreamPreDisconnectEvent | PlayStreamErrorEvent | PlayStreamEvent | PlayStreamRejectedEvent | LoadFreezeFrameEvent | HideFreezeFrameEvent | StatsReceivedEvent | StreamerListMessageEvent | StreamerIDChangedMessageEvent | LatencyTestResultEvent | DataChannelLatencyTestResponseEvent | DataChannelLatencyTestResultEvent | InitialSettingsEvent | SettingsChangedEvent | XrSessionStartedEvent | XrSessionEndedEvent | XrFrameEvent | PlayerCountEvent | WebRtcTCPRelayDetectedEvent;
406
- export declare class EventEmitter extends EventTarget {
407
- /**
408
- * Dispatch a new event.
409
- * @param e event
410
- * @returns
411
- */
412
- dispatchEvent(e: PixelStreamingEvent): boolean;
413
- /**
414
- * Register an event handler.
415
- * @param type event name
416
- * @param listener event handler function
417
- */
418
- addEventListener<T extends PixelStreamingEvent['type'], E extends PixelStreamingEvent & {
419
- type: T;
420
- }>(type: T, listener: (e: Event & E) => void): void;
421
- /**
422
- * Remove an event handler.
423
- * @param type event name
424
- * @param listener event handler function
425
- */
426
- removeEventListener<T extends PixelStreamingEvent['type'], E extends PixelStreamingEvent & {
427
- type: T;
428
- }>(type: T, listener: (e: Event & E) => void): void;
429
- }
1
+ /// <reference types="webxr" />
2
+ import { FlagsIds, NumericParametersIds, OptionParametersIds, TextParametersIds } from '../Config/Config';
3
+ import { LatencyTestResults } from '../DataChannel/LatencyTestResults';
4
+ import { AggregatedStats } from '../PeerConnectionController/AggregatedStats';
5
+ import { InitialSettings } from '../pixelstreamingfrontend';
6
+ import { Messages } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
7
+ import { SettingFlag } from '../Config/SettingFlag';
8
+ import { SettingNumber } from '../Config/SettingNumber';
9
+ import { SettingText } from '../Config/SettingText';
10
+ import { SettingOption } from '../Config/SettingOption';
11
+ import { DataChannelLatencyTestResponse, DataChannelLatencyTestResult } from '../DataChannel/DataChannelLatencyTestResults';
12
+ /**
13
+ * An event that is emitted when AFK disconnect is about to happen.
14
+ * Can be cancelled by calling the callback function provided as part of the event.
15
+ */
16
+ export declare class AfkWarningActivateEvent extends Event {
17
+ readonly type: 'afkWarningActivate';
18
+ readonly data: {
19
+ /** How many seconds until the session is disconnected */
20
+ countDown: number;
21
+ /** Callback function that needs to be called if you wish to cancel the AFK disconnect timeout. */
22
+ dismissAfk: () => void;
23
+ };
24
+ constructor(data: AfkWarningActivateEvent['data']);
25
+ }
26
+ /**
27
+ * An event that is emitted when the AFK disconnect countdown is updated.
28
+ */
29
+ export declare class AfkWarningUpdateEvent extends Event {
30
+ readonly type: 'afkWarningUpdate';
31
+ readonly data: {
32
+ /** How many seconds until the session is disconnected */
33
+ countDown: number;
34
+ };
35
+ constructor(data: AfkWarningUpdateEvent['data']);
36
+ }
37
+ /**
38
+ * An event that is emitted when AFK warning is deactivated.
39
+ */
40
+ export declare class AfkWarningDeactivateEvent extends Event {
41
+ readonly type: 'afkWarningDeactivate';
42
+ constructor();
43
+ }
44
+ /**
45
+ * An event that is emitted when AFK countdown reaches 0 and the user is disconnected.
46
+ */
47
+ export declare class AfkTimedOutEvent extends Event {
48
+ readonly type: 'afkTimedOut';
49
+ constructor();
50
+ }
51
+ /**
52
+ * An event that is emitted when we receive new video quality value.
53
+ */
54
+ export declare class VideoEncoderAvgQPEvent extends Event {
55
+ readonly type: 'videoEncoderAvgQP';
56
+ readonly data: {
57
+ /** Average video quality value */
58
+ avgQP: number;
59
+ };
60
+ constructor(data: VideoEncoderAvgQPEvent['data']);
61
+ }
62
+ /**
63
+ * An event that is emitted after a WebRtc connection has been negotiated.
64
+ */
65
+ export declare class WebRtcSdpEvent extends Event {
66
+ readonly type: 'webRtcSdp';
67
+ constructor();
68
+ }
69
+ /**
70
+ * An event that is emitted when auto connecting.
71
+ */
72
+ export declare class WebRtcAutoConnectEvent extends Event {
73
+ readonly type: 'webRtcAutoConnect';
74
+ constructor();
75
+ }
76
+ /**
77
+ * An event that is emitted when sending a WebRtc offer.
78
+ */
79
+ export declare class WebRtcConnectingEvent extends Event {
80
+ readonly type: 'webRtcConnecting';
81
+ constructor();
82
+ }
83
+ /**
84
+ * An event that is emitted when WebRtc connection has been established.
85
+ */
86
+ export declare class WebRtcConnectedEvent extends Event {
87
+ readonly type: 'webRtcConnected';
88
+ constructor();
89
+ }
90
+ /**
91
+ * An event that is emitted if WebRtc connection has failed.
92
+ */
93
+ export declare class WebRtcFailedEvent extends Event {
94
+ readonly type: 'webRtcFailed';
95
+ constructor();
96
+ }
97
+ /**
98
+ * An event that is emitted if WebRtc connection is disconnected.
99
+ */
100
+ export declare class WebRtcDisconnectedEvent extends Event {
101
+ readonly type: 'webRtcDisconnected';
102
+ readonly data: {
103
+ /** Message describing the disconnect reason */
104
+ eventString: string;
105
+ /** true if the user is able to reconnect, false if disconnected because of unrecoverable reasons like not able to connect to the signaling server */
106
+ allowClickToReconnect: boolean;
107
+ };
108
+ constructor(data: WebRtcDisconnectedEvent['data']);
109
+ }
110
+ /**
111
+ * An event that is emitted when RTCDataChannel is opened.
112
+ */
113
+ export declare class DataChannelOpenEvent extends Event {
114
+ readonly type: 'dataChannelOpen';
115
+ readonly data: {
116
+ /** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
117
+ label: string;
118
+ /** RTCDataChannel onOpen event */
119
+ event: Event;
120
+ };
121
+ constructor(data: DataChannelOpenEvent['data']);
122
+ }
123
+ /**
124
+ * An event that is emitted when RTCDataChannel is closed.
125
+ */
126
+ export declare class DataChannelCloseEvent extends Event {
127
+ readonly type: 'dataChannelClose';
128
+ readonly data: {
129
+ /** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
130
+ label: string;
131
+ /** RTCDataChannel onClose event */
132
+ event: Event;
133
+ };
134
+ constructor(data: DataChannelCloseEvent['data']);
135
+ }
136
+ /**
137
+ * An event that is emitted on RTCDataChannel errors.
138
+ */
139
+ export declare class DataChannelErrorEvent extends Event {
140
+ readonly type: 'dataChannelError';
141
+ readonly data: {
142
+ /** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
143
+ label: string;
144
+ /** RTCDataChannel onError event */
145
+ event: Event;
146
+ };
147
+ constructor(data: DataChannelErrorEvent['data']);
148
+ }
149
+ /**
150
+ * An event that is emitted when the video stream has been initialized.
151
+ */
152
+ export declare class VideoInitializedEvent extends Event {
153
+ readonly type: 'videoInitialized';
154
+ constructor();
155
+ }
156
+ /**
157
+ * An event that is emitted when video stream loading starts.
158
+ */
159
+ export declare class StreamLoadingEvent extends Event {
160
+ readonly type: 'streamLoading';
161
+ constructor();
162
+ }
163
+ /**
164
+ * An event that is emitted when video stream loading has finished.
165
+ */
166
+ export declare class StreamPreConnectEvent extends Event {
167
+ readonly type: 'streamConnect';
168
+ constructor();
169
+ }
170
+ /**
171
+ * An event that is emitted when video stream has stopped.
172
+ */
173
+ export declare class StreamPreDisconnectEvent extends Event {
174
+ readonly type: 'streamDisconnect';
175
+ constructor();
176
+ }
177
+ /**
178
+ * An event that is emitted when video stream is reconnecting.
179
+ */
180
+ export declare class StreamReconnectEvent extends Event {
181
+ readonly type: 'streamReconnect';
182
+ constructor();
183
+ }
184
+ /**
185
+ * An event that is emitted if there are errors loading the video stream.
186
+ */
187
+ export declare class PlayStreamErrorEvent extends Event {
188
+ readonly type: 'playStreamError';
189
+ readonly data: {
190
+ /** Error message */
191
+ message: string;
192
+ };
193
+ constructor(data: PlayStreamErrorEvent['data']);
194
+ }
195
+ /**
196
+ * An event that is emitted before trying to start video playback.
197
+ */
198
+ export declare class PlayStreamEvent extends Event {
199
+ readonly type: 'playStream';
200
+ constructor();
201
+ }
202
+ /**
203
+ * An event that is emitted if the browser rejects video playback. Can happen for example if
204
+ * video auto-play without user interaction is refused by the browser.
205
+ */
206
+ export declare class PlayStreamRejectedEvent extends Event {
207
+ readonly type: 'playStreamRejected';
208
+ readonly data: {
209
+ /** Rejection reason */
210
+ reason: unknown;
211
+ };
212
+ constructor(data: PlayStreamRejectedEvent['data']);
213
+ }
214
+ /**
215
+ * An event that is emitted when receiving a full FreezeFrame image from UE.
216
+ */
217
+ export declare class LoadFreezeFrameEvent extends Event {
218
+ readonly type: 'loadFreezeFrame';
219
+ readonly data: {
220
+ /** true if should show click-to-play overlay, not the freeze frame contents */
221
+ shouldShowPlayOverlay: boolean;
222
+ /** true if the received image is valid */
223
+ isValid: boolean;
224
+ /** Image data. Can be e.g. displayed by encoding as a data url. */
225
+ jpegData?: Uint8Array;
226
+ };
227
+ constructor(data: LoadFreezeFrameEvent['data']);
228
+ }
229
+ /**
230
+ * An event that is emitted when receiving UnfreezeFrame message from UE and video playback is about to be resumed.
231
+ */
232
+ export declare class HideFreezeFrameEvent extends Event {
233
+ readonly type: 'hideFreezeFrame';
234
+ constructor();
235
+ }
236
+ /**
237
+ * An event that is emitted when receiving WebRTC statistics.
238
+ */
239
+ export declare class StatsReceivedEvent extends Event {
240
+ readonly type: 'statsReceived';
241
+ readonly data: {
242
+ /** Statistics object */
243
+ aggregatedStats: AggregatedStats;
244
+ };
245
+ constructor(data: StatsReceivedEvent['data']);
246
+ }
247
+ /**
248
+ * An event that is emitted when streamer list changes.
249
+ */
250
+ export declare class StreamerListMessageEvent extends Event {
251
+ readonly type: 'streamerListMessage';
252
+ readonly data: {
253
+ /** Streamer list message containing an array of streamer ids */
254
+ messageStreamerList: Messages.streamerList;
255
+ /** Auto-selected streamer from the list, or null if unable to auto-select and user should be prompted to select */
256
+ autoSelectedStreamerId: string;
257
+ /** Wanted streamer id from various configurations. */
258
+ wantedStreamerId: string;
259
+ };
260
+ constructor(data: StreamerListMessageEvent['data']);
261
+ }
262
+ /**
263
+ * An event that is emitted when a subscribed to streamer's id changes.
264
+ */
265
+ export declare class StreamerIDChangedMessageEvent extends Event {
266
+ readonly type: 'streamerIDChangedMessage';
267
+ readonly data: {
268
+ /** The new ID of the streamer. */
269
+ newID: string;
270
+ };
271
+ constructor(data: StreamerIDChangedMessageEvent['data']);
272
+ }
273
+ /**
274
+ * An event that is emitted when receiving latency test results.
275
+ */
276
+ export declare class LatencyTestResultEvent extends Event {
277
+ readonly type: 'latencyTestResult';
278
+ readonly data: {
279
+ /** Latency test result object */
280
+ latencyTimings: LatencyTestResults;
281
+ };
282
+ constructor(data: LatencyTestResultEvent['data']);
283
+ }
284
+ /**
285
+ * An event that is emitted when receiving data channel latency test response from server.
286
+ * This event is handled by DataChannelLatencyTestController
287
+ */
288
+ export declare class DataChannelLatencyTestResponseEvent extends Event {
289
+ readonly type: 'dataChannelLatencyTestResponse';
290
+ readonly data: {
291
+ /** Latency test result object */
292
+ response: DataChannelLatencyTestResponse;
293
+ };
294
+ constructor(data: DataChannelLatencyTestResponseEvent['data']);
295
+ }
296
+ /**
297
+ * An event that is emitted when data channel latency test results are ready.
298
+ */
299
+ export declare class DataChannelLatencyTestResultEvent extends Event {
300
+ readonly type: 'dataChannelLatencyTestResult';
301
+ readonly data: {
302
+ /** Latency test result object */
303
+ result: DataChannelLatencyTestResult;
304
+ };
305
+ constructor(data: DataChannelLatencyTestResultEvent['data']);
306
+ }
307
+ /**
308
+ * An event that is emitted when receiving initial settings from UE.
309
+ */
310
+ export declare class InitialSettingsEvent extends Event {
311
+ readonly type: 'initialSettings';
312
+ readonly data: {
313
+ /** Initial settings from UE */
314
+ settings: InitialSettings;
315
+ };
316
+ constructor(data: InitialSettingsEvent['data']);
317
+ }
318
+ export type SettingsData = {
319
+ /** Flag id */
320
+ id: FlagsIds;
321
+ type: 'flag';
322
+ /** Flag value */
323
+ value: boolean;
324
+ /** SettingFlag object */
325
+ target: SettingFlag;
326
+ } | {
327
+ /** Numeric setting id */
328
+ id: NumericParametersIds;
329
+ type: 'number';
330
+ /** Numeric setting value */
331
+ value: number;
332
+ /** SettingNumber object */
333
+ target: SettingNumber;
334
+ } | {
335
+ /** Text setting id */
336
+ id: TextParametersIds;
337
+ type: 'text';
338
+ /** Text setting value */
339
+ value: string;
340
+ /** SettingText object */
341
+ target: SettingText;
342
+ } | {
343
+ /** Option setting id */
344
+ id: OptionParametersIds;
345
+ type: 'option';
346
+ /** Option setting selected value */
347
+ value: string;
348
+ /** SettingOption object */
349
+ target: SettingOption;
350
+ };
351
+ /**
352
+ * An event that is emitted when PixelStreaming settings change.
353
+ */
354
+ export declare class SettingsChangedEvent extends Event {
355
+ readonly type: 'settingsChanged';
356
+ readonly data: SettingsData;
357
+ constructor(data: SettingsChangedEvent['data']);
358
+ }
359
+ /**
360
+ * Event emitted when an XR Session starts
361
+ */
362
+ export declare class XrSessionStartedEvent extends Event {
363
+ readonly type: 'xrSessionStarted';
364
+ constructor();
365
+ }
366
+ /**
367
+ * Event emitted when an XR Session ends
368
+ */
369
+ export declare class XrSessionEndedEvent extends Event {
370
+ readonly type: 'xrSessionEnded';
371
+ constructor();
372
+ }
373
+ export type XrFrameData = {
374
+ /** The frame timestamp */
375
+ time: DOMHighResTimeStamp;
376
+ /** The XRFrame */
377
+ frame: XRFrame;
378
+ };
379
+ /**
380
+ * Event emitted when an XR Frame is complete
381
+ */
382
+ export declare class XrFrameEvent extends Event {
383
+ readonly type: 'xrFrame';
384
+ readonly data: XrFrameData;
385
+ constructor(data: XrFrameEvent['data']);
386
+ }
387
+ /**
388
+ * An event that is emitted when receiving a player count from the signalling server
389
+ */
390
+ export declare class PlayerCountEvent extends Event {
391
+ readonly type: 'playerCount';
392
+ readonly data: {
393
+ /** count object */
394
+ count: number;
395
+ };
396
+ constructor(data: PlayerCountEvent['data']);
397
+ }
398
+ /**
399
+ * An event that is emitted when the webRTC connections is relayed over TCP.
400
+ */
401
+ export declare class WebRtcTCPRelayDetectedEvent extends Event {
402
+ readonly type: 'webRtcTCPRelayDetected';
403
+ constructor();
404
+ }
405
+ export type PixelStreamingEvent = AfkWarningActivateEvent | AfkWarningUpdateEvent | AfkWarningDeactivateEvent | AfkTimedOutEvent | VideoEncoderAvgQPEvent | WebRtcSdpEvent | WebRtcAutoConnectEvent | WebRtcConnectingEvent | WebRtcConnectedEvent | WebRtcFailedEvent | WebRtcDisconnectedEvent | DataChannelOpenEvent | DataChannelCloseEvent | DataChannelErrorEvent | VideoInitializedEvent | StreamLoadingEvent | StreamPreConnectEvent | StreamReconnectEvent | StreamPreDisconnectEvent | PlayStreamErrorEvent | PlayStreamEvent | PlayStreamRejectedEvent | LoadFreezeFrameEvent | HideFreezeFrameEvent | StatsReceivedEvent | StreamerListMessageEvent | StreamerIDChangedMessageEvent | LatencyTestResultEvent | DataChannelLatencyTestResponseEvent | DataChannelLatencyTestResultEvent | InitialSettingsEvent | SettingsChangedEvent | XrSessionStartedEvent | XrSessionEndedEvent | XrFrameEvent | PlayerCountEvent | WebRtcTCPRelayDetectedEvent;
406
+ export declare class EventEmitter extends EventTarget {
407
+ /**
408
+ * Dispatch a new event.
409
+ * @param e event
410
+ * @returns
411
+ */
412
+ dispatchEvent(e: PixelStreamingEvent): boolean;
413
+ /**
414
+ * Register an event handler.
415
+ * @param type event name
416
+ * @param listener event handler function
417
+ */
418
+ addEventListener<T extends PixelStreamingEvent['type'], E extends PixelStreamingEvent & {
419
+ type: T;
420
+ }>(type: T, listener: (e: Event & E) => void): void;
421
+ /**
422
+ * Remove an event handler.
423
+ * @param type event name
424
+ * @param listener event handler function
425
+ */
426
+ removeEventListener<T extends PixelStreamingEvent['type'], E extends PixelStreamingEvent & {
427
+ type: T;
428
+ }>(type: T, listener: (e: Event & E) => void): void;
429
+ }