@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.2.1 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/AFK/AFKController.js +110 -0
- package/dist/commonjs/AFK/AFKController.js.map +1 -0
- package/dist/commonjs/Config/Config.js +560 -0
- package/dist/commonjs/Config/Config.js.map +1 -0
- package/dist/commonjs/Config/SettingBase.js +99 -0
- package/dist/commonjs/Config/SettingBase.js.map +1 -0
- package/dist/commonjs/Config/SettingFlag.js +50 -0
- package/dist/commonjs/Config/SettingFlag.js.map +1 -0
- package/dist/commonjs/Config/SettingNumber.js +84 -0
- package/dist/commonjs/Config/SettingNumber.js.map +1 -0
- package/dist/commonjs/Config/SettingOption.js +85 -0
- package/dist/commonjs/Config/SettingOption.js.map +1 -0
- package/dist/commonjs/Config/SettingText.js +43 -0
- package/dist/commonjs/Config/SettingText.js.map +1 -0
- package/dist/commonjs/DataChannel/DataChannelController.js +107 -0
- package/dist/commonjs/DataChannel/DataChannelController.js.map +1 -0
- package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js +95 -0
- package/dist/commonjs/DataChannel/DataChannelLatencyTestController.js.map +1 -0
- package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js +19 -0
- package/dist/commonjs/DataChannel/DataChannelLatencyTestResults.js.map +1 -0
- package/dist/commonjs/DataChannel/DataChannelSender.js +44 -0
- package/dist/commonjs/DataChannel/DataChannelSender.js.map +1 -0
- package/dist/commonjs/DataChannel/InitialSettings.js +42 -0
- package/dist/commonjs/DataChannel/InitialSettings.js.map +1 -0
- package/dist/commonjs/DataChannel/LatencyTestResults.js +61 -0
- package/dist/commonjs/DataChannel/LatencyTestResults.js.map +1 -0
- package/dist/commonjs/FreezeFrame/FreezeFrame.js +94 -0
- package/dist/commonjs/FreezeFrame/FreezeFrame.js.map +1 -0
- package/dist/commonjs/FreezeFrame/FreezeFrameController.js +96 -0
- package/dist/commonjs/FreezeFrame/FreezeFrameController.js.map +1 -0
- package/dist/commonjs/Inputs/GamepadController.js +189 -0
- package/dist/commonjs/Inputs/GamepadController.js.map +1 -0
- package/dist/commonjs/Inputs/GamepadTypes.js +22 -0
- package/dist/commonjs/Inputs/GamepadTypes.js.map +1 -0
- package/dist/commonjs/Inputs/IInputController.js +3 -0
- package/dist/commonjs/Inputs/IInputController.js.map +1 -0
- package/dist/commonjs/Inputs/InputClassesFactory.js +97 -0
- package/dist/commonjs/Inputs/InputClassesFactory.js.map +1 -0
- package/dist/commonjs/Inputs/KeyCodes.js +113 -0
- package/dist/commonjs/Inputs/KeyCodes.js.map +1 -0
- package/dist/commonjs/Inputs/KeyboardController.js +138 -0
- package/dist/commonjs/Inputs/KeyboardController.js.map +1 -0
- package/dist/commonjs/Inputs/MouseButtons.js +29 -0
- package/dist/commonjs/Inputs/MouseButtons.js.map +1 -0
- package/dist/commonjs/Inputs/MouseController.js +98 -0
- package/dist/commonjs/Inputs/MouseController.js.map +1 -0
- package/dist/commonjs/Inputs/MouseControllerHovering.js +94 -0
- package/dist/commonjs/Inputs/MouseControllerHovering.js.map +1 -0
- package/dist/commonjs/Inputs/MouseControllerLocked.js +154 -0
- package/dist/commonjs/Inputs/MouseControllerLocked.js.map +1 -0
- package/dist/commonjs/Inputs/SpecialKeyCodes.js +20 -0
- package/dist/commonjs/Inputs/SpecialKeyCodes.js.map +1 -0
- package/dist/commonjs/Inputs/TouchController.js +124 -0
- package/dist/commonjs/Inputs/TouchController.js.map +1 -0
- package/dist/commonjs/Inputs/TouchControllerFake.js +92 -0
- package/dist/commonjs/Inputs/TouchControllerFake.js.map +1 -0
- package/dist/commonjs/Inputs/XRGamepadController.js +125 -0
- package/dist/commonjs/Inputs/XRGamepadController.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/AggregatedStats.js +253 -0
- package/dist/commonjs/PeerConnectionController/AggregatedStats.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/CandidatePairStats.js +11 -0
- package/dist/commonjs/PeerConnectionController/CandidatePairStats.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/CandidateStat.js +11 -0
- package/dist/commonjs/PeerConnectionController/CandidateStat.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/CodecStats.js +11 -0
- package/dist/commonjs/PeerConnectionController/CodecStats.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/DataChannelStats.js +11 -0
- package/dist/commonjs/PeerConnectionController/DataChannelStats.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/InboundRTPStats.js +23 -0
- package/dist/commonjs/PeerConnectionController/InboundRTPStats.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/InboundTrackStats.js +11 -0
- package/dist/commonjs/PeerConnectionController/InboundTrackStats.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js +17 -0
- package/dist/commonjs/PeerConnectionController/OutBoundRTPStats.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/PeerConnectionController.js +585 -0
- package/dist/commonjs/PeerConnectionController/PeerConnectionController.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/SessionStats.js +11 -0
- package/dist/commonjs/PeerConnectionController/SessionStats.js.map +1 -0
- package/dist/commonjs/PeerConnectionController/StreamStats.js +11 -0
- package/dist/commonjs/PeerConnectionController/StreamStats.js.map +1 -0
- package/dist/commonjs/PixelStreaming/PixelStreaming.js +608 -0
- package/dist/commonjs/PixelStreaming/PixelStreaming.js.map +1 -0
- package/dist/commonjs/UI/OnScreenKeyboard.js +83 -0
- package/dist/commonjs/UI/OnScreenKeyboard.js.map +1 -0
- package/dist/commonjs/UeInstanceMessage/ResponseController.js +39 -0
- package/dist/commonjs/UeInstanceMessage/ResponseController.js.map +1 -0
- package/dist/commonjs/UeInstanceMessage/SendMessageController.js +121 -0
- package/dist/commonjs/UeInstanceMessage/SendMessageController.js.map +1 -0
- package/dist/commonjs/UeInstanceMessage/StreamMessageController.js +211 -0
- package/dist/commonjs/UeInstanceMessage/StreamMessageController.js.map +1 -0
- package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js +50 -0
- package/dist/commonjs/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -0
- package/dist/commonjs/Util/EventEmitter.js +387 -0
- package/dist/commonjs/Util/EventEmitter.js.map +1 -0
- package/dist/commonjs/Util/FileUtil.js +109 -0
- package/dist/commonjs/Util/FileUtil.js.map +1 -0
- package/dist/commonjs/Util/IURLSearchParams.js +26 -0
- package/dist/commonjs/Util/IURLSearchParams.js.map +1 -0
- package/dist/commonjs/Util/InputCoordTranslator.js +50 -0
- package/dist/commonjs/Util/InputCoordTranslator.js.map +1 -0
- package/dist/commonjs/Util/RTCUtils.js +41 -0
- package/dist/commonjs/Util/RTCUtils.js.map +1 -0
- package/dist/commonjs/VideoPlayer/StreamController.js +68 -0
- package/dist/commonjs/VideoPlayer/StreamController.js.map +1 -0
- package/dist/commonjs/VideoPlayer/VideoPlayer.js +178 -0
- package/dist/commonjs/VideoPlayer/VideoPlayer.js.map +1 -0
- package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js +1224 -0
- package/dist/commonjs/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
- package/dist/commonjs/WebXR/WebXRController.js +361 -0
- package/dist/commonjs/WebXR/WebXRController.js.map +1 -0
- package/dist/commonjs/pixelstreamingfrontend.js +71 -0
- package/dist/commonjs/pixelstreamingfrontend.js.map +1 -0
- package/dist/esm/AFK/AFKController.js +106 -0
- package/dist/esm/AFK/AFKController.js.map +1 -0
- package/dist/esm/Config/Config.js +552 -0
- package/dist/esm/Config/Config.js.map +1 -0
- package/dist/esm/Config/SettingBase.js +95 -0
- package/dist/esm/Config/SettingBase.js.map +1 -0
- package/dist/esm/Config/SettingFlag.js +46 -0
- package/dist/esm/Config/SettingFlag.js.map +1 -0
- package/dist/esm/Config/SettingNumber.js +80 -0
- package/dist/esm/Config/SettingNumber.js.map +1 -0
- package/dist/esm/Config/SettingOption.js +81 -0
- package/dist/esm/Config/SettingOption.js.map +1 -0
- package/dist/esm/Config/SettingText.js +39 -0
- package/dist/esm/Config/SettingText.js.map +1 -0
- package/dist/esm/DataChannel/DataChannelController.js +103 -0
- package/dist/esm/DataChannel/DataChannelController.js.map +1 -0
- package/dist/esm/DataChannel/DataChannelLatencyTestController.js +91 -0
- package/dist/esm/DataChannel/DataChannelLatencyTestController.js.map +1 -0
- package/dist/esm/DataChannel/DataChannelLatencyTestResults.js +15 -0
- package/dist/esm/DataChannel/DataChannelLatencyTestResults.js.map +1 -0
- package/dist/esm/DataChannel/DataChannelSender.js +40 -0
- package/dist/esm/DataChannel/DataChannelSender.js.map +1 -0
- package/dist/esm/DataChannel/InitialSettings.js +35 -0
- package/dist/esm/DataChannel/InitialSettings.js.map +1 -0
- package/dist/esm/DataChannel/LatencyTestResults.js +57 -0
- package/dist/esm/DataChannel/LatencyTestResults.js.map +1 -0
- package/dist/esm/FreezeFrame/FreezeFrame.js +90 -0
- package/dist/esm/FreezeFrame/FreezeFrame.js.map +1 -0
- package/dist/esm/FreezeFrame/FreezeFrameController.js +92 -0
- package/dist/esm/FreezeFrame/FreezeFrameController.js.map +1 -0
- package/dist/esm/Inputs/GamepadController.js +185 -0
- package/dist/esm/Inputs/GamepadController.js.map +1 -0
- package/dist/esm/Inputs/GamepadTypes.js +18 -0
- package/dist/esm/Inputs/GamepadTypes.js.map +1 -0
- package/dist/esm/Inputs/IInputController.js +2 -0
- package/dist/esm/Inputs/IInputController.js.map +1 -0
- package/dist/esm/Inputs/InputClassesFactory.js +92 -0
- package/dist/esm/Inputs/InputClassesFactory.js.map +1 -0
- package/dist/esm/Inputs/KeyCodes.js +110 -0
- package/dist/esm/Inputs/KeyCodes.js.map +1 -0
- package/dist/esm/Inputs/KeyboardController.js +134 -0
- package/dist/esm/Inputs/KeyboardController.js.map +1 -0
- package/dist/esm/Inputs/MouseButtons.js +24 -0
- package/dist/esm/Inputs/MouseButtons.js.map +1 -0
- package/dist/esm/Inputs/MouseController.js +94 -0
- package/dist/esm/Inputs/MouseController.js.map +1 -0
- package/dist/esm/Inputs/MouseControllerHovering.js +90 -0
- package/dist/esm/Inputs/MouseControllerHovering.js.map +1 -0
- package/dist/esm/Inputs/MouseControllerLocked.js +150 -0
- package/dist/esm/Inputs/MouseControllerLocked.js.map +1 -0
- package/dist/esm/Inputs/SpecialKeyCodes.js +16 -0
- package/dist/esm/Inputs/SpecialKeyCodes.js.map +1 -0
- package/dist/esm/Inputs/TouchController.js +120 -0
- package/dist/esm/Inputs/TouchController.js.map +1 -0
- package/dist/esm/Inputs/TouchControllerFake.js +88 -0
- package/dist/esm/Inputs/TouchControllerFake.js.map +1 -0
- package/dist/esm/Inputs/XRGamepadController.js +121 -0
- package/dist/esm/Inputs/XRGamepadController.js.map +1 -0
- package/dist/esm/PeerConnectionController/AggregatedStats.js +249 -0
- package/dist/esm/PeerConnectionController/AggregatedStats.js.map +1 -0
- package/dist/esm/PeerConnectionController/CandidatePairStats.js +7 -0
- package/dist/esm/PeerConnectionController/CandidatePairStats.js.map +1 -0
- package/dist/esm/PeerConnectionController/CandidateStat.js +7 -0
- package/dist/esm/PeerConnectionController/CandidateStat.js.map +1 -0
- package/dist/esm/PeerConnectionController/CodecStats.js +7 -0
- package/dist/esm/PeerConnectionController/CodecStats.js.map +1 -0
- package/dist/esm/PeerConnectionController/DataChannelStats.js +7 -0
- package/dist/esm/PeerConnectionController/DataChannelStats.js.map +1 -0
- package/dist/esm/PeerConnectionController/InboundRTPStats.js +17 -0
- package/dist/esm/PeerConnectionController/InboundRTPStats.js.map +1 -0
- package/dist/esm/PeerConnectionController/InboundTrackStats.js +7 -0
- package/dist/esm/PeerConnectionController/InboundTrackStats.js.map +1 -0
- package/dist/esm/PeerConnectionController/OutBoundRTPStats.js +12 -0
- package/dist/esm/PeerConnectionController/OutBoundRTPStats.js.map +1 -0
- package/dist/esm/PeerConnectionController/PeerConnectionController.js +581 -0
- package/dist/esm/PeerConnectionController/PeerConnectionController.js.map +1 -0
- package/dist/esm/PeerConnectionController/SessionStats.js +7 -0
- package/dist/esm/PeerConnectionController/SessionStats.js.map +1 -0
- package/dist/esm/PeerConnectionController/StreamStats.js +7 -0
- package/dist/esm/PeerConnectionController/StreamStats.js.map +1 -0
- package/dist/esm/PixelStreaming/PixelStreaming.js +604 -0
- package/dist/esm/PixelStreaming/PixelStreaming.js.map +1 -0
- package/dist/esm/UI/OnScreenKeyboard.js +79 -0
- package/dist/esm/UI/OnScreenKeyboard.js.map +1 -0
- package/dist/esm/UeInstanceMessage/ResponseController.js +35 -0
- package/dist/esm/UeInstanceMessage/ResponseController.js.map +1 -0
- package/dist/esm/UeInstanceMessage/SendMessageController.js +117 -0
- package/dist/esm/UeInstanceMessage/SendMessageController.js.map +1 -0
- package/dist/esm/UeInstanceMessage/StreamMessageController.js +206 -0
- package/dist/esm/UeInstanceMessage/StreamMessageController.js.map +1 -0
- package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js +46 -0
- package/dist/esm/UeInstanceMessage/ToStreamerMessagesController.js.map +1 -0
- package/dist/esm/Util/EventEmitter.js +346 -0
- package/dist/esm/Util/EventEmitter.js.map +1 -0
- package/dist/esm/Util/FileUtil.js +104 -0
- package/dist/esm/Util/FileUtil.js.map +1 -0
- package/dist/esm/Util/IURLSearchParams.js +22 -0
- package/dist/esm/Util/IURLSearchParams.js.map +1 -0
- package/dist/esm/Util/InputCoordTranslator.js +46 -0
- package/dist/esm/Util/InputCoordTranslator.js.map +1 -0
- package/dist/esm/Util/RTCUtils.js +37 -0
- package/dist/esm/Util/RTCUtils.js.map +1 -0
- package/dist/esm/VideoPlayer/StreamController.js +64 -0
- package/dist/esm/VideoPlayer/StreamController.js.map +1 -0
- package/dist/esm/VideoPlayer/VideoPlayer.js +174 -0
- package/dist/esm/VideoPlayer/VideoPlayer.js.map +1 -0
- package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js +1220 -0
- package/dist/esm/WebRtcPlayer/WebRtcPlayerController.js.map +1 -0
- package/dist/esm/WebXR/WebXRController.js +357 -0
- package/dist/esm/WebXR/WebXRController.js.map +1 -0
- package/dist/esm/pixelstreamingfrontend.js +25 -0
- package/dist/esm/pixelstreamingfrontend.js.map +1 -0
- package/{types → dist/types}/Config/SettingNumber.d.ts +3 -3
- package/{types → dist/types}/Config/SettingOption.d.ts +8 -1
- package/{types → dist/types}/DataChannel/DataChannelLatencyTestController.d.ts +1 -2
- package/{types → dist/types}/PeerConnectionController/AggregatedStats.d.ts +1 -3
- package/{types → dist/types}/pixelstreamingfrontend.d.ts +2 -1
- package/package.json +45 -49
- package/readme.md +9 -1
- package/src/Config/Config.ts +74 -25
- package/src/Config/SettingNumber.ts +13 -5
- package/src/Config/SettingOption.ts +31 -13
- package/src/DataChannel/DataChannelLatencyTestController.ts +6 -6
- package/src/PeerConnectionController/AggregatedStats.ts +26 -27
- package/src/PeerConnectionController/PeerConnectionController.ts +38 -9
- package/src/WebRtcPlayer/WebRtcPlayerController.ts +1 -1
- package/src/pixelstreamingfrontend.ts +7 -1
- package/tsconfig.cjs.json +9 -0
- package/tsconfig.esm.json +7 -0
- package/tsconfig.json +4 -6
- package/dist/lib-pixelstreamingfrontend.esm.js +0 -1
- package/dist/lib-pixelstreamingfrontend.js +0 -1
- package/webpack.common.js +0 -35
- package/webpack.dev.js +0 -35
- package/webpack.prod.js +0 -36
- /package/{types → dist/types}/AFK/AFKController.d.ts +0 -0
- /package/{types → dist/types}/Config/Config.d.ts +0 -0
- /package/{types → dist/types}/Config/SettingBase.d.ts +0 -0
- /package/{types → dist/types}/Config/SettingFlag.d.ts +0 -0
- /package/{types → dist/types}/Config/SettingText.d.ts +0 -0
- /package/{types → dist/types}/DataChannel/DataChannelController.d.ts +0 -0
- /package/{types → dist/types}/DataChannel/DataChannelLatencyTestResults.d.ts +0 -0
- /package/{types → dist/types}/DataChannel/DataChannelSender.d.ts +0 -0
- /package/{types → dist/types}/DataChannel/InitialSettings.d.ts +0 -0
- /package/{types → dist/types}/DataChannel/LatencyTestResults.d.ts +0 -0
- /package/{types → dist/types}/FreezeFrame/FreezeFrame.d.ts +0 -0
- /package/{types → dist/types}/FreezeFrame/FreezeFrameController.d.ts +0 -0
- /package/{types → dist/types}/Inputs/GamepadController.d.ts +0 -0
- /package/{types → dist/types}/Inputs/GamepadTypes.d.ts +0 -0
- /package/{types → dist/types}/Inputs/IInputController.d.ts +0 -0
- /package/{types → dist/types}/Inputs/InputClassesFactory.d.ts +0 -0
- /package/{types → dist/types}/Inputs/KeyCodes.d.ts +0 -0
- /package/{types → dist/types}/Inputs/KeyboardController.d.ts +0 -0
- /package/{types → dist/types}/Inputs/MouseButtons.d.ts +0 -0
- /package/{types → dist/types}/Inputs/MouseController.d.ts +0 -0
- /package/{types → dist/types}/Inputs/MouseControllerHovering.d.ts +0 -0
- /package/{types → dist/types}/Inputs/MouseControllerLocked.d.ts +0 -0
- /package/{types → dist/types}/Inputs/SpecialKeyCodes.d.ts +0 -0
- /package/{types → dist/types}/Inputs/TouchController.d.ts +0 -0
- /package/{types → dist/types}/Inputs/TouchControllerFake.d.ts +0 -0
- /package/{types → dist/types}/Inputs/XRGamepadController.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/CandidatePairStats.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/CandidateStat.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/CodecStats.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/DataChannelStats.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/InboundRTPStats.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/InboundTrackStats.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/OutBoundRTPStats.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/PeerConnectionController.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/SessionStats.d.ts +0 -0
- /package/{types → dist/types}/PeerConnectionController/StreamStats.d.ts +0 -0
- /package/{types → dist/types}/PixelStreaming/PixelStreaming.d.ts +0 -0
- /package/{types → dist/types}/UI/OnScreenKeyboard.d.ts +0 -0
- /package/{types → dist/types}/UeInstanceMessage/ResponseController.d.ts +0 -0
- /package/{types → dist/types}/UeInstanceMessage/SendMessageController.d.ts +0 -0
- /package/{types → dist/types}/UeInstanceMessage/StreamMessageController.d.ts +0 -0
- /package/{types → dist/types}/UeInstanceMessage/ToStreamerMessagesController.d.ts +0 -0
- /package/{types → dist/types}/Util/EventEmitter.d.ts +0 -0
- /package/{types → dist/types}/Util/FileUtil.d.ts +0 -0
- /package/{types → dist/types}/Util/IURLSearchParams.d.ts +0 -0
- /package/{types → dist/types}/Util/InputCoordTranslator.d.ts +0 -0
- /package/{types → dist/types}/Util/RTCUtils.d.ts +0 -0
- /package/{types → dist/types}/VideoPlayer/StreamController.d.ts +0 -0
- /package/{types → dist/types}/VideoPlayer/VideoPlayer.d.ts +0 -0
- /package/{types → dist/types}/WebRtcPlayer/WebRtcPlayerController.d.ts +0 -0
- /package/{types → dist/types}/WebXR/WebXRController.d.ts +0 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventEmitter = exports.WebRtcTCPRelayDetectedEvent = exports.PlayerCountEvent = exports.XrFrameEvent = exports.XrSessionEndedEvent = exports.XrSessionStartedEvent = exports.SettingsChangedEvent = exports.InitialSettingsEvent = exports.DataChannelLatencyTestResultEvent = exports.DataChannelLatencyTestResponseEvent = exports.LatencyTestResultEvent = exports.StreamerIDChangedMessageEvent = exports.StreamerListMessageEvent = exports.StatsReceivedEvent = exports.HideFreezeFrameEvent = exports.LoadFreezeFrameEvent = exports.PlayStreamRejectedEvent = exports.PlayStreamEvent = exports.PlayStreamErrorEvent = exports.StreamReconnectEvent = exports.StreamPreDisconnectEvent = exports.StreamPreConnectEvent = exports.StreamLoadingEvent = exports.VideoInitializedEvent = exports.DataChannelErrorEvent = exports.DataChannelCloseEvent = exports.DataChannelOpenEvent = exports.WebRtcDisconnectedEvent = exports.WebRtcFailedEvent = exports.WebRtcConnectedEvent = exports.WebRtcConnectingEvent = exports.WebRtcAutoConnectEvent = exports.WebRtcSdpEvent = exports.VideoEncoderAvgQPEvent = exports.AfkTimedOutEvent = exports.AfkWarningDeactivateEvent = exports.AfkWarningUpdateEvent = exports.AfkWarningActivateEvent = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* An event that is emitted when AFK disconnect is about to happen.
|
|
6
|
+
* Can be cancelled by calling the callback function provided as part of the event.
|
|
7
|
+
*/
|
|
8
|
+
class AfkWarningActivateEvent extends Event {
|
|
9
|
+
constructor(data) {
|
|
10
|
+
super('afkWarningActivate');
|
|
11
|
+
this.data = data;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.AfkWarningActivateEvent = AfkWarningActivateEvent;
|
|
15
|
+
/**
|
|
16
|
+
* An event that is emitted when the AFK disconnect countdown is updated.
|
|
17
|
+
*/
|
|
18
|
+
class AfkWarningUpdateEvent extends Event {
|
|
19
|
+
constructor(data) {
|
|
20
|
+
super('afkWarningUpdate');
|
|
21
|
+
this.data = data;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.AfkWarningUpdateEvent = AfkWarningUpdateEvent;
|
|
25
|
+
/**
|
|
26
|
+
* An event that is emitted when AFK warning is deactivated.
|
|
27
|
+
*/
|
|
28
|
+
class AfkWarningDeactivateEvent extends Event {
|
|
29
|
+
constructor() {
|
|
30
|
+
super('afkWarningDeactivate');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.AfkWarningDeactivateEvent = AfkWarningDeactivateEvent;
|
|
34
|
+
/**
|
|
35
|
+
* An event that is emitted when AFK countdown reaches 0 and the user is disconnected.
|
|
36
|
+
*/
|
|
37
|
+
class AfkTimedOutEvent extends Event {
|
|
38
|
+
constructor() {
|
|
39
|
+
super('afkTimedOut');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.AfkTimedOutEvent = AfkTimedOutEvent;
|
|
43
|
+
/**
|
|
44
|
+
* An event that is emitted when we receive new video quality value.
|
|
45
|
+
*/
|
|
46
|
+
class VideoEncoderAvgQPEvent extends Event {
|
|
47
|
+
constructor(data) {
|
|
48
|
+
super('videoEncoderAvgQP');
|
|
49
|
+
this.data = data;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.VideoEncoderAvgQPEvent = VideoEncoderAvgQPEvent;
|
|
53
|
+
/**
|
|
54
|
+
* An event that is emitted after a WebRtc connection has been negotiated.
|
|
55
|
+
*/
|
|
56
|
+
class WebRtcSdpEvent extends Event {
|
|
57
|
+
constructor() {
|
|
58
|
+
super('webRtcSdp');
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.WebRtcSdpEvent = WebRtcSdpEvent;
|
|
62
|
+
/**
|
|
63
|
+
* An event that is emitted when auto connecting.
|
|
64
|
+
*/
|
|
65
|
+
class WebRtcAutoConnectEvent extends Event {
|
|
66
|
+
constructor() {
|
|
67
|
+
super('webRtcAutoConnect');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.WebRtcAutoConnectEvent = WebRtcAutoConnectEvent;
|
|
71
|
+
/**
|
|
72
|
+
* An event that is emitted when sending a WebRtc offer.
|
|
73
|
+
*/
|
|
74
|
+
class WebRtcConnectingEvent extends Event {
|
|
75
|
+
constructor() {
|
|
76
|
+
super('webRtcConnecting');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.WebRtcConnectingEvent = WebRtcConnectingEvent;
|
|
80
|
+
/**
|
|
81
|
+
* An event that is emitted when WebRtc connection has been established.
|
|
82
|
+
*/
|
|
83
|
+
class WebRtcConnectedEvent extends Event {
|
|
84
|
+
constructor() {
|
|
85
|
+
super('webRtcConnected');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.WebRtcConnectedEvent = WebRtcConnectedEvent;
|
|
89
|
+
/**
|
|
90
|
+
* An event that is emitted if WebRtc connection has failed.
|
|
91
|
+
*/
|
|
92
|
+
class WebRtcFailedEvent extends Event {
|
|
93
|
+
constructor() {
|
|
94
|
+
super('webRtcFailed');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.WebRtcFailedEvent = WebRtcFailedEvent;
|
|
98
|
+
/**
|
|
99
|
+
* An event that is emitted if WebRtc connection is disconnected.
|
|
100
|
+
*/
|
|
101
|
+
class WebRtcDisconnectedEvent extends Event {
|
|
102
|
+
constructor(data) {
|
|
103
|
+
super('webRtcDisconnected');
|
|
104
|
+
this.data = data;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.WebRtcDisconnectedEvent = WebRtcDisconnectedEvent;
|
|
108
|
+
/**
|
|
109
|
+
* An event that is emitted when RTCDataChannel is opened.
|
|
110
|
+
*/
|
|
111
|
+
class DataChannelOpenEvent extends Event {
|
|
112
|
+
constructor(data) {
|
|
113
|
+
super('dataChannelOpen');
|
|
114
|
+
this.data = data;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.DataChannelOpenEvent = DataChannelOpenEvent;
|
|
118
|
+
/**
|
|
119
|
+
* An event that is emitted when RTCDataChannel is closed.
|
|
120
|
+
*/
|
|
121
|
+
class DataChannelCloseEvent extends Event {
|
|
122
|
+
constructor(data) {
|
|
123
|
+
super('dataChannelClose');
|
|
124
|
+
this.data = data;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.DataChannelCloseEvent = DataChannelCloseEvent;
|
|
128
|
+
/**
|
|
129
|
+
* An event that is emitted on RTCDataChannel errors.
|
|
130
|
+
*/
|
|
131
|
+
class DataChannelErrorEvent extends Event {
|
|
132
|
+
constructor(data) {
|
|
133
|
+
super('dataChannelError');
|
|
134
|
+
this.data = data;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.DataChannelErrorEvent = DataChannelErrorEvent;
|
|
138
|
+
/**
|
|
139
|
+
* An event that is emitted when the video stream has been initialized.
|
|
140
|
+
*/
|
|
141
|
+
class VideoInitializedEvent extends Event {
|
|
142
|
+
constructor() {
|
|
143
|
+
super('videoInitialized');
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.VideoInitializedEvent = VideoInitializedEvent;
|
|
147
|
+
/**
|
|
148
|
+
* An event that is emitted when video stream loading starts.
|
|
149
|
+
*/
|
|
150
|
+
class StreamLoadingEvent extends Event {
|
|
151
|
+
constructor() {
|
|
152
|
+
super('streamLoading');
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.StreamLoadingEvent = StreamLoadingEvent;
|
|
156
|
+
/**
|
|
157
|
+
* An event that is emitted when video stream loading has finished.
|
|
158
|
+
*/
|
|
159
|
+
class StreamPreConnectEvent extends Event {
|
|
160
|
+
constructor() {
|
|
161
|
+
super('streamConnect');
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
exports.StreamPreConnectEvent = StreamPreConnectEvent;
|
|
165
|
+
/**
|
|
166
|
+
* An event that is emitted when video stream has stopped.
|
|
167
|
+
*/
|
|
168
|
+
class StreamPreDisconnectEvent extends Event {
|
|
169
|
+
constructor() {
|
|
170
|
+
super('streamDisconnect');
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.StreamPreDisconnectEvent = StreamPreDisconnectEvent;
|
|
174
|
+
/**
|
|
175
|
+
* An event that is emitted when video stream is reconnecting.
|
|
176
|
+
*/
|
|
177
|
+
class StreamReconnectEvent extends Event {
|
|
178
|
+
constructor() {
|
|
179
|
+
super('streamReconnect');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.StreamReconnectEvent = StreamReconnectEvent;
|
|
183
|
+
/**
|
|
184
|
+
* An event that is emitted if there are errors loading the video stream.
|
|
185
|
+
*/
|
|
186
|
+
class PlayStreamErrorEvent extends Event {
|
|
187
|
+
constructor(data) {
|
|
188
|
+
super('playStreamError');
|
|
189
|
+
this.data = data;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
exports.PlayStreamErrorEvent = PlayStreamErrorEvent;
|
|
193
|
+
/**
|
|
194
|
+
* An event that is emitted before trying to start video playback.
|
|
195
|
+
*/
|
|
196
|
+
class PlayStreamEvent extends Event {
|
|
197
|
+
constructor() {
|
|
198
|
+
super('playStream');
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.PlayStreamEvent = PlayStreamEvent;
|
|
202
|
+
/**
|
|
203
|
+
* An event that is emitted if the browser rejects video playback. Can happen for example if
|
|
204
|
+
* video auto-play without user interaction is refused by the browser.
|
|
205
|
+
*/
|
|
206
|
+
class PlayStreamRejectedEvent extends Event {
|
|
207
|
+
constructor(data) {
|
|
208
|
+
super('playStreamRejected');
|
|
209
|
+
this.data = data;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
exports.PlayStreamRejectedEvent = PlayStreamRejectedEvent;
|
|
213
|
+
/**
|
|
214
|
+
* An event that is emitted when receiving a full FreezeFrame image from UE.
|
|
215
|
+
*/
|
|
216
|
+
class LoadFreezeFrameEvent extends Event {
|
|
217
|
+
constructor(data) {
|
|
218
|
+
super('loadFreezeFrame');
|
|
219
|
+
this.data = data;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
exports.LoadFreezeFrameEvent = LoadFreezeFrameEvent;
|
|
223
|
+
/**
|
|
224
|
+
* An event that is emitted when receiving UnfreezeFrame message from UE and video playback is about to be resumed.
|
|
225
|
+
*/
|
|
226
|
+
class HideFreezeFrameEvent extends Event {
|
|
227
|
+
constructor() {
|
|
228
|
+
super('hideFreezeFrame');
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
exports.HideFreezeFrameEvent = HideFreezeFrameEvent;
|
|
232
|
+
/**
|
|
233
|
+
* An event that is emitted when receiving WebRTC statistics.
|
|
234
|
+
*/
|
|
235
|
+
class StatsReceivedEvent extends Event {
|
|
236
|
+
constructor(data) {
|
|
237
|
+
super('statsReceived');
|
|
238
|
+
this.data = data;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
exports.StatsReceivedEvent = StatsReceivedEvent;
|
|
242
|
+
/**
|
|
243
|
+
* An event that is emitted when streamer list changes.
|
|
244
|
+
*/
|
|
245
|
+
class StreamerListMessageEvent extends Event {
|
|
246
|
+
constructor(data) {
|
|
247
|
+
super('streamerListMessage');
|
|
248
|
+
this.data = data;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
exports.StreamerListMessageEvent = StreamerListMessageEvent;
|
|
252
|
+
/**
|
|
253
|
+
* An event that is emitted when a subscribed to streamer's id changes.
|
|
254
|
+
*/
|
|
255
|
+
class StreamerIDChangedMessageEvent extends Event {
|
|
256
|
+
constructor(data) {
|
|
257
|
+
super('StreamerIDChangedMessage');
|
|
258
|
+
this.data = data;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
exports.StreamerIDChangedMessageEvent = StreamerIDChangedMessageEvent;
|
|
262
|
+
/**
|
|
263
|
+
* An event that is emitted when receiving latency test results.
|
|
264
|
+
*/
|
|
265
|
+
class LatencyTestResultEvent extends Event {
|
|
266
|
+
constructor(data) {
|
|
267
|
+
super('latencyTestResult');
|
|
268
|
+
this.data = data;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
exports.LatencyTestResultEvent = LatencyTestResultEvent;
|
|
272
|
+
/**
|
|
273
|
+
* An event that is emitted when receiving data channel latency test response from server.
|
|
274
|
+
* This event is handled by DataChannelLatencyTestController
|
|
275
|
+
*/
|
|
276
|
+
class DataChannelLatencyTestResponseEvent extends Event {
|
|
277
|
+
constructor(data) {
|
|
278
|
+
super('dataChannelLatencyTestResponse');
|
|
279
|
+
this.data = data;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
exports.DataChannelLatencyTestResponseEvent = DataChannelLatencyTestResponseEvent;
|
|
283
|
+
/**
|
|
284
|
+
* An event that is emitted when data channel latency test results are ready.
|
|
285
|
+
*/
|
|
286
|
+
class DataChannelLatencyTestResultEvent extends Event {
|
|
287
|
+
constructor(data) {
|
|
288
|
+
super('dataChannelLatencyTestResult');
|
|
289
|
+
this.data = data;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
exports.DataChannelLatencyTestResultEvent = DataChannelLatencyTestResultEvent;
|
|
293
|
+
/**
|
|
294
|
+
* An event that is emitted when receiving initial settings from UE.
|
|
295
|
+
*/
|
|
296
|
+
class InitialSettingsEvent extends Event {
|
|
297
|
+
constructor(data) {
|
|
298
|
+
super('initialSettings');
|
|
299
|
+
this.data = data;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
exports.InitialSettingsEvent = InitialSettingsEvent;
|
|
303
|
+
/**
|
|
304
|
+
* An event that is emitted when PixelStreaming settings change.
|
|
305
|
+
*/
|
|
306
|
+
class SettingsChangedEvent extends Event {
|
|
307
|
+
constructor(data) {
|
|
308
|
+
super('settingsChanged');
|
|
309
|
+
this.data = data;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
exports.SettingsChangedEvent = SettingsChangedEvent;
|
|
313
|
+
/**
|
|
314
|
+
* Event emitted when an XR Session starts
|
|
315
|
+
*/
|
|
316
|
+
class XrSessionStartedEvent extends Event {
|
|
317
|
+
constructor() {
|
|
318
|
+
super('xrSessionStarted');
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
exports.XrSessionStartedEvent = XrSessionStartedEvent;
|
|
322
|
+
/**
|
|
323
|
+
* Event emitted when an XR Session ends
|
|
324
|
+
*/
|
|
325
|
+
class XrSessionEndedEvent extends Event {
|
|
326
|
+
constructor() {
|
|
327
|
+
super('xrSessionEnded');
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
exports.XrSessionEndedEvent = XrSessionEndedEvent;
|
|
331
|
+
/**
|
|
332
|
+
* Event emitted when an XR Frame is complete
|
|
333
|
+
*/
|
|
334
|
+
class XrFrameEvent extends Event {
|
|
335
|
+
constructor(data) {
|
|
336
|
+
super('xrFrame');
|
|
337
|
+
this.data = data;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
exports.XrFrameEvent = XrFrameEvent;
|
|
341
|
+
/**
|
|
342
|
+
* An event that is emitted when receiving a player count from the signalling server
|
|
343
|
+
*/
|
|
344
|
+
class PlayerCountEvent extends Event {
|
|
345
|
+
constructor(data) {
|
|
346
|
+
super('playerCount');
|
|
347
|
+
this.data = data;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
exports.PlayerCountEvent = PlayerCountEvent;
|
|
351
|
+
/**
|
|
352
|
+
* An event that is emitted when the webRTC connections is relayed over TCP.
|
|
353
|
+
*/
|
|
354
|
+
class WebRtcTCPRelayDetectedEvent extends Event {
|
|
355
|
+
constructor() {
|
|
356
|
+
super('webRtcTCPRelayDetected');
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
exports.WebRtcTCPRelayDetectedEvent = WebRtcTCPRelayDetectedEvent;
|
|
360
|
+
class EventEmitter extends EventTarget {
|
|
361
|
+
/**
|
|
362
|
+
* Dispatch a new event.
|
|
363
|
+
* @param e event
|
|
364
|
+
* @returns
|
|
365
|
+
*/
|
|
366
|
+
dispatchEvent(e) {
|
|
367
|
+
return super.dispatchEvent(e);
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Register an event handler.
|
|
371
|
+
* @param type event name
|
|
372
|
+
* @param listener event handler function
|
|
373
|
+
*/
|
|
374
|
+
addEventListener(type, listener) {
|
|
375
|
+
super.addEventListener(type, listener);
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Remove an event handler.
|
|
379
|
+
* @param type event name
|
|
380
|
+
* @param listener event handler function
|
|
381
|
+
*/
|
|
382
|
+
removeEventListener(type, listener) {
|
|
383
|
+
super.removeEventListener(type, listener);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
exports.EventEmitter = EventEmitter;
|
|
387
|
+
//# sourceMappingURL=EventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../src/Util/EventEmitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.FileTemplate = exports.FileUtil = void 0;
|
|
5
|
+
const lib_pixelstreamingcommon_ue5_5_1 = require("@epicgames-ps/lib-pixelstreamingcommon-ue5.5");
|
|
6
|
+
/**
|
|
7
|
+
* Utility function for populate file information from byte buffers.
|
|
8
|
+
*/
|
|
9
|
+
class FileUtil {
|
|
10
|
+
/**
|
|
11
|
+
* Processes a files extension when received over data channel
|
|
12
|
+
* @param view - the file extension data
|
|
13
|
+
*/
|
|
14
|
+
static setExtensionFromBytes(view, file) {
|
|
15
|
+
// Reset file if we got a file message and we are not "receiving" it yet
|
|
16
|
+
if (!file.receiving) {
|
|
17
|
+
file.mimetype = '';
|
|
18
|
+
file.extension = '';
|
|
19
|
+
file.receiving = true;
|
|
20
|
+
file.valid = false;
|
|
21
|
+
file.size = 0;
|
|
22
|
+
file.data = [];
|
|
23
|
+
file.timestampStart = new Date().getTime();
|
|
24
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Received first chunk of file');
|
|
25
|
+
}
|
|
26
|
+
const extensionAsString = new TextDecoder('utf-16').decode(view.slice(1));
|
|
27
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info(extensionAsString);
|
|
28
|
+
file.extension = extensionAsString;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Processes a files mime type when received over data channel
|
|
32
|
+
* @param view - the file mime type data
|
|
33
|
+
*/
|
|
34
|
+
static setMimeTypeFromBytes(view, file) {
|
|
35
|
+
// Reset file if we got a file message and we are not "receiving" it yet
|
|
36
|
+
if (!file.receiving) {
|
|
37
|
+
file.mimetype = '';
|
|
38
|
+
file.extension = '';
|
|
39
|
+
file.receiving = true;
|
|
40
|
+
file.valid = false;
|
|
41
|
+
file.size = 0;
|
|
42
|
+
file.data = [];
|
|
43
|
+
file.timestampStart = new Date().getTime();
|
|
44
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Received first chunk of file');
|
|
45
|
+
}
|
|
46
|
+
const mimeAsString = new TextDecoder('utf-16').decode(view.slice(1));
|
|
47
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info(mimeAsString);
|
|
48
|
+
file.mimetype = mimeAsString;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Processes a files contents when received over data channel
|
|
52
|
+
* @param view - the file contents data
|
|
53
|
+
*/
|
|
54
|
+
static setContentsFromBytes(view, file) {
|
|
55
|
+
// If we haven't received the initial setup instructions, return
|
|
56
|
+
if (!file.receiving)
|
|
57
|
+
return;
|
|
58
|
+
// Extract the total size of the file (across all chunks)
|
|
59
|
+
file.size = Math.ceil(new DataView(view.slice(1, 5).buffer).getInt32(0, true) /
|
|
60
|
+
16379 /* The maximum number of payload bits per message*/);
|
|
61
|
+
// Get the file part of the payload
|
|
62
|
+
const fileBytes = view.slice(1 + 4);
|
|
63
|
+
// Append to existing data that holds the file
|
|
64
|
+
file.data.push(fileBytes);
|
|
65
|
+
// Uncomment for debug
|
|
66
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`Received file chunk: ${file.data.length}/${file.size}`);
|
|
67
|
+
if (file.data.length === file.size) {
|
|
68
|
+
file.receiving = false;
|
|
69
|
+
file.valid = true;
|
|
70
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info('Received complete file');
|
|
71
|
+
const transferDuration = new Date().getTime() - file.timestampStart;
|
|
72
|
+
const transferBitrate = Math.round((file.size * 16 * 1024) / transferDuration);
|
|
73
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Info(`Average transfer bitrate: ${transferBitrate}kb/s over ${transferDuration / 1000} seconds`);
|
|
74
|
+
// File reconstruction
|
|
75
|
+
/**
|
|
76
|
+
* Example code to reconstruct the file
|
|
77
|
+
*
|
|
78
|
+
* This code reconstructs the received data into the original file based on the mime type and extension provided and then downloads the reconstructed file
|
|
79
|
+
*/
|
|
80
|
+
const received = new Blob(file.data, { type: file.mimetype });
|
|
81
|
+
const a = document.createElement('a');
|
|
82
|
+
a.setAttribute('href', URL.createObjectURL(received));
|
|
83
|
+
a.setAttribute('download', `transfer.${file.extension}`);
|
|
84
|
+
document.body.append(a);
|
|
85
|
+
// if you are so inclined to make it auto-download, do something like: a.click();
|
|
86
|
+
a.remove();
|
|
87
|
+
}
|
|
88
|
+
else if (file.data.length > file.size) {
|
|
89
|
+
file.receiving = false;
|
|
90
|
+
lib_pixelstreamingcommon_ue5_5_1.Logger.Error(`Received bigger file than advertised: ${file.data.length}/${file.size}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.FileUtil = FileUtil;
|
|
95
|
+
/**
|
|
96
|
+
* A class that represents a template for a downloaded file
|
|
97
|
+
*/
|
|
98
|
+
class FileTemplate {
|
|
99
|
+
constructor() {
|
|
100
|
+
this.mimetype = '';
|
|
101
|
+
this.extension = '';
|
|
102
|
+
this.receiving = false;
|
|
103
|
+
this.size = 0;
|
|
104
|
+
this.data = [];
|
|
105
|
+
this.valid = false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.FileTemplate = FileTemplate;
|
|
109
|
+
//# sourceMappingURL=FileUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUtil.js","sourceRoot":"","sources":["../../../src/Util/FileUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IURLSearchParams = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A case insensitive, partial implementation of URLSearchParams
|
|
6
|
+
*/
|
|
7
|
+
class IURLSearchParams {
|
|
8
|
+
constructor(search) {
|
|
9
|
+
this._urlParams = {};
|
|
10
|
+
const urlParams = new URLSearchParams(search);
|
|
11
|
+
for (const [name, value] of urlParams) {
|
|
12
|
+
this._urlParams[name.toLowerCase()] = value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
has(name) {
|
|
16
|
+
return name.toLowerCase() in this._urlParams;
|
|
17
|
+
}
|
|
18
|
+
get(name) {
|
|
19
|
+
if (this.has(name)) {
|
|
20
|
+
return this._urlParams[name.toLowerCase()];
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.IURLSearchParams = IURLSearchParams;
|
|
26
|
+
//# sourceMappingURL=IURLSearchParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IURLSearchParams.js","sourceRoot":"","sources":["../../../src/Util/IURLSearchParams.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,gBAAgB;IAGzB,YAAY,MAAc;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;SAC/C;IACL,CAAC;IAEM,GAAG,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;IACjD,CAAC;IAEM,GAAG,CAAC,IAAY;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC9C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AArBD,4CAqBC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.InputCoordTranslator = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Converts coordinates from element relative coordinates to values normalized within the value range of a short (and back again)
|
|
7
|
+
*/
|
|
8
|
+
class InputCoordTranslator {
|
|
9
|
+
// we dont use a constructor here because the object is created and passed around to various locations
|
|
10
|
+
// possibly before this method is called.
|
|
11
|
+
reconfigure(playerSize, videoSize) {
|
|
12
|
+
const playerAspectRatio = playerSize.height / playerSize.width;
|
|
13
|
+
const videoAspectRatio = videoSize.height / videoSize.width;
|
|
14
|
+
this.playerIsLarger = playerAspectRatio > videoAspectRatio;
|
|
15
|
+
this.playerSize = playerSize;
|
|
16
|
+
this.ratio = this.playerIsLarger
|
|
17
|
+
? playerAspectRatio / videoAspectRatio
|
|
18
|
+
: videoAspectRatio / playerAspectRatio;
|
|
19
|
+
}
|
|
20
|
+
translateUnsigned(x, y) {
|
|
21
|
+
const normalizedX = this.playerIsLarger
|
|
22
|
+
? x / this.playerSize.width
|
|
23
|
+
: this.ratio * (x / this.playerSize.width - 0.5) + 0.5;
|
|
24
|
+
const normalizedY = this.playerIsLarger
|
|
25
|
+
? this.ratio * (y / this.playerSize.height - 0.5) + 0.5
|
|
26
|
+
: y / this.playerSize.height;
|
|
27
|
+
if (normalizedX < 0.0 || normalizedX > 1.0 || normalizedY < 0.0 || normalizedY > 1.0) {
|
|
28
|
+
return { inRange: false, x: 65535, y: 65535 };
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return { inRange: true, x: normalizedX * 65536, y: normalizedY * 65536 };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
translateSigned(x, y) {
|
|
35
|
+
const normalizedX = this.playerIsLarger
|
|
36
|
+
? x / (0.5 * this.playerSize.width)
|
|
37
|
+
: (this.ratio * x) / (0.5 * this.playerSize.width);
|
|
38
|
+
const normalizedY = this.playerIsLarger
|
|
39
|
+
? (this.ratio * y) / (0.5 * this.playerSize.height)
|
|
40
|
+
: y / (0.5 * this.playerSize.height);
|
|
41
|
+
return { x: normalizedX * 32767, y: normalizedY * 32767 };
|
|
42
|
+
}
|
|
43
|
+
untranslateUnsigned(x, y) {
|
|
44
|
+
const normalizedX = this.playerIsLarger ? x / 65536 : (x / 65536 - 0.5) / this.ratio + 0.5;
|
|
45
|
+
const normalizedY = this.playerIsLarger ? (y / 65536 - 0.5) / this.ratio + 0.5 : y / 65536;
|
|
46
|
+
return { x: normalizedX * this.playerSize.width, y: normalizedY * this.playerSize.height };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.InputCoordTranslator = InputCoordTranslator;
|
|
50
|
+
//# sourceMappingURL=InputCoordTranslator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputCoordTranslator.js","sourceRoot":"","sources":["../../../src/Util/InputCoordTranslator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RTCUtils = void 0;
|
|
4
|
+
class RTCUtils {
|
|
5
|
+
static isVideoTransceiver(transceiver) {
|
|
6
|
+
return this.canTransceiverReceiveVideo(transceiver) || this.canTransceiverSendVideo(transceiver);
|
|
7
|
+
}
|
|
8
|
+
static canTransceiverReceiveVideo(transceiver) {
|
|
9
|
+
return (!!transceiver &&
|
|
10
|
+
(transceiver.direction === 'sendrecv' || transceiver.direction === 'recvonly') &&
|
|
11
|
+
transceiver.receiver &&
|
|
12
|
+
transceiver.receiver.track &&
|
|
13
|
+
transceiver.receiver.track.kind === 'video');
|
|
14
|
+
}
|
|
15
|
+
static canTransceiverSendVideo(transceiver) {
|
|
16
|
+
return (!!transceiver &&
|
|
17
|
+
(transceiver.direction === 'sendrecv' || transceiver.direction === 'sendonly') &&
|
|
18
|
+
transceiver.sender &&
|
|
19
|
+
transceiver.sender.track &&
|
|
20
|
+
transceiver.sender.track.kind === 'video');
|
|
21
|
+
}
|
|
22
|
+
static isAudioTransceiver(transceiver) {
|
|
23
|
+
return this.canTransceiverReceiveAudio(transceiver) || this.canTransceiverSendAudio(transceiver);
|
|
24
|
+
}
|
|
25
|
+
static canTransceiverReceiveAudio(transceiver) {
|
|
26
|
+
return (!!transceiver &&
|
|
27
|
+
(transceiver.direction === 'sendrecv' || transceiver.direction === 'recvonly') &&
|
|
28
|
+
transceiver.receiver &&
|
|
29
|
+
transceiver.receiver.track &&
|
|
30
|
+
transceiver.receiver.track.kind === 'audio');
|
|
31
|
+
}
|
|
32
|
+
static canTransceiverSendAudio(transceiver) {
|
|
33
|
+
return (!!transceiver &&
|
|
34
|
+
(transceiver.direction === 'sendrecv' || transceiver.direction === 'sendonly') &&
|
|
35
|
+
transceiver.sender &&
|
|
36
|
+
transceiver.sender.track &&
|
|
37
|
+
transceiver.sender.track.kind === 'audio');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.RTCUtils = RTCUtils;
|
|
41
|
+
//# sourceMappingURL=RTCUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RTCUtils.js","sourceRoot":"","sources":["../../../src/Util/RTCUtils.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAQ;IACjB,MAAM,CAAC,kBAAkB,CAAC,WAA0C;QAChE,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,WAA0C;QACxE,OAAO,CACH,CAAC,CAAC,WAAW;YACb,CAAC,WAAW,CAAC,SAAS,KAAK,UAAU,IAAI,WAAW,CAAC,SAAS,KAAK,UAAU,CAAC;YAC9E,WAAW,CAAC,QAAQ;YACpB,WAAW,CAAC,QAAQ,CAAC,KAAK;YAC1B,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAC9C,CAAC;IACN,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,WAA0C;QACrE,OAAO,CACH,CAAC,CAAC,WAAW;YACb,CAAC,WAAW,CAAC,SAAS,KAAK,UAAU,IAAI,WAAW,CAAC,SAAS,KAAK,UAAU,CAAC;YAC9E,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,MAAM,CAAC,KAAK;YACxB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAC5C,CAAC;IACN,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,WAA0C;QAChE,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,WAA0C;QACxE,OAAO,CACH,CAAC,CAAC,WAAW;YACb,CAAC,WAAW,CAAC,SAAS,KAAK,UAAU,IAAI,WAAW,CAAC,SAAS,KAAK,UAAU,CAAC;YAC9E,WAAW,CAAC,QAAQ;YACpB,WAAW,CAAC,QAAQ,CAAC,KAAK;YAC1B,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAC9C,CAAC;IACN,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,WAA0C;QACrE,OAAO,CACH,CAAC,CAAC,WAAW;YACb,CAAC,WAAW,CAAC,SAAS,KAAK,UAAU,IAAI,WAAW,CAAC,SAAS,KAAK,UAAU,CAAC;YAC9E,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,MAAM,CAAC,KAAK;YACxB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAC5C,CAAC;IACN,CAAC;CACJ;AAhDD,4BAgDC"}
|