@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.1.4 → 0.2.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.
- package/.eslintrc.js +1 -1
- package/.prettierrc.json +1 -0
- package/dist/lib-pixelstreamingfrontend.esm.js +1 -1
- package/dist/lib-pixelstreamingfrontend.js +1 -1
- package/package.json +6 -5
- package/src/AFK/AFKController.ts +10 -32
- package/src/Config/Config.ts +179 -201
- package/src/Config/SettingBase.ts +61 -2
- package/src/Config/SettingFlag.ts +10 -48
- package/src/Config/SettingNumber.ts +10 -28
- package/src/Config/SettingOption.ts +13 -46
- package/src/Config/SettingText.ts +9 -37
- package/src/DataChannel/DataChannelController.ts +6 -26
- package/src/DataChannel/DataChannelLatencyTestController.ts +38 -33
- package/src/DataChannel/DataChannelLatencyTestResults.ts +8 -10
- package/src/DataChannel/DataChannelSender.ts +5 -15
- package/src/DataChannel/LatencyTestResults.ts +5 -15
- package/src/FreezeFrame/FreezeFrame.ts +7 -19
- package/src/FreezeFrame/FreezeFrameController.ts +3 -14
- package/src/Inputs/GamepadController.ts +123 -221
- package/src/Inputs/GamepadTypes.ts +23 -0
- package/src/Inputs/IInputController.ts +17 -0
- package/src/Inputs/InputClassesFactory.ts +38 -45
- package/src/Inputs/KeyCodes.ts +114 -0
- package/src/Inputs/KeyboardController.ts +49 -232
- package/src/Inputs/MouseController.ts +71 -297
- package/src/Inputs/MouseControllerHovering.ts +118 -0
- package/src/Inputs/MouseControllerLocked.ts +194 -0
- package/src/Inputs/TouchController.ts +49 -105
- package/src/Inputs/TouchControllerFake.ts +132 -0
- package/src/Inputs/XRGamepadController.ts +35 -44
- package/src/PeerConnectionController/AggregatedStats.ts +26 -54
- package/src/PeerConnectionController/CandidatePairStats.ts +1 -1
- package/src/PeerConnectionController/CandidateStat.ts +1 -1
- package/src/PeerConnectionController/PeerConnectionController.ts +177 -162
- package/src/PixelStreaming/PixelStreaming.ts +174 -226
- package/src/UI/OnScreenKeyboard.ts +14 -9
- package/src/UeInstanceMessage/ResponseController.ts +6 -15
- package/src/UeInstanceMessage/SendMessageController.ts +16 -18
- package/src/UeInstanceMessage/StreamMessageController.ts +3 -12
- package/src/UeInstanceMessage/ToStreamerMessagesController.ts +3 -9
- package/src/Util/EventEmitter.ts +17 -22
- package/src/Util/FileUtil.ts +11 -34
- package/src/Util/IURLSearchParams.ts +25 -0
- package/src/Util/InputCoordTranslator.ts +73 -0
- package/src/Util/RTCUtils.ts +23 -15
- package/src/VideoPlayer/StreamController.ts +6 -23
- package/src/VideoPlayer/VideoPlayer.ts +9 -30
- package/src/WebRtcPlayer/WebRtcPlayerController.ts +328 -690
- package/src/WebXR/WebXRController.ts +82 -94
- package/src/pixelstreamingfrontend.ts +6 -10
- package/types/AFK/AFKController.d.ts +0 -1
- package/types/Config/Config.d.ts +6 -5
- package/types/Config/SettingBase.d.ts +13 -0
- package/types/Config/SettingFlag.d.ts +1 -10
- package/types/Config/SettingNumber.d.ts +1 -5
- package/types/Config/SettingOption.d.ts +1 -10
- package/types/Config/SettingText.d.ts +1 -9
- package/types/DataChannel/DataChannelLatencyTestController.d.ts +1 -1
- package/types/Inputs/GamepadController.d.ts +22 -46
- package/types/Inputs/GamepadTypes.d.ts +7 -0
- package/types/Inputs/IInputController.d.ts +16 -0
- package/types/Inputs/InputClassesFactory.d.ts +7 -8
- package/types/Inputs/KeyCodes.d.ts +5 -0
- package/types/Inputs/KeyboardController.d.ts +17 -45
- package/types/Inputs/MouseController.d.ts +33 -68
- package/types/Inputs/MouseControllerHovering.d.ts +26 -0
- package/types/Inputs/MouseControllerLocked.d.ts +31 -0
- package/types/Inputs/TouchController.d.ts +19 -44
- package/types/Inputs/TouchControllerFake.d.ts +29 -0
- package/types/Inputs/XRGamepadController.d.ts +0 -7
- package/types/PeerConnectionController/PeerConnectionController.d.ts +4 -1
- package/types/PixelStreaming/PixelStreaming.d.ts +14 -2
- package/types/UI/OnScreenKeyboard.d.ts +2 -2
- package/types/Util/EventEmitter.d.ts +1 -1
- package/types/Util/IURLSearchParams.d.ts +9 -0
- package/types/Util/InputCoordTranslator.d.ts +29 -0
- package/types/VideoPlayer/StreamController.d.ts +0 -2
- package/types/WebRtcPlayer/WebRtcPlayerController.d.ts +19 -17
- package/types/pixelstreamingfrontend.d.ts +1 -1
- package/src/Inputs/FakeTouchController.ts +0 -199
- package/src/Inputs/HoveringMouseEvents.ts +0 -192
- package/src/Inputs/IMouseEvents.ts +0 -64
- package/src/Inputs/ITouchController.ts +0 -29
- package/src/Inputs/LockedMouseEvents.ts +0 -287
- package/src/Util/CoordinateConverter.ts +0 -290
- package/src/Util/EventListenerTracker.ts +0 -29
- package/types/Inputs/FakeTouchController.d.ts +0 -61
- package/types/Inputs/HoveringMouseEvents.d.ts +0 -56
- package/types/Inputs/IMouseEvents.d.ts +0 -53
- package/types/Inputs/ITouchController.d.ts +0 -24
- package/types/Inputs/LockedMouseEvents.d.ts +0 -80
- package/types/Util/CoordinateConverter.d.ts +0 -100
- package/types/Util/EventListenerTracker.d.ts +0 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epicgames-ps/lib-pixelstreamingfrontend-ue5.5",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Frontend library for Unreal Engine 5.5 Pixel Streaming",
|
|
5
5
|
"main": "dist/lib-pixelstreamingfrontend.js",
|
|
6
6
|
"module": "dist/lib-pixelstreamingfrontend.esm.js",
|
|
@@ -21,9 +21,11 @@
|
|
|
21
21
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
22
22
|
"cspell": "^4.1.0",
|
|
23
23
|
"eslint": "^8.11.0",
|
|
24
|
+
"eslint-config-prettier": "^9.1.0",
|
|
25
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
24
26
|
"jest": "^27.5.1",
|
|
25
27
|
"jest-environment-jsdom": "27.5.1",
|
|
26
|
-
"prettier": "
|
|
28
|
+
"prettier": "3.3.3",
|
|
27
29
|
"ts-jest": "27.1.5",
|
|
28
30
|
"ts-loader": "^9.4.2",
|
|
29
31
|
"typedoc": "^0.23.24",
|
|
@@ -32,8 +34,8 @@
|
|
|
32
34
|
"webpack-cli": "^5.0.1"
|
|
33
35
|
},
|
|
34
36
|
"dependencies": {
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
+
"@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.0.15",
|
|
38
|
+
"sdp": "^3.1.0"
|
|
37
39
|
},
|
|
38
40
|
"repository": {
|
|
39
41
|
"type": "git",
|
|
@@ -45,4 +47,3 @@
|
|
|
45
47
|
"access": "public"
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
|
-
|
package/src/AFK/AFKController.ts
CHANGED
|
@@ -12,7 +12,6 @@ import {
|
|
|
12
12
|
|
|
13
13
|
export class AFKController {
|
|
14
14
|
// time out logic details
|
|
15
|
-
closeTimeout = 10;
|
|
16
15
|
active = false;
|
|
17
16
|
countdownActive = false;
|
|
18
17
|
warnTimer: ReturnType<typeof setTimeout> = undefined;
|
|
@@ -24,18 +23,12 @@ export class AFKController {
|
|
|
24
23
|
|
|
25
24
|
onAFKTimedOutCallback: () => void;
|
|
26
25
|
|
|
27
|
-
constructor(
|
|
28
|
-
config: Config,
|
|
29
|
-
pixelStreaming: PixelStreaming,
|
|
30
|
-
onDismissAfk: () => void
|
|
31
|
-
) {
|
|
26
|
+
constructor(config: Config, pixelStreaming: PixelStreaming, onDismissAfk: () => void) {
|
|
32
27
|
this.config = config;
|
|
33
28
|
this.pixelStreaming = pixelStreaming;
|
|
34
29
|
this.onDismissAfk = onDismissAfk;
|
|
35
30
|
this.onAFKTimedOutCallback = () => {
|
|
36
|
-
console.log(
|
|
37
|
-
'AFK timed out, did you want to override this callback?'
|
|
38
|
-
);
|
|
31
|
+
console.log('AFK timed out, did you want to override this callback?');
|
|
39
32
|
};
|
|
40
33
|
}
|
|
41
34
|
|
|
@@ -47,9 +40,7 @@ export class AFKController {
|
|
|
47
40
|
|
|
48
41
|
if (this.active || this.countdownActive) {
|
|
49
42
|
this.startAfkWarningTimer();
|
|
50
|
-
this.pixelStreaming.dispatchEvent(
|
|
51
|
-
new AfkWarningDeactivateEvent()
|
|
52
|
-
);
|
|
43
|
+
this.pixelStreaming.dispatchEvent(new AfkWarningDeactivateEvent());
|
|
53
44
|
}
|
|
54
45
|
}
|
|
55
46
|
|
|
@@ -58,9 +49,7 @@ export class AFKController {
|
|
|
58
49
|
*/
|
|
59
50
|
startAfkWarningTimer() {
|
|
60
51
|
if (
|
|
61
|
-
this.config.getNumericSettingValue(
|
|
62
|
-
NumericParameters.AFKTimeoutSecs
|
|
63
|
-
) > 0 &&
|
|
52
|
+
this.config.getNumericSettingValue(NumericParameters.AFKTimeoutSecs) > 0 &&
|
|
64
53
|
this.config.isFlagEnabled(Flags.AFKDetection)
|
|
65
54
|
) {
|
|
66
55
|
this.active = true;
|
|
@@ -95,9 +84,7 @@ export class AFKController {
|
|
|
95
84
|
clearTimeout(this.warnTimer);
|
|
96
85
|
this.warnTimer = setTimeout(
|
|
97
86
|
() => this.activateAfkEvent(),
|
|
98
|
-
this.config.getNumericSettingValue(
|
|
99
|
-
NumericParameters.AFKTimeoutSecs
|
|
100
|
-
) * 1000
|
|
87
|
+
this.config.getNumericSettingValue(NumericParameters.AFKTimeoutSecs) * 1000
|
|
101
88
|
);
|
|
102
89
|
}
|
|
103
90
|
}
|
|
@@ -118,11 +105,9 @@ export class AFKController {
|
|
|
118
105
|
);
|
|
119
106
|
|
|
120
107
|
// update our countDown timer and overlay contents
|
|
121
|
-
this.countDown = this.
|
|
108
|
+
this.countDown = this.config.getNumericSettingValue(NumericParameters.AFKCountdownSecs);
|
|
122
109
|
this.countdownActive = true;
|
|
123
|
-
this.pixelStreaming.dispatchEvent(
|
|
124
|
-
new AfkWarningUpdateEvent({ countDown: this.countDown })
|
|
125
|
-
);
|
|
110
|
+
this.pixelStreaming.dispatchEvent(new AfkWarningUpdateEvent({ countDown: this.countDown }));
|
|
126
111
|
|
|
127
112
|
// if we are in locked mouse exit pointerlock
|
|
128
113
|
if (!this.config.isFlagEnabled(Flags.HoveringMouseMode)) {
|
|
@@ -137,21 +122,14 @@ export class AFKController {
|
|
|
137
122
|
this.countDown--;
|
|
138
123
|
if (this.countDown == 0) {
|
|
139
124
|
// The user failed to click so hide the overlay and disconnect them.
|
|
140
|
-
this.pixelStreaming.dispatchEvent(
|
|
141
|
-
new AfkTimedOutEvent()
|
|
142
|
-
);
|
|
125
|
+
this.pixelStreaming.dispatchEvent(new AfkTimedOutEvent());
|
|
143
126
|
this.onAFKTimedOutCallback();
|
|
144
|
-
Logger.
|
|
145
|
-
Logger.GetStackTrace(),
|
|
146
|
-
'You have been disconnected due to inactivity'
|
|
147
|
-
);
|
|
127
|
+
Logger.Info('You have been disconnected due to inactivity');
|
|
148
128
|
|
|
149
129
|
// switch off the afk feature as stream has closed
|
|
150
130
|
this.stopAfkWarningTimer();
|
|
151
131
|
} else {
|
|
152
|
-
this.pixelStreaming.dispatchEvent(
|
|
153
|
-
new AfkWarningUpdateEvent({ countDown: this.countDown })
|
|
154
|
-
);
|
|
132
|
+
this.pixelStreaming.dispatchEvent(new AfkWarningUpdateEvent({ countDown: this.countDown }));
|
|
155
133
|
}
|
|
156
134
|
}, 1000);
|
|
157
135
|
}
|