@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.1.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +1 -1
- package/.prettierrc.json +1 -0
- package/dist/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}/AFK/AFKController.d.ts +38 -39
- package/{types → dist/types}/Config/Config.d.ts +220 -219
- package/{types → dist/types}/Config/SettingBase.d.ts +43 -30
- package/{types → dist/types}/Config/SettingFlag.d.ts +24 -33
- package/{types → dist/types}/Config/SettingNumber.d.ts +41 -45
- package/{types → dist/types}/Config/SettingOption.d.ts +41 -43
- package/{types → dist/types}/Config/SettingText.d.ts +21 -29
- package/{types → dist/types}/DataChannel/DataChannelController.d.ts +59 -59
- package/{types → dist/types}/DataChannel/DataChannelLatencyTestController.d.ts +25 -26
- package/{types → dist/types}/DataChannel/DataChannelLatencyTestResults.d.ts +46 -46
- package/{types → dist/types}/DataChannel/DataChannelSender.d.ts +21 -21
- package/{types → dist/types}/DataChannel/InitialSettings.d.ts +44 -44
- package/{types → dist/types}/DataChannel/LatencyTestResults.d.ts +31 -31
- package/{types → dist/types}/FreezeFrame/FreezeFrame.d.ts +36 -36
- package/{types → dist/types}/FreezeFrame/FreezeFrameController.d.ts +37 -37
- package/dist/types/Inputs/GamepadController.d.ts +61 -0
- package/dist/types/Inputs/GamepadTypes.d.ts +15 -0
- package/dist/types/Inputs/IInputController.d.ts +16 -0
- package/{types → dist/types}/Inputs/InputClassesFactory.d.ts +53 -54
- package/dist/types/Inputs/KeyCodes.d.ts +5 -0
- package/dist/types/Inputs/KeyboardController.d.ts +34 -0
- package/{types → dist/types}/Inputs/MouseButtons.d.ts +22 -22
- package/dist/types/Inputs/MouseController.d.ts +40 -0
- package/dist/types/Inputs/MouseControllerHovering.d.ts +26 -0
- package/dist/types/Inputs/MouseControllerLocked.d.ts +31 -0
- package/{types → dist/types}/Inputs/SpecialKeyCodes.d.ts +14 -14
- package/dist/types/Inputs/TouchController.d.ts +28 -0
- package/dist/types/Inputs/TouchControllerFake.d.ts +29 -0
- package/{types → dist/types}/Inputs/XRGamepadController.d.ts +15 -22
- package/{types → dist/types}/PeerConnectionController/AggregatedStats.d.ts +82 -84
- package/{types → dist/types}/PeerConnectionController/CandidatePairStats.d.ts +22 -22
- package/{types → dist/types}/PeerConnectionController/CandidateStat.d.ts +13 -13
- package/{types → dist/types}/PeerConnectionController/CodecStats.d.ts +14 -14
- package/{types → dist/types}/PeerConnectionController/DataChannelStats.d.ts +15 -15
- package/{types → dist/types}/PeerConnectionController/InboundRTPStats.d.ts +141 -141
- package/{types → dist/types}/PeerConnectionController/InboundTrackStats.d.ts +32 -32
- package/{types → dist/types}/PeerConnectionController/OutBoundRTPStats.d.ts +23 -23
- package/{types → dist/types}/PeerConnectionController/PeerConnectionController.d.ts +143 -140
- package/{types → dist/types}/PeerConnectionController/SessionStats.d.ts +8 -8
- package/{types → dist/types}/PeerConnectionController/StreamStats.d.ts +9 -9
- package/{types → dist/types}/PixelStreaming/PixelStreaming.d.ts +271 -259
- package/{types → dist/types}/UI/OnScreenKeyboard.d.ts +30 -30
- package/{types → dist/types}/UeInstanceMessage/ResponseController.d.ts +19 -19
- package/{types → dist/types}/UeInstanceMessage/SendMessageController.d.ts +18 -18
- package/{types → dist/types}/UeInstanceMessage/StreamMessageController.d.ts +29 -29
- package/{types → dist/types}/UeInstanceMessage/ToStreamerMessagesController.d.ts +32 -32
- package/{types → dist/types}/Util/EventEmitter.d.ts +429 -429
- package/{types → dist/types}/Util/FileUtil.d.ts +32 -32
- package/dist/types/Util/IURLSearchParams.d.ts +9 -0
- package/dist/types/Util/InputCoordTranslator.d.ts +29 -0
- package/{types → dist/types}/Util/RTCUtils.d.ts +8 -8
- package/{types → dist/types}/VideoPlayer/StreamController.d.ts +22 -24
- package/{types → dist/types}/VideoPlayer/VideoPlayer.d.ts +78 -78
- package/{types → dist/types}/WebRtcPlayer/WebRtcPlayerController.d.ts +379 -377
- package/{types → dist/types}/WebXR/WebXRController.d.ts +42 -42
- package/{types → dist/types}/pixelstreamingfrontend.d.ts +23 -22
- package/package.json +14 -17
- package/readme.md +9 -1
- package/src/AFK/AFKController.ts +10 -32
- package/src/Config/Config.ts +232 -205
- package/src/Config/SettingBase.ts +61 -2
- package/src/Config/SettingFlag.ts +10 -48
- package/src/Config/SettingNumber.ts +23 -33
- package/src/Config/SettingOption.ts +41 -56
- package/src/Config/SettingText.ts +9 -37
- package/src/DataChannel/DataChannelController.ts +6 -26
- package/src/DataChannel/DataChannelLatencyTestController.ts +43 -38
- package/src/DataChannel/DataChannelLatencyTestResults.ts +8 -10
- package/src/DataChannel/DataChannelSender.ts +5 -15
- package/src/DataChannel/LatencyTestResults.ts +5 -15
- package/src/FreezeFrame/FreezeFrame.ts +7 -19
- package/src/FreezeFrame/FreezeFrameController.ts +3 -14
- package/src/Inputs/GamepadController.ts +123 -221
- package/src/Inputs/GamepadTypes.ts +23 -0
- package/src/Inputs/IInputController.ts +17 -0
- package/src/Inputs/InputClassesFactory.ts +38 -45
- package/src/Inputs/KeyCodes.ts +114 -0
- package/src/Inputs/KeyboardController.ts +49 -232
- package/src/Inputs/MouseController.ts +71 -297
- package/src/Inputs/MouseControllerHovering.ts +118 -0
- package/src/Inputs/MouseControllerLocked.ts +194 -0
- package/src/Inputs/TouchController.ts +49 -105
- package/src/Inputs/TouchControllerFake.ts +132 -0
- package/src/Inputs/XRGamepadController.ts +35 -44
- package/src/PeerConnectionController/AggregatedStats.ts +46 -75
- package/src/PeerConnectionController/CandidatePairStats.ts +1 -1
- package/src/PeerConnectionController/CandidateStat.ts +1 -1
- package/src/PeerConnectionController/PeerConnectionController.ts +214 -170
- package/src/PixelStreaming/PixelStreaming.ts +174 -226
- package/src/UI/OnScreenKeyboard.ts +14 -9
- package/src/UeInstanceMessage/ResponseController.ts +6 -15
- package/src/UeInstanceMessage/SendMessageController.ts +16 -18
- package/src/UeInstanceMessage/StreamMessageController.ts +3 -12
- package/src/UeInstanceMessage/ToStreamerMessagesController.ts +3 -9
- package/src/Util/EventEmitter.ts +17 -22
- package/src/Util/FileUtil.ts +11 -34
- package/src/Util/IURLSearchParams.ts +25 -0
- package/src/Util/InputCoordTranslator.ts +73 -0
- package/src/Util/RTCUtils.ts +23 -15
- package/src/VideoPlayer/StreamController.ts +6 -23
- package/src/VideoPlayer/VideoPlayer.ts +9 -30
- package/src/WebRtcPlayer/WebRtcPlayerController.ts +328 -690
- package/src/WebXR/WebXRController.ts +82 -94
- package/src/pixelstreamingfrontend.ts +8 -6
- 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/src/Inputs/FakeTouchController.ts +0 -199
- package/src/Inputs/HoveringMouseEvents.ts +0 -192
- package/src/Inputs/IMouseEvents.ts +0 -64
- package/src/Inputs/ITouchController.ts +0 -29
- package/src/Inputs/LockedMouseEvents.ts +0 -287
- package/src/Util/CoordinateConverter.ts +0 -290
- package/src/Util/EventListenerTracker.ts +0 -29
- package/types/Inputs/FakeTouchController.d.ts +0 -61
- package/types/Inputs/GamepadController.d.ts +0 -85
- package/types/Inputs/GamepadTypes.d.ts +0 -8
- package/types/Inputs/HoveringMouseEvents.d.ts +0 -56
- package/types/Inputs/IMouseEvents.d.ts +0 -53
- package/types/Inputs/ITouchController.d.ts +0 -24
- package/types/Inputs/KeyboardController.d.ts +0 -62
- package/types/Inputs/LockedMouseEvents.d.ts +0 -80
- package/types/Inputs/MouseController.d.ts +0 -75
- package/types/Inputs/TouchController.d.ts +0 -53
- package/types/Util/CoordinateConverter.d.ts +0 -100
- package/types/Util/EventListenerTracker.d.ts +0 -14
- package/webpack.common.js +0 -35
- package/webpack.dev.js +0 -35
- package/webpack.prod.js +0 -36
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
InboundRTPStats,
|
|
5
|
-
InboundVideoStats,
|
|
6
|
-
InboundAudioStats
|
|
7
|
-
} from './InboundRTPStats';
|
|
3
|
+
import { InboundRTPStats, InboundVideoStats, InboundAudioStats } from './InboundRTPStats';
|
|
8
4
|
import { InboundTrackStats } from './InboundTrackStats';
|
|
9
5
|
import { DataChannelStats } from './DataChannelStats';
|
|
10
6
|
import { CandidateStat } from './CandidateStat';
|
|
@@ -19,12 +15,10 @@ import { Logger } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
|
19
15
|
* The Aggregated Stats that is generated from the RTC Stats Report
|
|
20
16
|
*/
|
|
21
17
|
|
|
22
|
-
type RTCStatsTypePS = RTCStatsType | 'stream' | 'media-playout';
|
|
18
|
+
type RTCStatsTypePS = RTCStatsType | 'stream' | 'media-playout' | 'track';
|
|
23
19
|
export class AggregatedStats {
|
|
24
20
|
inboundVideoStats: InboundVideoStats;
|
|
25
21
|
inboundAudioStats: InboundAudioStats;
|
|
26
|
-
lastVideoStats: InboundVideoStats;
|
|
27
|
-
lastAudioStats: InboundAudioStats;
|
|
28
22
|
candidatePairs: Array<CandidatePairStats>;
|
|
29
23
|
DataChannelStats: DataChannelStats;
|
|
30
24
|
localCandidates: Array<CandidateStat>;
|
|
@@ -32,7 +26,7 @@ export class AggregatedStats {
|
|
|
32
26
|
outBoundVideoStats: OutBoundVideoStats;
|
|
33
27
|
sessionStats: SessionStats;
|
|
34
28
|
streamStats: StreamStats;
|
|
35
|
-
codecs: Map<string,
|
|
29
|
+
codecs: Map<string, CodecStats>;
|
|
36
30
|
transportStats: RTCTransportStats;
|
|
37
31
|
|
|
38
32
|
constructor() {
|
|
@@ -42,7 +36,7 @@ export class AggregatedStats {
|
|
|
42
36
|
this.outBoundVideoStats = new OutBoundVideoStats();
|
|
43
37
|
this.sessionStats = new SessionStats();
|
|
44
38
|
this.streamStats = new StreamStats();
|
|
45
|
-
this.codecs = new Map<string,
|
|
39
|
+
this.codecs = new Map<string, CodecStats>();
|
|
46
40
|
}
|
|
47
41
|
|
|
48
42
|
/**
|
|
@@ -101,8 +95,8 @@ export class AggregatedStats {
|
|
|
101
95
|
this.handleStream(stat);
|
|
102
96
|
break;
|
|
103
97
|
default:
|
|
104
|
-
Logger.Error(
|
|
105
|
-
Logger.
|
|
98
|
+
Logger.Error('unhandled Stat Type');
|
|
99
|
+
Logger.Info(stat);
|
|
106
100
|
break;
|
|
107
101
|
}
|
|
108
102
|
});
|
|
@@ -122,10 +116,8 @@ export class AggregatedStats {
|
|
|
122
116
|
* @param stat - the stats coming in from ice candidates
|
|
123
117
|
*/
|
|
124
118
|
handleCandidatePair(stat: CandidatePairStats) {
|
|
125
|
-
|
|
126
119
|
// Add the candidate pair to the candidate pair array
|
|
127
|
-
this.candidatePairs.push(stat)
|
|
128
|
-
|
|
120
|
+
this.candidatePairs.push(stat);
|
|
129
121
|
}
|
|
130
122
|
|
|
131
123
|
/**
|
|
@@ -135,8 +127,7 @@ export class AggregatedStats {
|
|
|
135
127
|
handleDataChannel(stat: DataChannelStats) {
|
|
136
128
|
this.DataChannelStats.bytesReceived = stat.bytesReceived;
|
|
137
129
|
this.DataChannelStats.bytesSent = stat.bytesSent;
|
|
138
|
-
this.DataChannelStats.dataChannelIdentifier =
|
|
139
|
-
stat.dataChannelIdentifier;
|
|
130
|
+
this.DataChannelStats.dataChannelIdentifier = stat.dataChannelIdentifier;
|
|
140
131
|
this.DataChannelStats.id = stat.id;
|
|
141
132
|
this.DataChannelStats.label = stat.label;
|
|
142
133
|
this.DataChannelStats.messagesReceived = stat.messagesReceived;
|
|
@@ -176,7 +167,7 @@ export class AggregatedStats {
|
|
|
176
167
|
RemoteCandidate.id = stat.id;
|
|
177
168
|
RemoteCandidate.candidateType = stat.candidateType;
|
|
178
169
|
RemoteCandidate.relayProtocol = stat.relayProtocol;
|
|
179
|
-
RemoteCandidate.transportId = stat.transportId
|
|
170
|
+
RemoteCandidate.transportId = stat.transportId;
|
|
180
171
|
this.remoteCandidates.push(RemoteCandidate);
|
|
181
172
|
}
|
|
182
173
|
|
|
@@ -187,45 +178,39 @@ export class AggregatedStats {
|
|
|
187
178
|
handleInBoundRTP(stat: InboundRTPStats) {
|
|
188
179
|
switch (stat.kind) {
|
|
189
180
|
case 'video':
|
|
190
|
-
//
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
if (this.lastVideoStats != undefined) {
|
|
181
|
+
// Calculate bitrate between stat updates
|
|
182
|
+
if (
|
|
183
|
+
stat.bytesReceived > this.inboundVideoStats.bytesReceived &&
|
|
184
|
+
stat.timestamp > this.inboundVideoStats.timestamp
|
|
185
|
+
) {
|
|
196
186
|
this.inboundVideoStats.bitrate =
|
|
197
|
-
(8 *
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
);
|
|
187
|
+
(8 * (stat.bytesReceived - this.inboundVideoStats.bytesReceived)) /
|
|
188
|
+
(stat.timestamp - this.inboundVideoStats.timestamp);
|
|
189
|
+
this.inboundVideoStats.bitrate = Math.floor(this.inboundVideoStats.bitrate);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// Copy members from stat into `this.inboundVideoStats`
|
|
193
|
+
for (const key in stat) {
|
|
194
|
+
(this.inboundVideoStats as any)[key] = (stat as any)[key];
|
|
205
195
|
}
|
|
206
|
-
this.lastVideoStats = { ...this.inboundVideoStats };
|
|
207
196
|
break;
|
|
208
197
|
case 'audio':
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
if (this.lastAudioStats != undefined) {
|
|
198
|
+
if (
|
|
199
|
+
stat.bytesReceived > this.inboundAudioStats.bytesReceived &&
|
|
200
|
+
stat.timestamp > this.inboundAudioStats.timestamp
|
|
201
|
+
) {
|
|
215
202
|
this.inboundAudioStats.bitrate =
|
|
216
|
-
(8 *
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
);
|
|
203
|
+
(8 * (stat.bytesReceived - this.inboundAudioStats.bytesReceived)) /
|
|
204
|
+
(stat.timestamp - this.inboundAudioStats.timestamp);
|
|
205
|
+
this.inboundAudioStats.bitrate = Math.floor(this.inboundAudioStats.bitrate);
|
|
206
|
+
}
|
|
207
|
+
// Copy members from stat into `this.inboundAudioStats`
|
|
208
|
+
for (const key in stat) {
|
|
209
|
+
(this.inboundAudioStats as any)[key] = (stat as any)[key];
|
|
224
210
|
}
|
|
225
|
-
this.lastAudioStats = { ...this.inboundAudioStats };
|
|
226
211
|
break;
|
|
227
212
|
default:
|
|
228
|
-
Logger.
|
|
213
|
+
Logger.Error(`Kind should be audio or video, we got ${stat.kind} - that's unsupported.`);
|
|
229
214
|
break;
|
|
230
215
|
}
|
|
231
216
|
}
|
|
@@ -258,10 +243,7 @@ export class AggregatedStats {
|
|
|
258
243
|
*/
|
|
259
244
|
handleTrack(stat: InboundTrackStats) {
|
|
260
245
|
// we only want to extract stats from the video track
|
|
261
|
-
if (
|
|
262
|
-
stat.type === 'track' &&
|
|
263
|
-
(stat.trackIdentifier === 'video_label' || stat.kind === 'video')
|
|
264
|
-
) {
|
|
246
|
+
if (stat.type === 'track' && (stat.trackIdentifier === 'video_label' || stat.kind === 'video')) {
|
|
265
247
|
this.inboundVideoStats.framesDropped = stat.framesDropped;
|
|
266
248
|
this.inboundVideoStats.framesReceived = stat.framesReceived;
|
|
267
249
|
this.inboundVideoStats.frameHeight = stat.frameHeight;
|
|
@@ -269,19 +251,13 @@ export class AggregatedStats {
|
|
|
269
251
|
}
|
|
270
252
|
}
|
|
271
253
|
|
|
272
|
-
handleTransport(stat: RTCTransportStats){
|
|
254
|
+
handleTransport(stat: RTCTransportStats) {
|
|
273
255
|
this.transportStats = stat;
|
|
274
256
|
}
|
|
275
257
|
|
|
276
|
-
|
|
277
258
|
handleCodec(stat: CodecStats) {
|
|
278
259
|
const codecId = stat.id;
|
|
279
|
-
|
|
280
|
-
.replace('video/', '')
|
|
281
|
-
.replace('audio/', '')}${
|
|
282
|
-
stat.sdpFmtpLine ? ` ${stat.sdpFmtpLine}` : ''
|
|
283
|
-
}`;
|
|
284
|
-
this.codecs.set(codecId, codecType);
|
|
260
|
+
this.codecs.set(codecId, stat);
|
|
285
261
|
}
|
|
286
262
|
|
|
287
263
|
handleSessionStatistics(
|
|
@@ -290,17 +266,10 @@ export class AggregatedStats {
|
|
|
290
266
|
videoEncoderAvgQP: number
|
|
291
267
|
) {
|
|
292
268
|
const deltaTime = Date.now() - videoStartTime;
|
|
293
|
-
this.sessionStats.runTime = new Date(deltaTime)
|
|
294
|
-
.toISOString()
|
|
295
|
-
.substr(11, 8)
|
|
296
|
-
.toString();
|
|
269
|
+
this.sessionStats.runTime = new Date(deltaTime).toISOString().substr(11, 8).toString();
|
|
297
270
|
|
|
298
271
|
const controlsStreamInput =
|
|
299
|
-
inputController === null
|
|
300
|
-
? 'Not sent yet'
|
|
301
|
-
: inputController
|
|
302
|
-
? 'true'
|
|
303
|
-
: 'false';
|
|
272
|
+
inputController === null ? 'Not sent yet' : inputController ? 'true' : 'false';
|
|
304
273
|
this.sessionStats.controlsStreamInput = controlsStreamInput;
|
|
305
274
|
|
|
306
275
|
this.sessionStats.videoEncoderAvgQP = videoEncoderAvgQP;
|
|
@@ -319,14 +288,16 @@ export class AggregatedStats {
|
|
|
319
288
|
* @returns The candidate pair that is currently receiving data
|
|
320
289
|
*/
|
|
321
290
|
public getActiveCandidatePair(): CandidatePairStats | null {
|
|
322
|
-
|
|
323
291
|
// Check if the RTCTransport stat is not undefined
|
|
324
|
-
if (this.transportStats){
|
|
292
|
+
if (this.transportStats) {
|
|
325
293
|
// Return the candidate pair that matches the transport candidate pair id
|
|
326
|
-
return this.candidatePairs.find(
|
|
294
|
+
return this.candidatePairs.find(
|
|
295
|
+
(candidatePair) => candidatePair.id === this.transportStats.selectedCandidatePairId,
|
|
296
|
+
null
|
|
297
|
+
);
|
|
327
298
|
}
|
|
328
|
-
|
|
299
|
+
|
|
329
300
|
// Fall back to the selected candidate pair
|
|
330
301
|
return this.candidatePairs.find((candidatePair) => candidatePair.selected, null);
|
|
331
|
-
}
|
|
302
|
+
}
|
|
332
303
|
}
|