@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.4.2 → 0.4.4
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/dist/commonjs/AFK/AFKController.js.map +1 -1
- package/dist/commonjs/Config/Config.js +14 -6
- package/dist/commonjs/Config/Config.js.map +1 -1
- package/dist/commonjs/Config/SettingBase.js.map +1 -1
- package/dist/commonjs/Config/SettingFlag.js.map +1 -1
- package/dist/commonjs/Config/SettingNumber.js.map +1 -1
- package/dist/commonjs/Config/SettingOption.js.map +1 -1
- package/dist/commonjs/Config/SettingText.js.map +1 -1
- package/dist/commonjs/DataChannel/DataChannelController.js.map +1 -1
- package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js.map +1 -1
- package/dist/commonjs/DataChannel/DataChannelSender.js.map +1 -1
- package/dist/commonjs/DataChannel/InitialSettings.js.map +1 -1
- package/dist/commonjs/DataChannel/LatencyTestResults.js.map +1 -1
- package/dist/commonjs/FreezeFrame/FreezeFrame.js.map +1 -1
- package/dist/commonjs/FreezeFrame/FreezeFrameController.js.map +1 -1
- package/dist/commonjs/Inputs/GamepadController.js +1 -1
- package/dist/commonjs/Inputs/GamepadController.js.map +1 -1
- package/dist/commonjs/Inputs/GamepadTypes.js +1 -2
- package/dist/commonjs/Inputs/GamepadTypes.js.map +1 -1
- package/dist/commonjs/Inputs/InputClassesFactory.js.map +1 -1
- package/dist/commonjs/Inputs/KeyboardController.js.map +1 -1
- package/dist/commonjs/Inputs/MouseController.js.map +1 -1
- package/dist/commonjs/Inputs/MouseControllerHovering.js.map +1 -1
- package/dist/commonjs/Inputs/MouseControllerLocked.js.map +1 -1
- package/dist/commonjs/Inputs/TouchController.js.map +1 -1
- package/dist/commonjs/Inputs/TouchControllerFake.js.map +1 -1
- package/dist/commonjs/Inputs/XRGamepadController.js.map +1 -1
- package/dist/commonjs/PeerConnectionController/AggregatedStats.js.map +1 -1
- package/dist/commonjs/PeerConnectionController/PeerConnectionController.js +4 -4
- package/dist/commonjs/PeerConnectionController/PeerConnectionController.js.map +1 -1
- package/dist/commonjs/PixelStreaming/PixelStreaming.js.map +1 -1
- package/dist/commonjs/UI/OnScreenKeyboard.js.map +1 -1
- package/dist/commonjs/UeInstanceMessage/SendMessageController.js +1 -0
- package/dist/commonjs/UeInstanceMessage/SendMessageController.js.map +1 -1
- package/dist/commonjs/UeInstanceMessage/StreamMessageController.js +1 -1
- package/dist/commonjs/UeInstanceMessage/StreamMessageController.js.map +1 -1
- package/dist/commonjs/Util/EventEmitter.js.map +1 -1
- package/dist/commonjs/Util/FileUtil.js.map +1 -1
- package/dist/commonjs/Util/IURLSearchParams.js.map +1 -1
- package/dist/commonjs/Util/InputCoordTranslator.js.map +1 -1
- package/dist/commonjs/VideoPlayer/StreamController.js.map +1 -1
- package/dist/commonjs/VideoPlayer/VideoPlayer.js.map +1 -1
- package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js +60 -1
- package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js.map +1 -1
- package/dist/commonjs/WebXR/WebXRController.js +2 -2
- package/dist/commonjs/WebXR/WebXRController.js.map +1 -1
- package/dist/commonjs/pixelstreamingfrontend.js +4 -15
- package/dist/commonjs/pixelstreamingfrontend.js.map +1 -1
- package/dist/esm/AFK/AFKController.js +20 -16
- package/dist/esm/AFK/AFKController.js.map +1 -1
- package/dist/esm/Config/Config.js +80 -64
- package/dist/esm/Config/Config.js.map +1 -1
- package/dist/esm/Config/SettingBase.js +5 -1
- package/dist/esm/Config/SettingBase.js.map +1 -1
- package/dist/esm/Config/SettingFlag.js +6 -2
- package/dist/esm/Config/SettingFlag.js.map +1 -1
- package/dist/esm/Config/SettingNumber.js +6 -2
- package/dist/esm/Config/SettingNumber.js.map +1 -1
- package/dist/esm/Config/SettingOption.js +8 -4
- package/dist/esm/Config/SettingOption.js.map +1 -1
- package/dist/esm/Config/SettingText.js +6 -2
- package/dist/esm/Config/SettingText.js.map +1 -1
- package/dist/esm/DataChannel/DataChannelController.js +10 -6
- package/dist/esm/DataChannel/DataChannelController.js.map +1 -1
- package/dist/esm/DataChannel/DataChannelLatencyTestController.js +9 -5
- package/dist/esm/DataChannel/DataChannelLatencyTestController.js.map +1 -1
- package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +5 -1
- package/dist/esm/DataChannel/DataChannelLatencyTestResults.js.map +1 -1
- package/dist/esm/DataChannel/DataChannelSender.js +8 -4
- package/dist/esm/DataChannel/DataChannelSender.js.map +1 -1
- package/dist/esm/DataChannel/InitialSettings.js +11 -4
- package/dist/esm/DataChannel/InitialSettings.js.map +1 -1
- package/dist/esm/DataChannel/LatencyTestResults.js +8 -4
- package/dist/esm/DataChannel/LatencyTestResults.js.map +1 -1
- package/dist/esm/FreezeFrame/FreezeFrame.js +5 -1
- package/dist/esm/FreezeFrame/FreezeFrame.js.map +1 -1
- package/dist/esm/FreezeFrame/FreezeFrameController.js +11 -7
- package/dist/esm/FreezeFrame/FreezeFrameController.js.map +1 -1
- package/dist/esm/Inputs/GamepadController.js +11 -7
- package/dist/esm/Inputs/GamepadController.js.map +1 -1
- package/dist/esm/Inputs/GamepadTypes.js +4 -1
- package/dist/esm/Inputs/GamepadTypes.js.map +1 -1
- package/dist/esm/Inputs/IInputController.js +2 -1
- package/dist/esm/Inputs/InputClassesFactory.js +26 -21
- package/dist/esm/Inputs/InputClassesFactory.js.map +1 -1
- package/dist/esm/Inputs/KeyCodes.js +4 -1
- package/dist/esm/Inputs/KeyCodes.js.map +1 -1
- package/dist/esm/Inputs/KeyboardController.js +22 -18
- package/dist/esm/Inputs/KeyboardController.js.map +1 -1
- package/dist/esm/Inputs/MouseButtons.js +7 -2
- package/dist/esm/Inputs/MouseButtons.js.map +1 -1
- package/dist/esm/Inputs/MouseController.js +26 -22
- package/dist/esm/Inputs/MouseController.js.map +1 -1
- package/dist/esm/Inputs/MouseControllerHovering.js +6 -2
- package/dist/esm/Inputs/MouseControllerHovering.js.map +1 -1
- package/dist/esm/Inputs/MouseControllerLocked.js +9 -5
- package/dist/esm/Inputs/MouseControllerLocked.js.map +1 -1
- package/dist/esm/Inputs/SpecialKeyCodes.js +5 -1
- package/dist/esm/Inputs/SpecialKeyCodes.js.map +1 -1
- package/dist/esm/Inputs/TouchController.js +8 -4
- package/dist/esm/Inputs/TouchController.js.map +1 -1
- package/dist/esm/Inputs/TouchControllerFake.js +8 -4
- package/dist/esm/Inputs/TouchControllerFake.js.map +1 -1
- package/dist/esm/Inputs/XRGamepadController.js +8 -4
- package/dist/esm/Inputs/XRGamepadController.js.map +1 -1
- package/dist/esm/PeerConnectionController/AggregatedStats.js +23 -19
- package/dist/esm/PeerConnectionController/AggregatedStats.js.map +1 -1
- package/dist/esm/PeerConnectionController/CandidatePairStats.js +5 -1
- package/dist/esm/PeerConnectionController/CandidatePairStats.js.map +1 -1
- package/dist/esm/PeerConnectionController/CandidateStat.js +5 -1
- package/dist/esm/PeerConnectionController/CandidateStat.js.map +1 -1
- package/dist/esm/PeerConnectionController/CodecStats.js +5 -1
- package/dist/esm/PeerConnectionController/CodecStats.js.map +1 -1
- package/dist/esm/PeerConnectionController/DataChannelStats.js +5 -1
- package/dist/esm/PeerConnectionController/DataChannelStats.js.map +1 -1
- package/dist/esm/PeerConnectionController/InboundRTPStats.js +9 -3
- package/dist/esm/PeerConnectionController/InboundRTPStats.js.map +1 -1
- package/dist/esm/PeerConnectionController/InboundTrackStats.js +5 -1
- package/dist/esm/PeerConnectionController/InboundTrackStats.js.map +1 -1
- package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +7 -2
- package/dist/esm/PeerConnectionController/OutBoundRTPStats.js.map +1 -1
- package/dist/esm/PeerConnectionController/PeerConnectionController.js +45 -41
- package/dist/esm/PeerConnectionController/PeerConnectionController.js.map +1 -1
- package/dist/esm/PeerConnectionController/SessionStats.js +5 -1
- package/dist/esm/PeerConnectionController/SessionStats.js.map +1 -1
- package/dist/esm/PeerConnectionController/StreamStats.js +5 -1
- package/dist/esm/PeerConnectionController/StreamStats.js.map +1 -1
- package/dist/esm/PixelStreaming/PixelStreaming.js +119 -115
- package/dist/esm/PixelStreaming/PixelStreaming.js.map +1 -1
- package/dist/esm/UI/OnScreenKeyboard.js +5 -1
- package/dist/esm/UI/OnScreenKeyboard.js.map +1 -1
- package/dist/esm/UeInstanceMessage/ResponseController.js +8 -4
- package/dist/esm/UeInstanceMessage/ResponseController.js.map +1 -1
- package/dist/esm/UeInstanceMessage/SendMessageController.js +10 -5
- package/dist/esm/UeInstanceMessage/SendMessageController.js.map +1 -1
- package/dist/esm/UeInstanceMessage/StreamMessageController.js +11 -6
- package/dist/esm/UeInstanceMessage/StreamMessageController.js.map +1 -1
- package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +5 -1
- package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -1
- package/dist/esm/Util/EventEmitter.js +79 -38
- package/dist/esm/Util/EventEmitter.js.map +1 -1
- package/dist/esm/Util/FileUtil.js +16 -11
- package/dist/esm/Util/FileUtil.js.map +1 -1
- package/dist/esm/Util/IURLSearchParams.js +5 -1
- package/dist/esm/Util/IURLSearchParams.js.map +1 -1
- package/dist/esm/Util/InputCoordTranslator.js +5 -1
- package/dist/esm/Util/InputCoordTranslator.js.map +1 -1
- package/dist/esm/Util/RTCUtils.js +5 -1
- package/dist/esm/Util/RTCUtils.js.map +1 -1
- package/dist/esm/VideoPlayer/StreamController.js +10 -6
- package/dist/esm/VideoPlayer/StreamController.js.map +1 -1
- package/dist/esm/VideoPlayer/VideoPlayer.js +11 -7
- package/dist/esm/VideoPlayer/VideoPlayer.js.map +1 -1
- package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +280 -217
- package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js.map +1 -1
- package/dist/esm/WebXR/WebXRController.js +16 -12
- package/dist/esm/WebXR/WebXRController.js.map +1 -1
- package/dist/esm/pixelstreamingfrontend.js +58 -23
- package/dist/esm/pixelstreamingfrontend.js.map +1 -1
- package/dist/types/Config/Config.d.ts +5 -0
- package/dist/types/DataChannel/DataChannelController.d.ts +1 -1
- package/dist/types/Inputs/XRGamepadController.d.ts +0 -1
- package/dist/types/PixelStreaming/PixelStreaming.d.ts +1 -1
- package/dist/types/Util/EventEmitter.d.ts +0 -1
- package/dist/types/VideoPlayer/VideoPlayer.d.ts +1 -1
- package/dist/types/WebRtcPlayer/WebRtcPlayerController.d.ts +1 -0
- package/dist/types/WebXR/WebXRController.d.ts +0 -1
- package/dist/types/pixelstreamingfrontend.d.ts +4 -4
- package/package.json +8 -8
- package/src/Config/Config.ts +19 -4
- package/src/Config/SettingFlag.ts +3 -3
- package/src/Config/SettingNumber.ts +3 -3
- package/src/Config/SettingOption.ts +3 -3
- package/src/Config/SettingText.ts +4 -4
- package/src/DataChannel/DataChannelController.ts +2 -2
- package/src/Inputs/MouseControllerHovering.ts +2 -2
- package/src/Inputs/MouseControllerLocked.ts +2 -2
- package/src/PeerConnectionController/PeerConnectionController.ts +5 -5
- package/src/UeInstanceMessage/SendMessageController.ts +1 -0
- package/src/Util/EventEmitter.ts +40 -40
- package/src/VideoPlayer/VideoPlayer.ts +1 -1
- package/src/WebRtcPlayer/WebRtcPlayerController.ts +82 -1
- package/src/WebXR/WebXRController.ts +1 -1
- package/src/__test__/mockRTCRtpReceiver.ts +1 -1
- package/src/__test__/mockWebSocket.ts +3 -3
- package/src/pixelstreamingfrontend.ts +4 -27
- package/tsconfig.esm.json +2 -1
- package/tsconfig.json +6 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epicgames-ps/lib-pixelstreamingfrontend-ue5.5",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"description": "Frontend library for Unreal Engine 5.5 Pixel Streaming",
|
|
5
5
|
"main": "dist/commonjs/pixelstreamingfrontend.js",
|
|
6
6
|
"module": "dist/esm/pixelstreamingfrontend.js",
|
|
@@ -15,22 +15,22 @@
|
|
|
15
15
|
"spellcheck": "cspell \"{README.md,.github/*.md,src/**/*.ts}\""
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@types/jest": "
|
|
18
|
+
"@types/jest": "^29.5.14",
|
|
19
19
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
20
20
|
"cspell": "^4.1.0",
|
|
21
21
|
"eslint": "^8.11.0",
|
|
22
22
|
"eslint-config-prettier": "^9.1.0",
|
|
23
23
|
"eslint-plugin-prettier": "^5.2.1",
|
|
24
|
-
"jest": "^
|
|
25
|
-
"jest-environment-jsdom": "
|
|
24
|
+
"jest": "^29.7.0",
|
|
25
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
26
26
|
"prettier": "3.3.3",
|
|
27
|
-
"ts-jest": "
|
|
28
|
-
"typedoc": "^0.
|
|
29
|
-
"typescript": "^
|
|
27
|
+
"ts-jest": "^29.2.5",
|
|
28
|
+
"typedoc": "^0.27.4",
|
|
29
|
+
"typescript": "^5.0.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
+
"@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.1.4",
|
|
32
33
|
"@types/webxr": "^0.5.1",
|
|
33
|
-
"@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.1.3",
|
|
34
34
|
"sdp": "^3.1.0"
|
|
35
35
|
},
|
|
36
36
|
"repository": {
|
package/src/Config/Config.ts
CHANGED
|
@@ -38,7 +38,7 @@ export class Flags {
|
|
|
38
38
|
export type FlagsKeys = Exclude<keyof typeof Flags, 'prototype'>;
|
|
39
39
|
export type FlagsIds = (typeof Flags)[FlagsKeys];
|
|
40
40
|
|
|
41
|
-
const isFlagId = (id: string): id is FlagsIds =>
|
|
41
|
+
export const isFlagId = (id: string): id is FlagsIds =>
|
|
42
42
|
Object.getOwnPropertyNames(Flags).some((name: FlagsKeys) => Flags[name] === id);
|
|
43
43
|
|
|
44
44
|
/**
|
|
@@ -64,7 +64,7 @@ export class NumericParameters {
|
|
|
64
64
|
export type NumericParametersKeys = Exclude<keyof typeof NumericParameters, 'prototype'>;
|
|
65
65
|
export type NumericParametersIds = (typeof NumericParameters)[NumericParametersKeys];
|
|
66
66
|
|
|
67
|
-
const isNumericId = (id: string): id is NumericParametersIds =>
|
|
67
|
+
export const isNumericId = (id: string): id is NumericParametersIds =>
|
|
68
68
|
Object.getOwnPropertyNames(NumericParameters).some(
|
|
69
69
|
(name: NumericParametersKeys) => NumericParameters[name] === id
|
|
70
70
|
);
|
|
@@ -80,7 +80,7 @@ export class TextParameters {
|
|
|
80
80
|
export type TextParametersKeys = Exclude<keyof typeof TextParameters, 'prototype'>;
|
|
81
81
|
export type TextParametersIds = (typeof TextParameters)[TextParametersKeys];
|
|
82
82
|
|
|
83
|
-
const isTextId = (id: string): id is TextParametersIds =>
|
|
83
|
+
export const isTextId = (id: string): id is TextParametersIds =>
|
|
84
84
|
Object.getOwnPropertyNames(TextParameters).some(
|
|
85
85
|
(name: TextParametersKeys) => TextParameters[name] === id
|
|
86
86
|
);
|
|
@@ -92,12 +92,13 @@ const isTextId = (id: string): id is TextParametersIds =>
|
|
|
92
92
|
export class OptionParameters {
|
|
93
93
|
static PreferredCodec = 'PreferredCodec' as const;
|
|
94
94
|
static StreamerId = 'StreamerId' as const;
|
|
95
|
+
static PreferredQuality = 'PreferredQuality' as const;
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
export type OptionParametersKeys = Exclude<keyof typeof OptionParameters, 'prototype'>;
|
|
98
99
|
export type OptionParametersIds = (typeof OptionParameters)[OptionParametersKeys];
|
|
99
100
|
|
|
100
|
-
const isOptionId = (id: string): id is OptionParametersIds =>
|
|
101
|
+
export const isOptionId = (id: string): id is OptionParametersIds =>
|
|
101
102
|
Object.getOwnPropertyNames(OptionParameters).some(
|
|
102
103
|
(name: OptionParametersKeys) => OptionParameters[name] === id
|
|
103
104
|
);
|
|
@@ -281,6 +282,20 @@ export class Config {
|
|
|
281
282
|
)
|
|
282
283
|
);
|
|
283
284
|
|
|
285
|
+
this.optionParameters.set(
|
|
286
|
+
OptionParameters.PreferredQuality,
|
|
287
|
+
new SettingOption(
|
|
288
|
+
OptionParameters.PreferredQuality,
|
|
289
|
+
'Preferred Quality',
|
|
290
|
+
'The preferred quality of the stream (only applicable when using the SFU)',
|
|
291
|
+
settings && Object.prototype.hasOwnProperty.call(settings, OptionParameters.PreferredQuality)
|
|
292
|
+
? settings[OptionParameters.PreferredQuality]!
|
|
293
|
+
: 'Default',
|
|
294
|
+
['Default'],
|
|
295
|
+
useUrlParams
|
|
296
|
+
)
|
|
297
|
+
);
|
|
298
|
+
|
|
284
299
|
/**
|
|
285
300
|
* Boolean parameters
|
|
286
301
|
*/
|
|
@@ -7,8 +7,8 @@ import { SettingBase } from './SettingBase';
|
|
|
7
7
|
* A boolean flag setting object with a text label.
|
|
8
8
|
*/
|
|
9
9
|
export class SettingFlag<CustomIds extends string = FlagsIds> extends SettingBase {
|
|
10
|
-
id: FlagsIds | CustomIds;
|
|
11
|
-
onChangeEmit: (changedValue: boolean) => void;
|
|
10
|
+
override id: FlagsIds | CustomIds;
|
|
11
|
+
override onChangeEmit: (changedValue: boolean) => void;
|
|
12
12
|
|
|
13
13
|
constructor(
|
|
14
14
|
id: FlagsIds | CustomIds,
|
|
@@ -33,7 +33,7 @@ export class SettingFlag<CustomIds extends string = FlagsIds> extends SettingBas
|
|
|
33
33
|
this.useUrlParams = useUrlParams;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
protected getValueAsString(): string {
|
|
36
|
+
protected override getValueAsString(): string {
|
|
37
37
|
return this.flag ? 'true' : 'false';
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -10,8 +10,8 @@ export class SettingNumber<CustomIds extends string = NumericParametersIds> exte
|
|
|
10
10
|
_min: number | null;
|
|
11
11
|
_max: number | null;
|
|
12
12
|
|
|
13
|
-
id: NumericParametersIds | CustomIds;
|
|
14
|
-
onChangeEmit: (changedValue: number) => void;
|
|
13
|
+
override id: NumericParametersIds | CustomIds;
|
|
14
|
+
override onChangeEmit: (changedValue: number) => void;
|
|
15
15
|
|
|
16
16
|
constructor(
|
|
17
17
|
id: NumericParametersIds | CustomIds,
|
|
@@ -41,7 +41,7 @@ export class SettingNumber<CustomIds extends string = NumericParametersIds> exte
|
|
|
41
41
|
this.useUrlParams = useUrlParams;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
protected getValueAsString(): string {
|
|
44
|
+
protected override getValueAsString(): string {
|
|
45
45
|
return this.number.toString();
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -8,8 +8,8 @@ import { SettingBase } from './SettingBase';
|
|
|
8
8
|
* An Option setting object with a text label. Allows you to specify an array of options and select one of them.
|
|
9
9
|
*/
|
|
10
10
|
export class SettingOption<CustomIds extends string = OptionParametersIds> extends SettingBase {
|
|
11
|
-
id: OptionParametersIds | CustomIds;
|
|
12
|
-
onChangeEmit: (changedValue: string) => void;
|
|
11
|
+
override id: OptionParametersIds | CustomIds;
|
|
12
|
+
override onChangeEmit: (changedValue: string) => void;
|
|
13
13
|
_options: Array<string>;
|
|
14
14
|
|
|
15
15
|
/* Transforms the url parameter value into something else, by default no transformation is made, the url param is returned as-is. */
|
|
@@ -45,7 +45,7 @@ export class SettingOption<CustomIds extends string = OptionParametersIds> exten
|
|
|
45
45
|
this.useUrlParams = useUrlParams;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
protected getValueAsString(): string {
|
|
48
|
+
protected override getValueAsString(): string {
|
|
49
49
|
return this.selected;
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -7,9 +7,9 @@ import { SettingBase } from './SettingBase';
|
|
|
7
7
|
* A text setting object with a text label.
|
|
8
8
|
*/
|
|
9
9
|
export class SettingText<CustomIds extends string = TextParametersIds> extends SettingBase {
|
|
10
|
-
id: TextParametersIds | CustomIds;
|
|
11
|
-
onChangeEmit: (changedValue: string) => void;
|
|
12
|
-
useUrlParams: boolean;
|
|
10
|
+
override id: TextParametersIds | CustomIds;
|
|
11
|
+
override onChangeEmit: (changedValue: string) => void;
|
|
12
|
+
override useUrlParams: boolean;
|
|
13
13
|
|
|
14
14
|
constructor(
|
|
15
15
|
id: TextParametersIds | CustomIds,
|
|
@@ -33,7 +33,7 @@ export class SettingText<CustomIds extends string = TextParametersIds> extends S
|
|
|
33
33
|
this.useUrlParams = useUrlParams;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
protected getValueAsString(): string {
|
|
36
|
+
protected override getValueAsString(): string {
|
|
37
37
|
return this.text;
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -49,7 +49,7 @@ export class DataChannelController {
|
|
|
49
49
|
this.dataChannel.onopen = (ev: Event) => this.handleOnOpen(ev);
|
|
50
50
|
this.dataChannel.onclose = (ev: Event) => this.handleOnClose(ev);
|
|
51
51
|
this.dataChannel.onmessage = (ev: MessageEvent) => this.handleOnMessage(ev);
|
|
52
|
-
this.dataChannel.onerror = (ev:
|
|
52
|
+
this.dataChannel.onerror = (ev: Event) => this.handleOnError(ev);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
|
@@ -81,7 +81,7 @@ export class DataChannelController {
|
|
|
81
81
|
* Handles when an error is thrown
|
|
82
82
|
* @param event - Error Event
|
|
83
83
|
*/
|
|
84
|
-
handleOnError(event:
|
|
84
|
+
handleOnError(event: Event) {
|
|
85
85
|
Logger.Info(`Data Channel (${this.label}) error: ${event}`);
|
|
86
86
|
this.onError(this.dataChannel?.label, event);
|
|
87
87
|
}
|
|
@@ -33,7 +33,7 @@ export class MouseControllerHovering extends MouseController {
|
|
|
33
33
|
this.onContextMenuListener = this.onContextMenu.bind(this);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
register(): void {
|
|
36
|
+
override register(): void {
|
|
37
37
|
super.register();
|
|
38
38
|
|
|
39
39
|
this.videoElementParent.addEventListener('mousemove', this.onMouseMoveListener);
|
|
@@ -44,7 +44,7 @@ export class MouseControllerHovering extends MouseController {
|
|
|
44
44
|
this.videoElementParent.addEventListener('dblclick', this.onMouseDblClickListener);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
unregister(): void {
|
|
47
|
+
override unregister(): void {
|
|
48
48
|
this.videoElementParent.removeEventListener('mousemove', this.onMouseMoveListener);
|
|
49
49
|
this.videoElementParent.removeEventListener('mousedown', this.onMouseDownListener);
|
|
50
50
|
this.videoElementParent.removeEventListener('mouseup', this.onMouseUpListener);
|
|
@@ -44,7 +44,7 @@ export class MouseControllerLocked extends MouseController {
|
|
|
44
44
|
this.onMouseMoveListener = this.onMouseMove.bind(this);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
register() {
|
|
47
|
+
override register() {
|
|
48
48
|
super.register();
|
|
49
49
|
|
|
50
50
|
this.videoElementParent.requestPointerLock =
|
|
@@ -64,7 +64,7 @@ export class MouseControllerLocked extends MouseController {
|
|
|
64
64
|
this.videoElementParent.addEventListener('dblclick', this.onMouseDblClickListener);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
unregister() {
|
|
67
|
+
override unregister() {
|
|
68
68
|
const pointerLockElement = document.pointerLockElement || document.mozPointerLockElement;
|
|
69
69
|
if (document.exitPointerLock && pointerLockElement === this.videoElementParent) {
|
|
70
70
|
document.exitPointerLock();
|
|
@@ -428,18 +428,18 @@ export class PeerConnectionController {
|
|
|
428
428
|
) {
|
|
429
429
|
// Get our preferred codec from the codecs options drop down
|
|
430
430
|
const preferredRTPCodec = this.preferredCodec.split(' ');
|
|
431
|
-
const preferredRTCRtpCodecCapability:
|
|
431
|
+
const preferredRTCRtpCodecCapability: RTCRtpCodec = {
|
|
432
432
|
mimeType: 'video/' + preferredRTPCodec[0] /* Name */,
|
|
433
433
|
clockRate: 90000 /* All current video formats in browsers have 90khz clock rate */,
|
|
434
434
|
sdpFmtpLine: preferredRTPCodec[1] ? preferredRTPCodec[1] : ''
|
|
435
435
|
};
|
|
436
436
|
|
|
437
437
|
// Populate a list of codecs we will support with our preferred one in the first position
|
|
438
|
-
const ourSupportedCodecs: Array<
|
|
438
|
+
const ourSupportedCodecs: Array<RTCRtpCodec> = [preferredRTCRtpCodecCapability];
|
|
439
439
|
|
|
440
440
|
// Go through all codecs the browser supports and add them to the list (in any order)
|
|
441
441
|
RTCRtpReceiver.getCapabilities('video').codecs.forEach(
|
|
442
|
-
(browserSupportedCodec:
|
|
442
|
+
(browserSupportedCodec: RTCRtpCodec) => {
|
|
443
443
|
// Don't add our preferred codec again, but add everything else
|
|
444
444
|
if (browserSupportedCodec.mimeType != preferredRTCRtpCodecCapability.mimeType) {
|
|
445
445
|
ourSupportedCodecs.push(browserSupportedCodec);
|
|
@@ -626,11 +626,11 @@ export class PeerConnectionController {
|
|
|
626
626
|
const sections = splitSections(rtcSessionDescription.sdp);
|
|
627
627
|
// discard the session information as we only want media related info
|
|
628
628
|
sections.shift();
|
|
629
|
-
sections.forEach((mediaSection) => {
|
|
629
|
+
sections.forEach((mediaSection: any) => {
|
|
630
630
|
const { codecs } = parseRtpParameters(mediaSection);
|
|
631
631
|
// Filter only for VPX / H26X / AV1
|
|
632
632
|
const matcher = /(VP\d|H26\d|AV1).*/;
|
|
633
|
-
codecs.forEach((c) => {
|
|
633
|
+
codecs.forEach((c: any) => {
|
|
634
634
|
const str =
|
|
635
635
|
c.name +
|
|
636
636
|
' ' +
|
package/src/Util/EventEmitter.ts
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
* Can be cancelled by calling the callback function provided as part of the event.
|
|
18
18
|
*/
|
|
19
19
|
export class AfkWarningActivateEvent extends Event {
|
|
20
|
-
readonly type: 'afkWarningActivate';
|
|
20
|
+
override readonly type: 'afkWarningActivate';
|
|
21
21
|
readonly data: {
|
|
22
22
|
/** How many seconds until the session is disconnected */
|
|
23
23
|
countDown: number;
|
|
@@ -34,7 +34,7 @@ export class AfkWarningActivateEvent extends Event {
|
|
|
34
34
|
* An event that is emitted when the AFK disconnect countdown is updated.
|
|
35
35
|
*/
|
|
36
36
|
export class AfkWarningUpdateEvent extends Event {
|
|
37
|
-
readonly type: 'afkWarningUpdate';
|
|
37
|
+
override readonly type: 'afkWarningUpdate';
|
|
38
38
|
readonly data: {
|
|
39
39
|
/** How many seconds until the session is disconnected */
|
|
40
40
|
countDown: number;
|
|
@@ -49,7 +49,7 @@ export class AfkWarningUpdateEvent extends Event {
|
|
|
49
49
|
* An event that is emitted when AFK warning is deactivated.
|
|
50
50
|
*/
|
|
51
51
|
export class AfkWarningDeactivateEvent extends Event {
|
|
52
|
-
readonly type: 'afkWarningDeactivate';
|
|
52
|
+
override readonly type: 'afkWarningDeactivate';
|
|
53
53
|
constructor() {
|
|
54
54
|
super('afkWarningDeactivate');
|
|
55
55
|
}
|
|
@@ -59,7 +59,7 @@ export class AfkWarningDeactivateEvent extends Event {
|
|
|
59
59
|
* An event that is emitted when AFK countdown reaches 0 and the user is disconnected.
|
|
60
60
|
*/
|
|
61
61
|
export class AfkTimedOutEvent extends Event {
|
|
62
|
-
readonly type: 'afkTimedOut';
|
|
62
|
+
override readonly type: 'afkTimedOut';
|
|
63
63
|
constructor() {
|
|
64
64
|
super('afkTimedOut');
|
|
65
65
|
}
|
|
@@ -69,7 +69,7 @@ export class AfkTimedOutEvent extends Event {
|
|
|
69
69
|
* An event that is emitted when we receive new video quality value.
|
|
70
70
|
*/
|
|
71
71
|
export class VideoEncoderAvgQPEvent extends Event {
|
|
72
|
-
readonly type: 'videoEncoderAvgQP';
|
|
72
|
+
override readonly type: 'videoEncoderAvgQP';
|
|
73
73
|
readonly data: {
|
|
74
74
|
/** Average video quality value */
|
|
75
75
|
avgQP: number;
|
|
@@ -84,7 +84,7 @@ export class VideoEncoderAvgQPEvent extends Event {
|
|
|
84
84
|
* An event that is emitted after a WebRtc connection has been negotiated.
|
|
85
85
|
*/
|
|
86
86
|
export class WebRtcSdpEvent extends Event {
|
|
87
|
-
readonly type: 'webRtcSdp';
|
|
87
|
+
override readonly type: 'webRtcSdp';
|
|
88
88
|
constructor() {
|
|
89
89
|
super('webRtcSdp');
|
|
90
90
|
}
|
|
@@ -94,7 +94,7 @@ export class WebRtcSdpEvent extends Event {
|
|
|
94
94
|
* An event that is emitted when auto connecting.
|
|
95
95
|
*/
|
|
96
96
|
export class WebRtcAutoConnectEvent extends Event {
|
|
97
|
-
readonly type: 'webRtcAutoConnect';
|
|
97
|
+
override readonly type: 'webRtcAutoConnect';
|
|
98
98
|
constructor() {
|
|
99
99
|
super('webRtcAutoConnect');
|
|
100
100
|
}
|
|
@@ -104,7 +104,7 @@ export class WebRtcAutoConnectEvent extends Event {
|
|
|
104
104
|
* An event that is emitted when sending a WebRtc offer.
|
|
105
105
|
*/
|
|
106
106
|
export class WebRtcConnectingEvent extends Event {
|
|
107
|
-
readonly type: 'webRtcConnecting';
|
|
107
|
+
override readonly type: 'webRtcConnecting';
|
|
108
108
|
constructor() {
|
|
109
109
|
super('webRtcConnecting');
|
|
110
110
|
}
|
|
@@ -114,7 +114,7 @@ export class WebRtcConnectingEvent extends Event {
|
|
|
114
114
|
* An event that is emitted when WebRtc connection has been established.
|
|
115
115
|
*/
|
|
116
116
|
export class WebRtcConnectedEvent extends Event {
|
|
117
|
-
readonly type: 'webRtcConnected';
|
|
117
|
+
override readonly type: 'webRtcConnected';
|
|
118
118
|
constructor() {
|
|
119
119
|
super('webRtcConnected');
|
|
120
120
|
}
|
|
@@ -124,7 +124,7 @@ export class WebRtcConnectedEvent extends Event {
|
|
|
124
124
|
* An event that is emitted if WebRtc connection has failed.
|
|
125
125
|
*/
|
|
126
126
|
export class WebRtcFailedEvent extends Event {
|
|
127
|
-
readonly type: 'webRtcFailed';
|
|
127
|
+
override readonly type: 'webRtcFailed';
|
|
128
128
|
constructor() {
|
|
129
129
|
super('webRtcFailed');
|
|
130
130
|
}
|
|
@@ -134,7 +134,7 @@ export class WebRtcFailedEvent extends Event {
|
|
|
134
134
|
* An event that is emitted if WebRtc connection is disconnected.
|
|
135
135
|
*/
|
|
136
136
|
export class WebRtcDisconnectedEvent extends Event {
|
|
137
|
-
readonly type: 'webRtcDisconnected';
|
|
137
|
+
override readonly type: 'webRtcDisconnected';
|
|
138
138
|
readonly data: {
|
|
139
139
|
/** Message describing the disconnect reason */
|
|
140
140
|
eventString: string;
|
|
@@ -151,7 +151,7 @@ export class WebRtcDisconnectedEvent extends Event {
|
|
|
151
151
|
* An event that is emitted when RTCDataChannel is opened.
|
|
152
152
|
*/
|
|
153
153
|
export class DataChannelOpenEvent extends Event {
|
|
154
|
-
readonly type: 'dataChannelOpen';
|
|
154
|
+
override readonly type: 'dataChannelOpen';
|
|
155
155
|
readonly data: {
|
|
156
156
|
/** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
|
|
157
157
|
label: string;
|
|
@@ -168,7 +168,7 @@ export class DataChannelOpenEvent extends Event {
|
|
|
168
168
|
* An event that is emitted when RTCDataChannel is closed.
|
|
169
169
|
*/
|
|
170
170
|
export class DataChannelCloseEvent extends Event {
|
|
171
|
-
readonly type: 'dataChannelClose';
|
|
171
|
+
override readonly type: 'dataChannelClose';
|
|
172
172
|
readonly data: {
|
|
173
173
|
/** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
|
|
174
174
|
label: string;
|
|
@@ -185,7 +185,7 @@ export class DataChannelCloseEvent extends Event {
|
|
|
185
185
|
* An event that is emitted on RTCDataChannel errors.
|
|
186
186
|
*/
|
|
187
187
|
export class DataChannelErrorEvent extends Event {
|
|
188
|
-
readonly type: 'dataChannelError';
|
|
188
|
+
override readonly type: 'dataChannelError';
|
|
189
189
|
readonly data: {
|
|
190
190
|
/** Data channel label. One of 'datachannel', 'send-datachannel', 'recv-datachannel' */
|
|
191
191
|
label: string;
|
|
@@ -202,7 +202,7 @@ export class DataChannelErrorEvent extends Event {
|
|
|
202
202
|
* An event that is emitted when the video stream has been initialized.
|
|
203
203
|
*/
|
|
204
204
|
export class VideoInitializedEvent extends Event {
|
|
205
|
-
readonly type: 'videoInitialized';
|
|
205
|
+
override readonly type: 'videoInitialized';
|
|
206
206
|
constructor() {
|
|
207
207
|
super('videoInitialized');
|
|
208
208
|
}
|
|
@@ -212,7 +212,7 @@ export class VideoInitializedEvent extends Event {
|
|
|
212
212
|
* An event that is emitted when video stream loading starts.
|
|
213
213
|
*/
|
|
214
214
|
export class StreamLoadingEvent extends Event {
|
|
215
|
-
readonly type: 'streamLoading';
|
|
215
|
+
override readonly type: 'streamLoading';
|
|
216
216
|
constructor() {
|
|
217
217
|
super('streamLoading');
|
|
218
218
|
}
|
|
@@ -222,7 +222,7 @@ export class StreamLoadingEvent extends Event {
|
|
|
222
222
|
* An event that is emitted when video stream loading has finished.
|
|
223
223
|
*/
|
|
224
224
|
export class StreamPreConnectEvent extends Event {
|
|
225
|
-
readonly type: 'streamConnect';
|
|
225
|
+
override readonly type: 'streamConnect';
|
|
226
226
|
constructor() {
|
|
227
227
|
super('streamConnect');
|
|
228
228
|
}
|
|
@@ -232,7 +232,7 @@ export class StreamPreConnectEvent extends Event {
|
|
|
232
232
|
* An event that is emitted when video stream has stopped.
|
|
233
233
|
*/
|
|
234
234
|
export class StreamPreDisconnectEvent extends Event {
|
|
235
|
-
readonly type: 'streamDisconnect';
|
|
235
|
+
override readonly type: 'streamDisconnect';
|
|
236
236
|
constructor() {
|
|
237
237
|
super('streamDisconnect');
|
|
238
238
|
}
|
|
@@ -242,7 +242,7 @@ export class StreamPreDisconnectEvent extends Event {
|
|
|
242
242
|
* An event that is emitted when video stream is reconnecting.
|
|
243
243
|
*/
|
|
244
244
|
export class StreamReconnectEvent extends Event {
|
|
245
|
-
readonly type: 'streamReconnect';
|
|
245
|
+
override readonly type: 'streamReconnect';
|
|
246
246
|
constructor() {
|
|
247
247
|
super('streamReconnect');
|
|
248
248
|
}
|
|
@@ -252,7 +252,7 @@ export class StreamReconnectEvent extends Event {
|
|
|
252
252
|
* An event that is emitted if there are errors loading the video stream.
|
|
253
253
|
*/
|
|
254
254
|
export class PlayStreamErrorEvent extends Event {
|
|
255
|
-
readonly type: 'playStreamError';
|
|
255
|
+
override readonly type: 'playStreamError';
|
|
256
256
|
readonly data: {
|
|
257
257
|
/** Error message */
|
|
258
258
|
message: string;
|
|
@@ -267,7 +267,7 @@ export class PlayStreamErrorEvent extends Event {
|
|
|
267
267
|
* An event that is emitted before trying to start video playback.
|
|
268
268
|
*/
|
|
269
269
|
export class PlayStreamEvent extends Event {
|
|
270
|
-
readonly type: 'playStream';
|
|
270
|
+
override readonly type: 'playStream';
|
|
271
271
|
constructor() {
|
|
272
272
|
super('playStream');
|
|
273
273
|
}
|
|
@@ -278,7 +278,7 @@ export class PlayStreamEvent extends Event {
|
|
|
278
278
|
* video auto-play without user interaction is refused by the browser.
|
|
279
279
|
*/
|
|
280
280
|
export class PlayStreamRejectedEvent extends Event {
|
|
281
|
-
readonly type: 'playStreamRejected';
|
|
281
|
+
override readonly type: 'playStreamRejected';
|
|
282
282
|
readonly data: {
|
|
283
283
|
/** Rejection reason */
|
|
284
284
|
reason: unknown;
|
|
@@ -293,7 +293,7 @@ export class PlayStreamRejectedEvent extends Event {
|
|
|
293
293
|
* An event that is emitted when receiving a full FreezeFrame image from UE.
|
|
294
294
|
*/
|
|
295
295
|
export class LoadFreezeFrameEvent extends Event {
|
|
296
|
-
readonly type: 'loadFreezeFrame';
|
|
296
|
+
override readonly type: 'loadFreezeFrame';
|
|
297
297
|
readonly data: {
|
|
298
298
|
/** true if should show click-to-play overlay, not the freeze frame contents */
|
|
299
299
|
shouldShowPlayOverlay: boolean;
|
|
@@ -312,7 +312,7 @@ export class LoadFreezeFrameEvent extends Event {
|
|
|
312
312
|
* An event that is emitted when receiving UnfreezeFrame message from UE and video playback is about to be resumed.
|
|
313
313
|
*/
|
|
314
314
|
export class HideFreezeFrameEvent extends Event {
|
|
315
|
-
readonly type: 'hideFreezeFrame';
|
|
315
|
+
override readonly type: 'hideFreezeFrame';
|
|
316
316
|
constructor() {
|
|
317
317
|
super('hideFreezeFrame');
|
|
318
318
|
}
|
|
@@ -322,7 +322,7 @@ export class HideFreezeFrameEvent extends Event {
|
|
|
322
322
|
* An event that is emitted when receiving WebRTC statistics.
|
|
323
323
|
*/
|
|
324
324
|
export class StatsReceivedEvent extends Event {
|
|
325
|
-
readonly type: 'statsReceived';
|
|
325
|
+
override readonly type: 'statsReceived';
|
|
326
326
|
readonly data: {
|
|
327
327
|
/** Statistics object */
|
|
328
328
|
aggregatedStats: AggregatedStats;
|
|
@@ -337,7 +337,7 @@ export class StatsReceivedEvent extends Event {
|
|
|
337
337
|
* An event that is emitted when streamer list changes.
|
|
338
338
|
*/
|
|
339
339
|
export class StreamerListMessageEvent extends Event {
|
|
340
|
-
readonly type: 'streamerListMessage';
|
|
340
|
+
override readonly type: 'streamerListMessage';
|
|
341
341
|
readonly data: {
|
|
342
342
|
/** Streamer list message containing an array of streamer ids */
|
|
343
343
|
messageStreamerList: Messages.streamerList;
|
|
@@ -356,7 +356,7 @@ export class StreamerListMessageEvent extends Event {
|
|
|
356
356
|
* An event that is emitted when a subscribed to streamer's id changes.
|
|
357
357
|
*/
|
|
358
358
|
export class StreamerIDChangedMessageEvent extends Event {
|
|
359
|
-
readonly type: 'streamerIDChangedMessage';
|
|
359
|
+
override readonly type: 'streamerIDChangedMessage';
|
|
360
360
|
readonly data: {
|
|
361
361
|
/** The new ID of the streamer. */
|
|
362
362
|
newID: string;
|
|
@@ -371,7 +371,7 @@ export class StreamerIDChangedMessageEvent extends Event {
|
|
|
371
371
|
* An event that is emitted when receiving latency test results.
|
|
372
372
|
*/
|
|
373
373
|
export class LatencyTestResultEvent extends Event {
|
|
374
|
-
readonly type: 'latencyTestResult';
|
|
374
|
+
override readonly type: 'latencyTestResult';
|
|
375
375
|
readonly data: {
|
|
376
376
|
/** Latency test result object */
|
|
377
377
|
latencyTimings: LatencyTestResults;
|
|
@@ -387,7 +387,7 @@ export class LatencyTestResultEvent extends Event {
|
|
|
387
387
|
* This event is handled by DataChannelLatencyTestController
|
|
388
388
|
*/
|
|
389
389
|
export class DataChannelLatencyTestResponseEvent extends Event {
|
|
390
|
-
readonly type: 'dataChannelLatencyTestResponse';
|
|
390
|
+
override readonly type: 'dataChannelLatencyTestResponse';
|
|
391
391
|
readonly data: {
|
|
392
392
|
/** Latency test result object */
|
|
393
393
|
response: DataChannelLatencyTestResponse;
|
|
@@ -402,7 +402,7 @@ export class DataChannelLatencyTestResponseEvent extends Event {
|
|
|
402
402
|
* An event that is emitted when data channel latency test results are ready.
|
|
403
403
|
*/
|
|
404
404
|
export class DataChannelLatencyTestResultEvent extends Event {
|
|
405
|
-
readonly type: 'dataChannelLatencyTestResult';
|
|
405
|
+
override readonly type: 'dataChannelLatencyTestResult';
|
|
406
406
|
readonly data: {
|
|
407
407
|
/** Latency test result object */
|
|
408
408
|
result: DataChannelLatencyTestResult;
|
|
@@ -417,7 +417,7 @@ export class DataChannelLatencyTestResultEvent extends Event {
|
|
|
417
417
|
* An event that is emitted when receiving initial settings from UE.
|
|
418
418
|
*/
|
|
419
419
|
export class InitialSettingsEvent extends Event {
|
|
420
|
-
readonly type: 'initialSettings';
|
|
420
|
+
override readonly type: 'initialSettings';
|
|
421
421
|
readonly data: {
|
|
422
422
|
/** Initial settings from UE */
|
|
423
423
|
settings: InitialSettings;
|
|
@@ -470,7 +470,7 @@ export type SettingsData =
|
|
|
470
470
|
* An event that is emitted when PixelStreaming settings change.
|
|
471
471
|
*/
|
|
472
472
|
export class SettingsChangedEvent extends Event {
|
|
473
|
-
readonly type: 'settingsChanged';
|
|
473
|
+
override readonly type: 'settingsChanged';
|
|
474
474
|
readonly data: SettingsData;
|
|
475
475
|
constructor(data: SettingsChangedEvent['data']) {
|
|
476
476
|
super('settingsChanged');
|
|
@@ -482,7 +482,7 @@ export class SettingsChangedEvent extends Event {
|
|
|
482
482
|
* Event emitted when an XR Session starts
|
|
483
483
|
*/
|
|
484
484
|
export class XrSessionStartedEvent extends Event {
|
|
485
|
-
readonly type: 'xrSessionStarted';
|
|
485
|
+
override readonly type: 'xrSessionStarted';
|
|
486
486
|
constructor() {
|
|
487
487
|
super('xrSessionStarted');
|
|
488
488
|
}
|
|
@@ -492,7 +492,7 @@ export class XrSessionStartedEvent extends Event {
|
|
|
492
492
|
* Event emitted when an XR Session ends
|
|
493
493
|
*/
|
|
494
494
|
export class XrSessionEndedEvent extends Event {
|
|
495
|
-
readonly type: 'xrSessionEnded';
|
|
495
|
+
override readonly type: 'xrSessionEnded';
|
|
496
496
|
constructor() {
|
|
497
497
|
super('xrSessionEnded');
|
|
498
498
|
}
|
|
@@ -509,7 +509,7 @@ export type XrFrameData = {
|
|
|
509
509
|
* Event emitted when an XR Frame is complete
|
|
510
510
|
*/
|
|
511
511
|
export class XrFrameEvent extends Event {
|
|
512
|
-
readonly type: 'xrFrame';
|
|
512
|
+
override readonly type: 'xrFrame';
|
|
513
513
|
readonly data: XrFrameData;
|
|
514
514
|
constructor(data: XrFrameEvent['data']) {
|
|
515
515
|
super('xrFrame');
|
|
@@ -521,7 +521,7 @@ export class XrFrameEvent extends Event {
|
|
|
521
521
|
* An event that is emitted when receiving a player count from the signalling server
|
|
522
522
|
*/
|
|
523
523
|
export class PlayerCountEvent extends Event {
|
|
524
|
-
readonly type: 'playerCount';
|
|
524
|
+
override readonly type: 'playerCount';
|
|
525
525
|
readonly data: {
|
|
526
526
|
/** count object */
|
|
527
527
|
count: number;
|
|
@@ -536,7 +536,7 @@ export class PlayerCountEvent extends Event {
|
|
|
536
536
|
* An event that is emitted when the webRTC connections is relayed over TCP.
|
|
537
537
|
*/
|
|
538
538
|
export class WebRtcTCPRelayDetectedEvent extends Event {
|
|
539
|
-
readonly type: 'webRtcTCPRelayDetected';
|
|
539
|
+
override readonly type: 'webRtcTCPRelayDetected';
|
|
540
540
|
constructor() {
|
|
541
541
|
super('webRtcTCPRelayDetected');
|
|
542
542
|
}
|
|
@@ -587,7 +587,7 @@ export class PixelStreamingEventEmitter extends EventTarget {
|
|
|
587
587
|
* @param e event
|
|
588
588
|
* @returns
|
|
589
589
|
*/
|
|
590
|
-
public dispatchEvent(e: PixelStreamingEvent): boolean {
|
|
590
|
+
public override dispatchEvent(e: PixelStreamingEvent): boolean {
|
|
591
591
|
return super.dispatchEvent(e);
|
|
592
592
|
}
|
|
593
593
|
|
|
@@ -596,7 +596,7 @@ export class PixelStreamingEventEmitter extends EventTarget {
|
|
|
596
596
|
* @param type event name
|
|
597
597
|
* @param listener event handler function
|
|
598
598
|
*/
|
|
599
|
-
public addEventListener<
|
|
599
|
+
public override addEventListener<
|
|
600
600
|
T extends PixelStreamingEvent['type'],
|
|
601
601
|
E extends PixelStreamingEvent & { type: T }
|
|
602
602
|
>(type: T, listener: (e: Event & E) => void) {
|
|
@@ -608,7 +608,7 @@ export class PixelStreamingEventEmitter extends EventTarget {
|
|
|
608
608
|
* @param type event name
|
|
609
609
|
* @param listener event handler function
|
|
610
610
|
*/
|
|
611
|
-
public removeEventListener<
|
|
611
|
+
public override removeEventListener<
|
|
612
612
|
T extends PixelStreamingEvent['type'],
|
|
613
613
|
E extends PixelStreamingEvent & { type: T }
|
|
614
614
|
>(type: T, listener: (e: Event & E) => void) {
|