@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.4.2 → 0.4.3
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 +5 -1
- 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 +73 -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 +1 -1
- 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 +6 -1
- package/tsconfig.esm.json +2 -1
- package/tsconfig.json +6 -2
|
@@ -1,22 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PixelStreaming = void 0;
|
|
5
|
+
const Config_1 = require("../Config/Config");
|
|
6
|
+
const WebRtcPlayerController_1 = require("../WebRtcPlayer/WebRtcPlayerController");
|
|
7
|
+
const Config_2 = require("../Config/Config");
|
|
8
|
+
const lib_pixelstreamingcommon_ue5_5_1 = require("@epicgames-ps/lib-pixelstreamingcommon-ue5.5");
|
|
9
|
+
const OnScreenKeyboard_1 = require("../UI/OnScreenKeyboard");
|
|
10
|
+
const EventEmitter_1 = require("../Util/EventEmitter");
|
|
11
|
+
const WebXRController_1 = require("../WebXR/WebXRController");
|
|
12
|
+
const StreamMessageController_1 = require("../UeInstanceMessage/StreamMessageController");
|
|
13
|
+
const DataChannelLatencyTestController_1 = require("../DataChannel/DataChannelLatencyTestController");
|
|
14
|
+
const RTCUtils_1 = require("../Util/RTCUtils");
|
|
15
|
+
const IURLSearchParams_1 = require("../Util/IURLSearchParams");
|
|
13
16
|
/**
|
|
14
17
|
* The key class for the browser side of a Pixel Streaming application, it includes:
|
|
15
18
|
* WebRTC handling, XR support, input handling, and emitters for lifetime and state change events.
|
|
16
19
|
* Users are encouraged to use this class as is, through composition, or extend it. In any case,
|
|
17
20
|
* this will likely be the core of your Pixel Streaming experience in terms of functionality.
|
|
18
21
|
*/
|
|
19
|
-
|
|
22
|
+
class PixelStreaming {
|
|
20
23
|
/**
|
|
21
24
|
* @param config - A newly instantiated config object
|
|
22
25
|
* @param overrides - Parameters to override default behaviour
|
|
@@ -28,15 +31,15 @@ export class PixelStreaming {
|
|
|
28
31
|
if (overrides === null || overrides === void 0 ? void 0 : overrides.videoElementParent) {
|
|
29
32
|
this._videoElementParent = overrides.videoElementParent;
|
|
30
33
|
}
|
|
31
|
-
this._eventEmitter = new PixelStreamingEventEmitter();
|
|
34
|
+
this._eventEmitter = new EventEmitter_1.PixelStreamingEventEmitter();
|
|
32
35
|
this.configureSettings();
|
|
33
36
|
// setup WebRTC
|
|
34
|
-
this.setWebRtcPlayerController(new WebRtcPlayerController(this.config, this));
|
|
37
|
+
this.setWebRtcPlayerController(new WebRtcPlayerController_1.WebRtcPlayerController(this.config, this));
|
|
35
38
|
// Onscreen keyboard
|
|
36
|
-
this.onScreenKeyboardHelper = new OnScreenKeyboard(this.videoElementParent);
|
|
39
|
+
this.onScreenKeyboardHelper = new OnScreenKeyboard_1.OnScreenKeyboard(this.videoElementParent);
|
|
37
40
|
this.onScreenKeyboardHelper.unquantizeAndDenormalizeUnsigned = (x, y) => this._webRtcController.requestUnquantizedAndDenormalizeUnsigned(x, y);
|
|
38
41
|
this._activateOnScreenKeyboard = (command) => this.onScreenKeyboardHelper.showOnScreenKeyboard(command);
|
|
39
|
-
this._webXrController = new WebXRController(this._webRtcController);
|
|
42
|
+
this._webXrController = new WebXRController_1.WebXRController(this._webRtcController);
|
|
40
43
|
this._setupWebRtcTCPRelayDetection = this._setupWebRtcTCPRelayDetection.bind(this);
|
|
41
44
|
// Add event listener for the webRtcConnected event
|
|
42
45
|
this._eventEmitter.addEventListener('webRtcConnected', (_) => {
|
|
@@ -58,97 +61,97 @@ export class PixelStreaming {
|
|
|
58
61
|
* Configure the settings with on change listeners and any additional per experience settings.
|
|
59
62
|
*/
|
|
60
63
|
configureSettings() {
|
|
61
|
-
this.config._addOnSettingChangedListener(Flags.IsQualityController, (wantsQualityController) => {
|
|
64
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.IsQualityController, (wantsQualityController) => {
|
|
62
65
|
// If the setting has been set to true (either programmatically or the user has flicked the toggle)
|
|
63
66
|
// and we aren't currently quality controller, send the request
|
|
64
67
|
if (wantsQualityController === true && !this._webRtcController.isQualityController) {
|
|
65
68
|
this._webRtcController.sendRequestQualityControlOwnership();
|
|
66
69
|
}
|
|
67
70
|
});
|
|
68
|
-
this.config._addOnSettingChangedListener(Flags.AFKDetection, (isAFKEnabled) => {
|
|
71
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.AFKDetection, (isAFKEnabled) => {
|
|
69
72
|
this._webRtcController.setAfkEnabled(isAFKEnabled);
|
|
70
73
|
});
|
|
71
|
-
this.config._addOnSettingChangedListener(Flags.MatchViewportResolution, () => {
|
|
74
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.MatchViewportResolution, () => {
|
|
72
75
|
this._webRtcController.videoPlayer.updateVideoStreamSize();
|
|
73
76
|
});
|
|
74
|
-
this.config._addOnSettingChangedListener(Flags.HoveringMouseMode, (isHoveringMouse) => {
|
|
75
|
-
this.config.setFlagLabel(Flags.HoveringMouseMode, `Control Scheme: ${isHoveringMouse ? 'Hovering' : 'Locked'} Mouse`);
|
|
76
|
-
this._webRtcController.setMouseInputEnabled(this.config.isFlagEnabled(Flags.MouseInput));
|
|
77
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.HoveringMouseMode, (isHoveringMouse) => {
|
|
78
|
+
this.config.setFlagLabel(Config_2.Flags.HoveringMouseMode, `Control Scheme: ${isHoveringMouse ? 'Hovering' : 'Locked'} Mouse`);
|
|
79
|
+
this._webRtcController.setMouseInputEnabled(this.config.isFlagEnabled(Config_2.Flags.MouseInput));
|
|
77
80
|
});
|
|
78
81
|
// user input
|
|
79
|
-
this.config._addOnSettingChangedListener(Flags.KeyboardInput, (isEnabled) => {
|
|
82
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.KeyboardInput, (isEnabled) => {
|
|
80
83
|
this._webRtcController.setKeyboardInputEnabled(isEnabled);
|
|
81
84
|
});
|
|
82
|
-
this.config._addOnSettingChangedListener(Flags.MouseInput, (isEnabled) => {
|
|
85
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.MouseInput, (isEnabled) => {
|
|
83
86
|
this._webRtcController.setMouseInputEnabled(isEnabled);
|
|
84
87
|
});
|
|
85
|
-
this.config._addOnSettingChangedListener(Flags.FakeMouseWithTouches, (_isFakeMouseEnabled) => {
|
|
86
|
-
this._webRtcController.setTouchInputEnabled(this.config.isFlagEnabled(Flags.TouchInput));
|
|
88
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.FakeMouseWithTouches, (_isFakeMouseEnabled) => {
|
|
89
|
+
this._webRtcController.setTouchInputEnabled(this.config.isFlagEnabled(Config_2.Flags.TouchInput));
|
|
87
90
|
});
|
|
88
|
-
this.config._addOnSettingChangedListener(Flags.TouchInput, (isEnabled) => {
|
|
91
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.TouchInput, (isEnabled) => {
|
|
89
92
|
this._webRtcController.setTouchInputEnabled(isEnabled);
|
|
90
93
|
});
|
|
91
|
-
this.config._addOnSettingChangedListener(Flags.GamepadInput, (isEnabled) => {
|
|
94
|
+
this.config._addOnSettingChangedListener(Config_2.Flags.GamepadInput, (isEnabled) => {
|
|
92
95
|
this._webRtcController.setGamePadInputEnabled(isEnabled);
|
|
93
96
|
});
|
|
94
97
|
// direct qp settings
|
|
95
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.MinQP, (newValue) => {
|
|
96
|
-
Logger.Info('-------- Sending MinQP --------');
|
|
98
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.MinQP, (newValue) => {
|
|
99
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending MinQP --------');
|
|
97
100
|
this._webRtcController.sendEncoderMinQP(newValue);
|
|
98
|
-
Logger.Info('-------------------------------------------');
|
|
101
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
99
102
|
const quality = Math.trunc(100 * (1 - newValue / 51));
|
|
100
|
-
this.config.setNumericSetting(NumericParameters.CompatQualityMax, quality);
|
|
103
|
+
this.config.setNumericSetting(Config_2.NumericParameters.CompatQualityMax, quality);
|
|
101
104
|
});
|
|
102
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.MaxQP, (newValue) => {
|
|
103
|
-
Logger.Info('-------- Sending MaxQP --------');
|
|
105
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.MaxQP, (newValue) => {
|
|
106
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending MaxQP --------');
|
|
104
107
|
this._webRtcController.sendEncoderMaxQP(newValue);
|
|
105
|
-
Logger.Info('-------------------------------------------');
|
|
108
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
106
109
|
const quality = Math.trunc(100 * (1 - newValue / 51));
|
|
107
|
-
this.config.setNumericSetting(NumericParameters.CompatQualityMin, quality);
|
|
110
|
+
this.config.setNumericSetting(Config_2.NumericParameters.CompatQualityMin, quality);
|
|
108
111
|
});
|
|
109
112
|
// direct quality factor settings
|
|
110
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.MinQuality, (newValue) => {
|
|
111
|
-
Logger.Info('-------- Sending MinQuality --------');
|
|
113
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.MinQuality, (newValue) => {
|
|
114
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending MinQuality --------');
|
|
112
115
|
this._webRtcController.sendEncoderMinQuality(newValue);
|
|
113
|
-
Logger.Info('-------------------------------------------');
|
|
114
|
-
this.config.setNumericSetting(NumericParameters.CompatQualityMin, newValue);
|
|
116
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
117
|
+
this.config.setNumericSetting(Config_2.NumericParameters.CompatQualityMin, newValue);
|
|
115
118
|
});
|
|
116
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.MaxQuality, (newValue) => {
|
|
117
|
-
Logger.Info('-------- Sending MaxQuality --------');
|
|
119
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.MaxQuality, (newValue) => {
|
|
120
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending MaxQuality --------');
|
|
118
121
|
this._webRtcController.sendEncoderMaxQuality(newValue);
|
|
119
|
-
Logger.Info('-------------------------------------------');
|
|
120
|
-
this.config.setNumericSetting(NumericParameters.CompatQualityMax, newValue);
|
|
122
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
123
|
+
this.config.setNumericSetting(Config_2.NumericParameters.CompatQualityMax, newValue);
|
|
121
124
|
});
|
|
122
125
|
// new quality value that gets scaled to qp for legacy reasons
|
|
123
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.CompatQualityMin, (newValue) => {
|
|
126
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.CompatQualityMin, (newValue) => {
|
|
124
127
|
newValue = 51 - (newValue / 100) * 51;
|
|
125
|
-
Logger.Info('-------- Sending MinQP from quality value --------');
|
|
128
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending MinQP from quality value --------');
|
|
126
129
|
this._webRtcController.sendEncoderMaxQP(newValue);
|
|
127
|
-
Logger.Info('-------------------------------------------');
|
|
130
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
128
131
|
});
|
|
129
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.CompatQualityMax, (newValue) => {
|
|
132
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.CompatQualityMax, (newValue) => {
|
|
130
133
|
newValue = 51 - (newValue / 100) * 51;
|
|
131
|
-
Logger.Info('-------- Sending MaxQP from quality value --------');
|
|
134
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending MaxQP from quality value --------');
|
|
132
135
|
this._webRtcController.sendEncoderMinQP(newValue);
|
|
133
|
-
Logger.Info('-------------------------------------------');
|
|
136
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
134
137
|
});
|
|
135
138
|
// WebRTC settings
|
|
136
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.WebRTCMinBitrate, (newValue) => {
|
|
137
|
-
Logger.Info('-------- Sending web rtc settings --------');
|
|
139
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.WebRTCMinBitrate, (newValue) => {
|
|
140
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending web rtc settings --------');
|
|
138
141
|
this._webRtcController.sendWebRTCMinBitrate(newValue * 1000 /* kbps to bps */);
|
|
139
|
-
Logger.Info('-------------------------------------------');
|
|
142
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
140
143
|
});
|
|
141
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.WebRTCMaxBitrate, (newValue) => {
|
|
142
|
-
Logger.Info('-------- Sending web rtc settings --------');
|
|
144
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.WebRTCMaxBitrate, (newValue) => {
|
|
145
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending web rtc settings --------');
|
|
143
146
|
this._webRtcController.sendWebRTCMaxBitrate(newValue * 1000 /* kbps to bps */);
|
|
144
|
-
Logger.Info('-------------------------------------------');
|
|
147
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
145
148
|
});
|
|
146
|
-
this.config._addOnNumericSettingChangedListener(NumericParameters.WebRTCFPS, (newValue) => {
|
|
147
|
-
Logger.Info('-------- Sending web rtc settings --------');
|
|
149
|
+
this.config._addOnNumericSettingChangedListener(Config_2.NumericParameters.WebRTCFPS, (newValue) => {
|
|
150
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------- Sending web rtc settings --------');
|
|
148
151
|
this._webRtcController.sendWebRTCFps(newValue);
|
|
149
|
-
Logger.Info('-------------------------------------------');
|
|
152
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-------------------------------------------');
|
|
150
153
|
});
|
|
151
|
-
this.config._addOnOptionSettingChangedListener(OptionParameters.PreferredCodec, (newValue) => {
|
|
154
|
+
this.config._addOnOptionSettingChangedListener(Config_1.OptionParameters.PreferredCodec, (newValue) => {
|
|
152
155
|
if (this._webRtcController) {
|
|
153
156
|
this._webRtcController.setPreferredCodec(newValue);
|
|
154
157
|
}
|
|
@@ -176,7 +179,7 @@ export class PixelStreaming {
|
|
|
176
179
|
*/
|
|
177
180
|
setWebRtcPlayerController(webRtcPlayerController) {
|
|
178
181
|
this._webRtcController = webRtcPlayerController;
|
|
179
|
-
this._webRtcController.setPreferredCodec(this.config.getSettingOption(OptionParameters.PreferredCodec).selected);
|
|
182
|
+
this._webRtcController.setPreferredCodec(this.config.getSettingOption(Config_1.OptionParameters.PreferredCodec).selected);
|
|
180
183
|
this._webRtcController.resizePlayerStyle();
|
|
181
184
|
// connect if auto connect flag is enabled
|
|
182
185
|
this.checkForAutoConnect();
|
|
@@ -185,7 +188,7 @@ export class PixelStreaming {
|
|
|
185
188
|
* Connect to signaling server.
|
|
186
189
|
*/
|
|
187
190
|
connect() {
|
|
188
|
-
this._eventEmitter.dispatchEvent(new StreamPreConnectEvent());
|
|
191
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.StreamPreConnectEvent());
|
|
189
192
|
this._webRtcController.connectToSignallingServer();
|
|
190
193
|
}
|
|
191
194
|
/**
|
|
@@ -193,14 +196,14 @@ export class PixelStreaming {
|
|
|
193
196
|
* before establishing a new connection
|
|
194
197
|
*/
|
|
195
198
|
reconnect() {
|
|
196
|
-
this._eventEmitter.dispatchEvent(new StreamReconnectEvent());
|
|
199
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.StreamReconnectEvent());
|
|
197
200
|
this._webRtcController.tryReconnect('Reconnecting...');
|
|
198
201
|
}
|
|
199
202
|
/**
|
|
200
203
|
* Disconnect from the signaling server and close open peer connections.
|
|
201
204
|
*/
|
|
202
205
|
disconnect() {
|
|
203
|
-
this._eventEmitter.dispatchEvent(new StreamPreDisconnectEvent());
|
|
206
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.StreamPreDisconnectEvent());
|
|
204
207
|
this._webRtcController.close();
|
|
205
208
|
}
|
|
206
209
|
/**
|
|
@@ -215,7 +218,7 @@ export class PixelStreaming {
|
|
|
215
218
|
*/
|
|
216
219
|
checkForAutoConnect() {
|
|
217
220
|
// set up if the auto play will be used or regular click to start
|
|
218
|
-
if (this.config.isFlagEnabled(Flags.AutoConnect)) {
|
|
221
|
+
if (this.config.isFlagEnabled(Config_2.Flags.AutoConnect)) {
|
|
219
222
|
// if autoplaying show an info overlay while while waiting for the connection to begin
|
|
220
223
|
this._onWebRtcAutoConnect();
|
|
221
224
|
this._webRtcController.connectToSignallingServer();
|
|
@@ -242,7 +245,7 @@ export class PixelStreaming {
|
|
|
242
245
|
return;
|
|
243
246
|
}
|
|
244
247
|
// If we prefer not to force a reconnection, just warn the user that this operation didn't happen
|
|
245
|
-
Logger.Warning('Trying to unmute mic, but PixelStreaming was initialized with no microphone track. Call with forceEnable == true to re-connect with a mic track.');
|
|
248
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Warning('Trying to unmute mic, but PixelStreaming was initialized with no microphone track. Call with forceEnable == true to re-connect with a mic track.');
|
|
246
249
|
}
|
|
247
250
|
muteMicrophone() {
|
|
248
251
|
if (this.config.isFlagEnabled('UseMic')) {
|
|
@@ -250,12 +253,12 @@ export class PixelStreaming {
|
|
|
250
253
|
return;
|
|
251
254
|
}
|
|
252
255
|
// If there wasn't a mic track, just let user know there's nothing to mute
|
|
253
|
-
Logger.Info('Trying to mute mic, but PixelStreaming has no microphone track, so sending sound is already disabled.');
|
|
256
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Trying to mute mic, but PixelStreaming has no microphone track, so sending sound is already disabled.');
|
|
254
257
|
}
|
|
255
258
|
setMicrophoneMuted(mute) {
|
|
256
259
|
var _a, _b, _c, _d;
|
|
257
260
|
for (const transceiver of (_d = (_c = (_b = (_a = this._webRtcController) === null || _a === void 0 ? void 0 : _a.peerConnectionController) === null || _b === void 0 ? void 0 : _b.peerConnection) === null || _c === void 0 ? void 0 : _c.getTransceivers()) !== null && _d !== void 0 ? _d : []) {
|
|
258
|
-
if (RTCUtils.canTransceiverSendAudio(transceiver)) {
|
|
261
|
+
if (RTCUtils_1.RTCUtils.canTransceiverSendAudio(transceiver)) {
|
|
259
262
|
transceiver.sender.track.enabled = !mute;
|
|
260
263
|
}
|
|
261
264
|
}
|
|
@@ -281,7 +284,7 @@ export class PixelStreaming {
|
|
|
281
284
|
return;
|
|
282
285
|
}
|
|
283
286
|
// If we prefer not to force a reconnection, just warn the user that this operation didn't happen
|
|
284
|
-
Logger.Warning('Trying to unmute video, but PixelStreaming was initialized with no video track. Call with forceEnable == true to re-connect with a video track.');
|
|
287
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Warning('Trying to unmute video, but PixelStreaming was initialized with no video track. Call with forceEnable == true to re-connect with a video track.');
|
|
285
288
|
}
|
|
286
289
|
muteCamera() {
|
|
287
290
|
if (this.config.isFlagEnabled('UseCamera')) {
|
|
@@ -289,12 +292,12 @@ export class PixelStreaming {
|
|
|
289
292
|
return;
|
|
290
293
|
}
|
|
291
294
|
// If there wasn't a mic track, just let user know there's nothing to mute
|
|
292
|
-
Logger.Info('Trying to mute camera, but PixelStreaming has no video track, so sending video is already disabled.');
|
|
295
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Trying to mute camera, but PixelStreaming has no video track, so sending video is already disabled.');
|
|
293
296
|
}
|
|
294
297
|
setCameraMuted(mute) {
|
|
295
298
|
var _a, _b, _c, _d;
|
|
296
299
|
for (const transceiver of (_d = (_c = (_b = (_a = this._webRtcController) === null || _a === void 0 ? void 0 : _a.peerConnectionController) === null || _b === void 0 ? void 0 : _b.peerConnection) === null || _c === void 0 ? void 0 : _c.getTransceivers()) !== null && _d !== void 0 ? _d : []) {
|
|
297
|
-
if (RTCUtils.canTransceiverSendVideo(transceiver)) {
|
|
300
|
+
if (RTCUtils_1.RTCUtils.canTransceiverSendVideo(transceiver)) {
|
|
298
301
|
transceiver.sender.track.enabled = !mute;
|
|
299
302
|
}
|
|
300
303
|
}
|
|
@@ -303,19 +306,19 @@ export class PixelStreaming {
|
|
|
303
306
|
* Emit an event on auto connecting
|
|
304
307
|
*/
|
|
305
308
|
_onWebRtcAutoConnect() {
|
|
306
|
-
this._eventEmitter.dispatchEvent(new WebRtcAutoConnectEvent());
|
|
309
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.WebRtcAutoConnectEvent());
|
|
307
310
|
}
|
|
308
311
|
/**
|
|
309
312
|
* Set up functionality to happen when receiving a webRTC answer
|
|
310
313
|
*/
|
|
311
314
|
_onWebRtcSdp() {
|
|
312
|
-
this._eventEmitter.dispatchEvent(new WebRtcSdpEvent());
|
|
315
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.WebRtcSdpEvent());
|
|
313
316
|
}
|
|
314
317
|
/**
|
|
315
318
|
* Emits a StreamLoading event
|
|
316
319
|
*/
|
|
317
320
|
_onStreamLoading() {
|
|
318
|
-
this._eventEmitter.dispatchEvent(new StreamLoadingEvent());
|
|
321
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.StreamLoadingEvent());
|
|
319
322
|
}
|
|
320
323
|
/**
|
|
321
324
|
* Event fired when the video is disconnected - emits given eventString or an override
|
|
@@ -324,7 +327,7 @@ export class PixelStreaming {
|
|
|
324
327
|
* @param allowClickToReconnect - true if we want to allow the user to retry the connection with a click
|
|
325
328
|
*/
|
|
326
329
|
_onDisconnect(eventString, allowClickToReconnect) {
|
|
327
|
-
this._eventEmitter.dispatchEvent(new WebRtcDisconnectedEvent({
|
|
330
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.WebRtcDisconnectedEvent({
|
|
328
331
|
eventString: eventString,
|
|
329
332
|
allowClickToReconnect: allowClickToReconnect
|
|
330
333
|
}));
|
|
@@ -333,25 +336,25 @@ export class PixelStreaming {
|
|
|
333
336
|
* Handles when Web Rtc is connecting
|
|
334
337
|
*/
|
|
335
338
|
_onWebRtcConnecting() {
|
|
336
|
-
this._eventEmitter.dispatchEvent(new WebRtcConnectingEvent());
|
|
339
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.WebRtcConnectingEvent());
|
|
337
340
|
}
|
|
338
341
|
/**
|
|
339
342
|
* Handles when Web Rtc has connected
|
|
340
343
|
*/
|
|
341
344
|
_onWebRtcConnected() {
|
|
342
|
-
this._eventEmitter.dispatchEvent(new WebRtcConnectedEvent());
|
|
345
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.WebRtcConnectedEvent());
|
|
343
346
|
}
|
|
344
347
|
/**
|
|
345
348
|
* Handles when Web Rtc fails to connect
|
|
346
349
|
*/
|
|
347
350
|
_onWebRtcFailed() {
|
|
348
|
-
this._eventEmitter.dispatchEvent(new WebRtcFailedEvent());
|
|
351
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.WebRtcFailedEvent());
|
|
349
352
|
}
|
|
350
353
|
/**
|
|
351
354
|
* Handle when the Video has been Initialized
|
|
352
355
|
*/
|
|
353
356
|
_onVideoInitialized() {
|
|
354
|
-
this._eventEmitter.dispatchEvent(new VideoInitializedEvent());
|
|
357
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.VideoInitializedEvent());
|
|
355
358
|
this._videoStartTime = Date.now();
|
|
356
359
|
}
|
|
357
360
|
/**
|
|
@@ -359,10 +362,10 @@ export class PixelStreaming {
|
|
|
359
362
|
* @param latency - latency test results object
|
|
360
363
|
*/
|
|
361
364
|
_onLatencyTestResult(latencyTimings) {
|
|
362
|
-
this._eventEmitter.dispatchEvent(new LatencyTestResultEvent({ latencyTimings }));
|
|
365
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.LatencyTestResultEvent({ latencyTimings }));
|
|
363
366
|
}
|
|
364
367
|
_onDataChannelLatencyTestResponse(response) {
|
|
365
|
-
this._eventEmitter.dispatchEvent(new DataChannelLatencyTestResponseEvent({ response }));
|
|
368
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.DataChannelLatencyTestResponseEvent({ response }));
|
|
366
369
|
}
|
|
367
370
|
/**
|
|
368
371
|
* Set up functionality to happen when receiving video statistics
|
|
@@ -374,14 +377,14 @@ export class PixelStreaming {
|
|
|
374
377
|
this._videoStartTime = Date.now();
|
|
375
378
|
}
|
|
376
379
|
videoStats.handleSessionStatistics(this._videoStartTime, this._inputController, this._webRtcController.videoAvgQp);
|
|
377
|
-
this._eventEmitter.dispatchEvent(new StatsReceivedEvent({ aggregatedStats: videoStats }));
|
|
380
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.StatsReceivedEvent({ aggregatedStats: videoStats }));
|
|
378
381
|
}
|
|
379
382
|
/**
|
|
380
383
|
* Set up functionality to happen when calculating the average video encoder qp
|
|
381
384
|
* @param QP - the quality number of the stream
|
|
382
385
|
*/
|
|
383
386
|
_onVideoEncoderAvgQP(QP) {
|
|
384
|
-
this._eventEmitter.dispatchEvent(new VideoEncoderAvgQPEvent({ avgQP: QP }));
|
|
387
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.VideoEncoderAvgQPEvent({ avgQP: QP }));
|
|
385
388
|
}
|
|
386
389
|
/**
|
|
387
390
|
* Set up functionality to happen when receiving and handling initial settings for the UE app
|
|
@@ -389,61 +392,61 @@ export class PixelStreaming {
|
|
|
389
392
|
*/
|
|
390
393
|
_onInitialSettings(settings) {
|
|
391
394
|
var _a;
|
|
392
|
-
this._eventEmitter.dispatchEvent(new InitialSettingsEvent({ settings }));
|
|
395
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.InitialSettingsEvent({ settings }));
|
|
393
396
|
if (settings.PixelStreamingSettings) {
|
|
394
397
|
this.allowConsoleCommands = (_a = settings.PixelStreamingSettings.AllowPixelStreamingCommands) !== null && _a !== void 0 ? _a : false;
|
|
395
398
|
if (this.allowConsoleCommands === false) {
|
|
396
|
-
Logger.Info('-AllowPixelStreamingCommands=false, sending arbitrary console commands from browser to UE is disabled.');
|
|
399
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('-AllowPixelStreamingCommands=false, sending arbitrary console commands from browser to UE is disabled.');
|
|
397
400
|
}
|
|
398
401
|
}
|
|
399
402
|
const useUrlParams = this.config.useUrlParams;
|
|
400
|
-
const urlParams = new IURLSearchParams(window.location.search);
|
|
401
|
-
Logger.Info(`using URL parameters ${useUrlParams}`);
|
|
403
|
+
const urlParams = new IURLSearchParams_1.IURLSearchParams(window.location.search);
|
|
404
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`using URL parameters ${useUrlParams}`);
|
|
402
405
|
if (settings.EncoderSettings) {
|
|
403
406
|
// here we should either get Min/MaxQP from PS1
|
|
404
407
|
// or Min/MaxQuality from PS2
|
|
405
408
|
// we only want to set one set or the other as they converge in CompatQualityMin/Max and
|
|
406
409
|
// we dont want to have them conflict with default values.
|
|
407
410
|
if (settings.EncoderSettings.MinQP) {
|
|
408
|
-
this.config.setNumericSetting(NumericParameters.MinQP,
|
|
411
|
+
this.config.setNumericSetting(Config_2.NumericParameters.MinQP,
|
|
409
412
|
// If a setting is set in the URL, make sure we respect that value as opposed to what the application sends us
|
|
410
|
-
useUrlParams && urlParams.has(NumericParameters.MinQP)
|
|
411
|
-
? Number.parseFloat(urlParams.get(NumericParameters.MinQP))
|
|
413
|
+
useUrlParams && urlParams.has(Config_2.NumericParameters.MinQP)
|
|
414
|
+
? Number.parseFloat(urlParams.get(Config_2.NumericParameters.MinQP))
|
|
412
415
|
: settings.EncoderSettings.MinQP || 0);
|
|
413
|
-
this.config.setNumericSetting(NumericParameters.MaxQP, useUrlParams && urlParams.has(NumericParameters.MaxQP)
|
|
414
|
-
? Number.parseFloat(urlParams.get(NumericParameters.MaxQP))
|
|
416
|
+
this.config.setNumericSetting(Config_2.NumericParameters.MaxQP, useUrlParams && urlParams.has(Config_2.NumericParameters.MaxQP)
|
|
417
|
+
? Number.parseFloat(urlParams.get(Config_2.NumericParameters.MaxQP))
|
|
415
418
|
: settings.EncoderSettings.MaxQP || 51);
|
|
416
419
|
}
|
|
417
420
|
if (settings.EncoderSettings.MinQuality) {
|
|
418
|
-
this.config.setNumericSetting(NumericParameters.MinQuality,
|
|
421
|
+
this.config.setNumericSetting(Config_2.NumericParameters.MinQuality,
|
|
419
422
|
// If a setting is set in the URL, make sure we respect that value as opposed to what the application sends us
|
|
420
|
-
useUrlParams && urlParams.has(NumericParameters.MinQuality)
|
|
421
|
-
? Number.parseFloat(urlParams.get(NumericParameters.MinQuality))
|
|
423
|
+
useUrlParams && urlParams.has(Config_2.NumericParameters.MinQuality)
|
|
424
|
+
? Number.parseFloat(urlParams.get(Config_2.NumericParameters.MinQuality))
|
|
422
425
|
: settings.EncoderSettings.MinQuality || 0);
|
|
423
|
-
this.config.setNumericSetting(NumericParameters.MaxQuality, useUrlParams && urlParams.has(NumericParameters.MaxQuality)
|
|
424
|
-
? Number.parseFloat(urlParams.get(NumericParameters.MaxQuality))
|
|
426
|
+
this.config.setNumericSetting(Config_2.NumericParameters.MaxQuality, useUrlParams && urlParams.has(Config_2.NumericParameters.MaxQuality)
|
|
427
|
+
? Number.parseFloat(urlParams.get(Config_2.NumericParameters.MaxQuality))
|
|
425
428
|
: settings.EncoderSettings.MaxQuality || 100);
|
|
426
429
|
}
|
|
427
430
|
// these two are just used to converge quality and qp and behave slightly differently since they
|
|
428
431
|
// shouldnt exist in EncoderSettings
|
|
429
432
|
if (useUrlParams) {
|
|
430
|
-
if (urlParams.has(NumericParameters.CompatQualityMin)) {
|
|
431
|
-
this.config.setNumericSetting(NumericParameters.CompatQualityMin, Number.parseFloat(urlParams.get(NumericParameters.CompatQualityMin)));
|
|
433
|
+
if (urlParams.has(Config_2.NumericParameters.CompatQualityMin)) {
|
|
434
|
+
this.config.setNumericSetting(Config_2.NumericParameters.CompatQualityMin, Number.parseFloat(urlParams.get(Config_2.NumericParameters.CompatQualityMin)));
|
|
432
435
|
}
|
|
433
|
-
if (urlParams.has(NumericParameters.CompatQualityMax)) {
|
|
434
|
-
this.config.setNumericSetting(NumericParameters.CompatQualityMax, Number.parseFloat(urlParams.get(NumericParameters.CompatQualityMax)));
|
|
436
|
+
if (urlParams.has(Config_2.NumericParameters.CompatQualityMax)) {
|
|
437
|
+
this.config.setNumericSetting(Config_2.NumericParameters.CompatQualityMax, Number.parseFloat(urlParams.get(Config_2.NumericParameters.CompatQualityMax)));
|
|
435
438
|
}
|
|
436
439
|
}
|
|
437
440
|
}
|
|
438
441
|
if (settings.WebRTCSettings) {
|
|
439
|
-
this.config.setNumericSetting(NumericParameters.WebRTCMinBitrate, useUrlParams && urlParams.has(NumericParameters.WebRTCMinBitrate)
|
|
440
|
-
? Number.parseFloat(urlParams.get(NumericParameters.WebRTCMinBitrate))
|
|
442
|
+
this.config.setNumericSetting(Config_2.NumericParameters.WebRTCMinBitrate, useUrlParams && urlParams.has(Config_2.NumericParameters.WebRTCMinBitrate)
|
|
443
|
+
? Number.parseFloat(urlParams.get(Config_2.NumericParameters.WebRTCMinBitrate))
|
|
441
444
|
: settings.WebRTCSettings.MinBitrate / 1000 /* bps to kbps */);
|
|
442
|
-
this.config.setNumericSetting(NumericParameters.WebRTCMaxBitrate, useUrlParams && urlParams.has(NumericParameters.WebRTCMaxBitrate)
|
|
443
|
-
? Number.parseFloat(urlParams.get(NumericParameters.WebRTCMaxBitrate))
|
|
445
|
+
this.config.setNumericSetting(Config_2.NumericParameters.WebRTCMaxBitrate, useUrlParams && urlParams.has(Config_2.NumericParameters.WebRTCMaxBitrate)
|
|
446
|
+
? Number.parseFloat(urlParams.get(Config_2.NumericParameters.WebRTCMaxBitrate))
|
|
444
447
|
: settings.WebRTCSettings.MaxBitrate / 1000 /* bps to kbps */);
|
|
445
|
-
this.config.setNumericSetting(NumericParameters.WebRTCFPS, useUrlParams && urlParams.has(NumericParameters.WebRTCFPS)
|
|
446
|
-
? Number.parseFloat(urlParams.get(NumericParameters.WebRTCFPS))
|
|
448
|
+
this.config.setNumericSetting(Config_2.NumericParameters.WebRTCFPS, useUrlParams && urlParams.has(Config_2.NumericParameters.WebRTCFPS)
|
|
449
|
+
? Number.parseFloat(urlParams.get(Config_2.NumericParameters.WebRTCFPS))
|
|
447
450
|
: settings.WebRTCSettings.FPS);
|
|
448
451
|
}
|
|
449
452
|
}
|
|
@@ -452,10 +455,10 @@ export class PixelStreaming {
|
|
|
452
455
|
* @param hasQualityOwnership - does this user have quality ownership of the stream true / false
|
|
453
456
|
*/
|
|
454
457
|
_onQualityControlOwnership(hasQualityOwnership) {
|
|
455
|
-
this.config.setFlagEnabled(Flags.IsQualityController, hasQualityOwnership);
|
|
458
|
+
this.config.setFlagEnabled(Config_2.Flags.IsQualityController, hasQualityOwnership);
|
|
456
459
|
}
|
|
457
460
|
_onPlayerCount(playerCount) {
|
|
458
|
-
this._eventEmitter.dispatchEvent(new PlayerCountEvent({ count: playerCount }));
|
|
461
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.PlayerCountEvent({ count: playerCount }));
|
|
459
462
|
}
|
|
460
463
|
// Sets up to emit the webrtc tcp relay detect event
|
|
461
464
|
_setupWebRtcTCPRelayDetection(statsReceivedEvent) {
|
|
@@ -470,7 +473,7 @@ export class PixelStreaming {
|
|
|
470
473
|
localCandidate.candidateType == 'relay' &&
|
|
471
474
|
localCandidate.relayProtocol == 'tcp') {
|
|
472
475
|
// Send the web rtc tcp relay detected event
|
|
473
|
-
this._eventEmitter.dispatchEvent(new WebRtcTCPRelayDetectedEvent());
|
|
476
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.WebRtcTCPRelayDetectedEvent());
|
|
474
477
|
}
|
|
475
478
|
// The check is completed and the stats listen event can be removed
|
|
476
479
|
this._eventEmitter.removeEventListener('statsReceived', this._setupWebRtcTCPRelayDetection);
|
|
@@ -497,8 +500,8 @@ export class PixelStreaming {
|
|
|
497
500
|
return false;
|
|
498
501
|
}
|
|
499
502
|
if (!this._dataChannelLatencyTestController) {
|
|
500
|
-
this._dataChannelLatencyTestController = new DataChannelLatencyTestController(this._webRtcController.sendDataChannelLatencyTest.bind(this._webRtcController), (result) => {
|
|
501
|
-
this._eventEmitter.dispatchEvent(new DataChannelLatencyTestResultEvent({ result }));
|
|
503
|
+
this._dataChannelLatencyTestController = new DataChannelLatencyTestController_1.DataChannelLatencyTestController(this._webRtcController.sendDataChannelLatencyTest.bind(this._webRtcController), (result) => {
|
|
504
|
+
this._eventEmitter.dispatchEvent(new EventEmitter_1.DataChannelLatencyTestResultEvent({ result }));
|
|
502
505
|
});
|
|
503
506
|
this.addEventListener('dataChannelLatencyTestResponse', ({ data: { response } }) => {
|
|
504
507
|
this._dataChannelLatencyTestController.receive(response);
|
|
@@ -639,11 +642,11 @@ export class PixelStreaming {
|
|
|
639
642
|
return this._webXrController;
|
|
640
643
|
}
|
|
641
644
|
registerMessageHandler(name, direction, handler) {
|
|
642
|
-
if (direction === MessageDirection.FromStreamer && typeof handler === 'undefined') {
|
|
643
|
-
Logger.Warning(`Unable to register an undefined handler for ${name}`);
|
|
645
|
+
if (direction === StreamMessageController_1.MessageDirection.FromStreamer && typeof handler === 'undefined') {
|
|
646
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Warning(`Unable to register an undefined handler for ${name}`);
|
|
644
647
|
return;
|
|
645
648
|
}
|
|
646
|
-
if (direction === MessageDirection.ToStreamer && typeof handler === 'undefined') {
|
|
649
|
+
if (direction === StreamMessageController_1.MessageDirection.ToStreamer && typeof handler === 'undefined') {
|
|
647
650
|
this._webRtcController.streamMessageController.registerMessageHandler(direction, name, (data) => this._webRtcController.sendMessageController.sendMessageToStreamer(name, data));
|
|
648
651
|
}
|
|
649
652
|
else {
|
|
@@ -657,4 +660,5 @@ export class PixelStreaming {
|
|
|
657
660
|
return this._webRtcController.isReconnecting;
|
|
658
661
|
}
|
|
659
662
|
}
|
|
663
|
+
exports.PixelStreaming = PixelStreaming;
|
|
660
664
|
//# sourceMappingURL=PixelStreaming.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PixelStreaming.js","sourceRoot":"","sources":["../../../src/PixelStreaming/PixelStreaming.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PixelStreaming.js","sourceRoot":"","sources":["../../../src/PixelStreaming/PixelStreaming.ts"],"names":[],"mappings":"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"}
|