@3dsource/angular-unreal-module 0.0.133 → 0.0.134
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.
|
@@ -807,9 +807,12 @@ function OnOpenHandler() {
|
|
|
807
807
|
*/
|
|
808
808
|
const keepMaxUntilReset = (reset$) => (source$) => merge(source$, reset$.pipe(map(() => null))).pipe(scan((max, value) => (value === null ? 0 : Math.max(max, value)), 0));
|
|
809
809
|
|
|
810
|
+
// Reused across every inbound data-channel message — instantiating a
|
|
811
|
+
// TextDecoder per call adds needless GC churn on a hot path.
|
|
812
|
+
const utf16Decoder = new TextDecoder('utf-16');
|
|
810
813
|
function decodeData(anyData) {
|
|
811
814
|
try {
|
|
812
|
-
return
|
|
815
|
+
return utf16Decoder.decode(anyData);
|
|
813
816
|
}
|
|
814
817
|
catch {
|
|
815
818
|
return '';
|
|
@@ -874,7 +877,6 @@ class DataFlowMonitor {
|
|
|
874
877
|
},
|
|
875
878
|
isDropDetected: true,
|
|
876
879
|
dropPercentage,
|
|
877
|
-
dataHistory: [...this.dataHistory],
|
|
878
880
|
activeMedian: secondHalfMedian,
|
|
879
881
|
quality: isRedFlag ? 'red' : 'orange',
|
|
880
882
|
message: `Significant flow drop detected: ${dropPercentage.toFixed(2)}% (from ${firstHalfMedian} to ${secondHalfMedian})`,
|
|
@@ -889,7 +891,6 @@ class DataFlowMonitor {
|
|
|
889
891
|
},
|
|
890
892
|
isDropDetected: false,
|
|
891
893
|
dropPercentage,
|
|
892
|
-
dataHistory: [...this.dataHistory],
|
|
893
894
|
activeMedian: secondHalfMedian,
|
|
894
895
|
quality: 'lime',
|
|
895
896
|
message: 'Stable flow',
|
|
@@ -1071,6 +1072,28 @@ function qpToQuality(VideoEncoderQP) {
|
|
|
1071
1072
|
return quality;
|
|
1072
1073
|
}
|
|
1073
1074
|
|
|
1075
|
+
/**
|
|
1076
|
+
* Base64-encodes a byte array.
|
|
1077
|
+
*
|
|
1078
|
+
* Builds the intermediate binary string in fixed-size chunks instead of
|
|
1079
|
+
* concatenating one character at a time. The naive `bytes.reduce((s, b) => s +
|
|
1080
|
+
* String.fromCharCode(b), '')` is O(n²) (each `+` re-copies the growing string)
|
|
1081
|
+
* and stalls the main thread for a full-resolution frame; chunking keeps it
|
|
1082
|
+
* O(n). The chunk size stays under the argument-count limit of
|
|
1083
|
+
* `String.fromCharCode.apply`/spread.
|
|
1084
|
+
*
|
|
1085
|
+
* @param bytes - The raw bytes to encode.
|
|
1086
|
+
* @returns The Base64 representation of `bytes`.
|
|
1087
|
+
*/
|
|
1088
|
+
function uint8ToBase64(bytes) {
|
|
1089
|
+
const CHUNK_SIZE = 0x8000;
|
|
1090
|
+
let binary = '';
|
|
1091
|
+
for (let i = 0; i < bytes.length; i += CHUNK_SIZE) {
|
|
1092
|
+
binary += String.fromCharCode(...bytes.subarray(i, i + CHUNK_SIZE));
|
|
1093
|
+
}
|
|
1094
|
+
return btoa(binary);
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1074
1097
|
function fromResizeObserver(elem) {
|
|
1075
1098
|
return new Observable((subscriber) => {
|
|
1076
1099
|
const observer = new window.ResizeObserver((entries) => subscriber.next(entries));
|
|
@@ -2233,7 +2256,11 @@ class SignallingService extends SubService {
|
|
|
2233
2256
|
dataString = JSON.stringify(data);
|
|
2234
2257
|
}
|
|
2235
2258
|
if (this.ws && this.ws.readyState === WS_OPEN_STATE) {
|
|
2236
|
-
|
|
2259
|
+
// Only parse-for-display when the logger would actually print — avoids a
|
|
2260
|
+
// JSON.parse on every outbound message in production (logger is a no-op).
|
|
2261
|
+
if (Logger.isDevMode) {
|
|
2262
|
+
Logger.colored(...COLOR_CODES.TO_CIRRUS, JSON.parse(dataString));
|
|
2263
|
+
}
|
|
2237
2264
|
try {
|
|
2238
2265
|
this.ws.send(dataString);
|
|
2239
2266
|
}
|
|
@@ -2426,7 +2453,7 @@ class VideoService extends SubService {
|
|
|
2426
2453
|
this.latencyTestTimings.SetUETimings(latencyTimings);
|
|
2427
2454
|
}
|
|
2428
2455
|
setEncoder(data) {
|
|
2429
|
-
this.VideoEncoderQP = Number(
|
|
2456
|
+
this.VideoEncoderQP = Number(decodeData(data));
|
|
2430
2457
|
}
|
|
2431
2458
|
create() {
|
|
2432
2459
|
if (!this.container) {
|
|
@@ -4064,7 +4091,7 @@ class FreezeFrameService extends SubService {
|
|
|
4064
4091
|
if (!this.jpeg) {
|
|
4065
4092
|
return;
|
|
4066
4093
|
}
|
|
4067
|
-
const base64 =
|
|
4094
|
+
const base64 = uint8ToBase64(this.jpeg);
|
|
4068
4095
|
this.freezeFrameOverlay.src = 'data:image/jpeg;base64,' + base64;
|
|
4069
4096
|
this.store.dispatch(setFreezeFrame({
|
|
4070
4097
|
dataUrl: this.freezeFrameOverlay.src,
|
|
@@ -4162,7 +4189,7 @@ class FileReceiverService extends SubService {
|
|
|
4162
4189
|
this.resetOnStart();
|
|
4163
4190
|
}
|
|
4164
4191
|
//Logger.info(extensionAsString);
|
|
4165
|
-
this.extension =
|
|
4192
|
+
this.extension = decodeData(view.slice(1).buffer);
|
|
4166
4193
|
}
|
|
4167
4194
|
/**
|
|
4168
4195
|
* Processes a file mime type when received over data channel
|
|
@@ -4173,7 +4200,7 @@ class FileReceiverService extends SubService {
|
|
|
4173
4200
|
if (!this.receiving) {
|
|
4174
4201
|
this.resetOnStart();
|
|
4175
4202
|
}
|
|
4176
|
-
const mimeAsString =
|
|
4203
|
+
const mimeAsString = decodeData(view.slice(1).buffer);
|
|
4177
4204
|
// Logger.info(mimeAsString);
|
|
4178
4205
|
this.mimetype = mimeAsString;
|
|
4179
4206
|
}
|
|
@@ -4353,8 +4380,10 @@ class AggregatorService extends SubService {
|
|
|
4353
4380
|
break;
|
|
4354
4381
|
}
|
|
4355
4382
|
case ToClientMessage.Command: {
|
|
4356
|
-
|
|
4357
|
-
Logger.
|
|
4383
|
+
// The parsed command is only used for the dev log — skip the work in prod.
|
|
4384
|
+
if (Logger.isDevMode) {
|
|
4385
|
+
Logger.colored(...COLOR_CODES.FROM_UNREAL, JSON.parse(decodeData(anyData)));
|
|
4386
|
+
}
|
|
4358
4387
|
break;
|
|
4359
4388
|
}
|
|
4360
4389
|
case ToClientMessage.FileExtension:
|
|
@@ -4388,10 +4417,14 @@ class AggregatorService extends SubService {
|
|
|
4388
4417
|
break;
|
|
4389
4418
|
}
|
|
4390
4419
|
case ToClientMessage.InitialSettings:
|
|
4391
|
-
Logger.
|
|
4420
|
+
if (Logger.isDevMode) {
|
|
4421
|
+
Logger.colored(...COLOR_CODES.FROM_UNREAL, 'InitialSettings message :', JSON.parse(decodeData(anyData)));
|
|
4422
|
+
}
|
|
4392
4423
|
break;
|
|
4393
4424
|
case ToClientMessage.Protocol:
|
|
4394
|
-
Logger.
|
|
4425
|
+
if (Logger.isDevMode) {
|
|
4426
|
+
Logger.colored(...COLOR_CODES.FROM_UNREAL, 'Protocol message :', JSON.parse(decodeData(anyData)));
|
|
4427
|
+
}
|
|
4395
4428
|
break;
|
|
4396
4429
|
case ToClientMessage.InputControlOwnership:
|
|
4397
4430
|
Logger.colored(...COLOR_CODES.FROM_UNREAL, 'InputControlOwnership message :', anyData);
|
|
@@ -4538,6 +4571,17 @@ class InputService extends SubService {
|
|
|
4538
4571
|
this.fingerIds = new Map();
|
|
4539
4572
|
this.maxByteValue = 255;
|
|
4540
4573
|
this.fingers = [...INITIAL_FINGER_IDS];
|
|
4574
|
+
// Reusable wire buffers. Input events fire at up to ~60 Hz; the data channel
|
|
4575
|
+
// copies the bytes synchronously on send (RTCDataChannel.send), so a single
|
|
4576
|
+
// buffer per message shape is safe and avoids per-event allocation/GC churn.
|
|
4577
|
+
this.mouseMoveView = new DataView(new ArrayBuffer(9));
|
|
4578
|
+
this.mouseButtonView = new DataView(new ArrayBuffer(6));
|
|
4579
|
+
this.mouseWheelView = new DataView(new ArrayBuffer(7));
|
|
4580
|
+
this.touchView = new DataView(new ArrayBuffer(9));
|
|
4581
|
+
this.keyPressView = new DataView(new ArrayBuffer(3));
|
|
4582
|
+
this.singleByteView = new DataView(new ArrayBuffer(1));
|
|
4583
|
+
this.keyDownBytes = new Uint8Array(3);
|
|
4584
|
+
this.keyUpBytes = new Uint8Array(2);
|
|
4541
4585
|
this.offsetParams = {
|
|
4542
4586
|
scaleX: 1,
|
|
4543
4587
|
scaleY: 1,
|
|
@@ -4714,7 +4758,7 @@ class InputService extends SubService {
|
|
|
4714
4758
|
const { x, y } = this.getTouchPositionWithOffset(touch);
|
|
4715
4759
|
Logger.info(`F${finger}=(${x}, ${y})`);
|
|
4716
4760
|
const coord = this.normalizeAndQuantizeUnsigned(x, y);
|
|
4717
|
-
const data =
|
|
4761
|
+
const data = this.touchView;
|
|
4718
4762
|
data.setUint8(0, type);
|
|
4719
4763
|
data.setUint8(1, numTouches);
|
|
4720
4764
|
data.setUint16(byte, coord.x, true);
|
|
@@ -4769,7 +4813,7 @@ class InputService extends SubService {
|
|
|
4769
4813
|
emitMouseMove(x, y, deltaX, deltaY) {
|
|
4770
4814
|
const coord = this.normalizeAndQuantizeUnsigned(x, y);
|
|
4771
4815
|
const delta = this.normalizeAndQuantizeSigned(deltaX, deltaY);
|
|
4772
|
-
const data =
|
|
4816
|
+
const data = this.mouseMoveView;
|
|
4773
4817
|
data.setUint8(0, MessageType.MouseMove);
|
|
4774
4818
|
data.setUint16(1, coord.x, true);
|
|
4775
4819
|
data.setUint16(3, coord.y, true);
|
|
@@ -4779,7 +4823,7 @@ class InputService extends SubService {
|
|
|
4779
4823
|
}
|
|
4780
4824
|
emitMouseDown(button, x, y) {
|
|
4781
4825
|
const coord = this.normalizeAndQuantizeUnsigned(x, y);
|
|
4782
|
-
const data =
|
|
4826
|
+
const data = this.mouseButtonView;
|
|
4783
4827
|
data.setUint8(0, MessageType.MouseDown);
|
|
4784
4828
|
data.setUint8(1, button);
|
|
4785
4829
|
data.setUint16(2, coord.x, true);
|
|
@@ -4788,7 +4832,7 @@ class InputService extends SubService {
|
|
|
4788
4832
|
}
|
|
4789
4833
|
emitMouseUp(button, x, y) {
|
|
4790
4834
|
const coord = this.normalizeAndQuantizeUnsigned(x, y);
|
|
4791
|
-
const data =
|
|
4835
|
+
const data = this.mouseButtonView;
|
|
4792
4836
|
data.setUint8(0, MessageType.MouseUp);
|
|
4793
4837
|
data.setUint8(1, button);
|
|
4794
4838
|
data.setUint16(2, coord.x, true);
|
|
@@ -4797,7 +4841,7 @@ class InputService extends SubService {
|
|
|
4797
4841
|
}
|
|
4798
4842
|
emitMouseWheel(delta, x, y) {
|
|
4799
4843
|
const coord = this.normalizeAndQuantizeUnsigned(x, y);
|
|
4800
|
-
const data =
|
|
4844
|
+
const data = this.mouseWheelView;
|
|
4801
4845
|
data.setUint8(0, MessageType.MouseWheel);
|
|
4802
4846
|
data.setInt16(1, delta, true);
|
|
4803
4847
|
data.setUint16(3, coord.x, true);
|
|
@@ -4873,7 +4917,7 @@ class InputService extends SubService {
|
|
|
4873
4917
|
.pipe(takeUntil$1(this.deactivatedVideoTrigger$))
|
|
4874
4918
|
.subscribe((e) => {
|
|
4875
4919
|
this.focusWindow();
|
|
4876
|
-
const data =
|
|
4920
|
+
const data = this.singleByteView;
|
|
4877
4921
|
data.setUint8(0, MessageType.MouseEnter);
|
|
4878
4922
|
this.sendInputData(data.buffer);
|
|
4879
4923
|
this.pressMouseButtons(e.buttons, e.offsetX, e.offsetY);
|
|
@@ -4881,7 +4925,7 @@ class InputService extends SubService {
|
|
|
4881
4925
|
fromEvent(htmlVideoElement, 'mouseleave')
|
|
4882
4926
|
.pipe(takeUntil$1(this.deactivatedVideoTrigger$))
|
|
4883
4927
|
.subscribe((e) => {
|
|
4884
|
-
const data =
|
|
4928
|
+
const data = this.singleByteView;
|
|
4885
4929
|
data.setUint8(0, MessageType.MouseLeave);
|
|
4886
4930
|
this.sendInputData(data.buffer);
|
|
4887
4931
|
this.releaseMouseButtons(e.buttons, e.offsetX, e.offsetY);
|
|
@@ -4930,15 +4974,15 @@ class InputService extends SubService {
|
|
|
4930
4974
|
if (isCtrlOrCommand && isPlusOrMinus) {
|
|
4931
4975
|
return;
|
|
4932
4976
|
}
|
|
4933
|
-
this.
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4977
|
+
const keyDown = this.keyDownBytes;
|
|
4978
|
+
keyDown[0] = MessageType.KeyDown;
|
|
4979
|
+
keyDown[1] = this.getKeyCode(e);
|
|
4980
|
+
keyDown[2] = Number(e.repeat);
|
|
4981
|
+
this.sendInputData(keyDown.buffer);
|
|
4938
4982
|
// Backspace isn't a keypress in JS, but UE4 text-entry fields need it
|
|
4939
4983
|
// to delete characters.
|
|
4940
4984
|
if (e.keyCode === SpecialKeyCodes.BackSpace) {
|
|
4941
|
-
const data =
|
|
4985
|
+
const data = this.keyPressView;
|
|
4942
4986
|
data.setUint8(0, MessageType.KeyPress);
|
|
4943
4987
|
data.setUint16(1, SpecialKeyCodes.BackSpace, true);
|
|
4944
4988
|
this.sendInputData(data.buffer);
|
|
@@ -4954,7 +4998,10 @@ class InputService extends SubService {
|
|
|
4954
4998
|
if (filter(e)) {
|
|
4955
4999
|
return;
|
|
4956
5000
|
}
|
|
4957
|
-
|
|
5001
|
+
const keyUp = this.keyUpBytes;
|
|
5002
|
+
keyUp[0] = MessageType.KeyUp;
|
|
5003
|
+
keyUp[1] = this.getKeyCode(e);
|
|
5004
|
+
this.sendInputData(keyUp.buffer);
|
|
4958
5005
|
if (this.options.suppressBrowserKeys &&
|
|
4959
5006
|
this.isKeyCodeBrowserKey(e.keyCode)) {
|
|
4960
5007
|
e.preventDefault();
|
|
@@ -4966,7 +5013,7 @@ class InputService extends SubService {
|
|
|
4966
5013
|
if (filter(e)) {
|
|
4967
5014
|
return;
|
|
4968
5015
|
}
|
|
4969
|
-
const data =
|
|
5016
|
+
const data = this.keyPressView;
|
|
4970
5017
|
data.setUint8(0, MessageType.KeyPress);
|
|
4971
5018
|
data.setUint16(1, e.charCode, true);
|
|
4972
5019
|
this.sendInputData(data.buffer);
|
|
@@ -7204,5 +7251,5 @@ function provideUnrealModule() {
|
|
|
7204
7251
|
* Generated bundle index. Do not edit.
|
|
7205
7252
|
*/
|
|
7206
7253
|
|
|
7207
|
-
export { AFKService, AUTO_HIGH_RESOLUTION_IDLE_MS, AfkTimeoutModalComponent, AggregatorService, AnalyticsService, AnswerHandler, CONSOLE_COMMAND_DISABLE_MESSAGES, CONSOLE_COMMAND_ENABLE_MESSAGES, CONSOLE_COMMAND_PIXEL_QUALITY, CommandTelemetryService, ConfigHandler, ConsoleExtensionsService, ControlScheme, DATA_CHANNEL_CONNECTION_TIMEOUT, DEBOUNCE_TO_MANY_RESIZE_CALLS, DEFAULT_AFK_TIMEOUT, DEFAULT_AFK_TIMEOUT_PERIOD, DEFAULT_RECONNECT_DELAY_MS, DEFAULT_RECONNECT_ENABLED, DEFAULT_RECONNECT_MAX_ATTEMPTS, DEFAULT_RECONNECT_ON_DATACHANNEL_CLOSE, DEFAULT_RECONNECT_ON_ICE_FAILURE, DESTROY_DISCONNECT_REASONS, DataFlowMonitor, DevModeService, DisconnectReason, FULL_HD_HEIGHT, FULL_HD_WIDTH, FileHandlerService, FileReceiverService, FilterSettingsComponent, FpsMonitorService, FreezeFrameComponent, FreezeFrameService, INNER_RETRY_LIMIT, IceCandidateHandler, ImageLoadingSrcComponent, InputOptions, InputService, InstanceReadyHandler, InstanceReservedHandler, IntroSrcComponent, KalmanFilter1D, LatencyTimings, LoadingProgressService, LowBandwidthDetectorComponent, LowBandwidthModalComponent, MINIMAL_FPS, MIN_CONTAINER_SIZE, MessageType, MouseButton, MouseButtonsMask, OUTER_RETRY_DELAY, OnCloseHandler, OnErrorHandler, OnMessageHandler, OnOpenHandler, OrchestrationMessageTypes, POLLING_TIME, PingHandler, PlayerCountHandler, RegionsPingService, SAME_SIZE_THRESHOLD, SCREEN_LOCKER_CONTAINER_ID, SIGNALLING_PERCENT_VALUE, SSInfoHandler, STREAMING_AUDIO_ID, STREAMING_VIDEO_ID, SafePipe, SignallingService, SpecialKeyCodes, StatGraphComponent, StreamStatusTelemetryService, StreamStatusTelemetryService2, SubService, ToClientMessage, UNREAL_CONFIG, UnrealCallbackService, UnrealCommunicatorService, UnrealEffects, UnrealSceneComponent, UnrealStatusMessage, VideoService, VideoStatsComponent, WSCloseCode_CIRRUS_ABNORMAL_CLOSURE, WSCloseCode_CIRRUS_MAX_PLAYERS_ERROR, WSCloseCode_CIRRUS_PLAYER_DISCONNECTED, WSCloseCode_CIRRUS_STREAMER_KIKED_PLAYER, WSCloseCode_FORCE_CIRRUS_CLOSE, WSCloseCode_NORMAL_AFK_TIMEOUT, WSCloseCode_NORMAL_CLOSURE, WSCloseCode_NORMAL_MANUAL_DISCONNECT, WSCloseCode_UNKNOWN, WSCloseCodes, WS_OPEN_STATE, WS_RETRY_PER_INSTANCE, WS_TIMEOUT, WebRtcPlayerService, WebrtcErrorModalComponent, abortEstablishingConnection, answerSent, changeStatusMainVideoOnScene, changeStreamResolutionAction, commandCompleted, commandStarted, dataChannelConnected, dataChannelReady, decodeData, destroyRemoteConnections, destroyUnrealScene, disconnectStream, dispatchResize, dropConnection, dropDC, dropPC, floatToPercents, floatToSmoothPercents, forceResizeViewport, fromResizeObserver, getActiveUrl, getImageFromVideoStream, getResizeStudioValues, getResizeValuesUniversal, getRtcErrorMessage, iceConnectionFailed, initSignalling, instanceReady, keepMaxUntilReset, makeEven, pollingEnded, pollingStarted, provideUnrealModule, qpToQuality, reconnectPeer, reconnectPeerFailed, reconnectPeerSuccess, regionPingFetchEnd, regionPingFetchStart, regionResolved, resetAfk, resetConfig, resetDataChannelForReconnect, resetIntroSrc, resetUserInactivityTimeout, resetWarnTimeout, saveAnalyticsEvent, selectCirrusConnectionId, selectClientAndViewIds, selectCommandProgress, selectFreezeFrameCombinedDataUrl, selectFreezeFrameDataUrl, selectFreezeFrameDataUrlFromVideo, selectFreezeFrameProgressMessageFromVideo, selectIsAutostart, selectIsExistMatchUrls, selectIsFreezeFrameLoading, selectIsFullyConnected, selectIsLoaderScreenVisible, selectIsVideoPlayingAndDataChannelConnected, selectShowLoader, selectShowReconnectPopup, selectSignalingParameters, selectStreamConfig, selectTotalProgress, selectUserInactivityDetected, selectWarnTimeout, setAfkTimerCountdown, setAfkTimerHide, setAfkTimerVisible, setAwsInstance, setCirrusConnected, setCirrusDisconnected, setConfig, setEstablishingConnection, setFreezeFrame, setFreezeFrameFromVideo, setIntroImageSrc, setIntroVideoSrc, setLoadingImageSrc, setLoopBackCommandIsCompleted, setMaxFps, setOrchestrationContext, setOrchestrationMessage, setOrchestrationParameters, setOrchestrationProgress, setSignalingName, setStatusMessage, setStatusPercentSignallingServer, setStreamClientCompanyId, setStreamViewId, setUnrealPlaywrightConfig, setUserInactivityTimeout, setViewportNotReady, setViewportReady, showLoadingProgress, showResumeStreamPopup, showUnrealErrorMessage, showUserInactivityTimeoutPopup, signalingRetryAttempted, smoothTransition, startStream, trackMixpanelEvent, trackTelemetryData, unrealCommandCallback, unrealFeature, unrealReducer, updateCirrusInfo, videoAdaptedToContainer, videoStreamInitialized };
|
|
7254
|
+
export { AFKService, AUTO_HIGH_RESOLUTION_IDLE_MS, AfkTimeoutModalComponent, AggregatorService, AnalyticsService, AnswerHandler, CONSOLE_COMMAND_DISABLE_MESSAGES, CONSOLE_COMMAND_ENABLE_MESSAGES, CONSOLE_COMMAND_PIXEL_QUALITY, CommandTelemetryService, ConfigHandler, ConsoleExtensionsService, ControlScheme, DATA_CHANNEL_CONNECTION_TIMEOUT, DEBOUNCE_TO_MANY_RESIZE_CALLS, DEFAULT_AFK_TIMEOUT, DEFAULT_AFK_TIMEOUT_PERIOD, DEFAULT_RECONNECT_DELAY_MS, DEFAULT_RECONNECT_ENABLED, DEFAULT_RECONNECT_MAX_ATTEMPTS, DEFAULT_RECONNECT_ON_DATACHANNEL_CLOSE, DEFAULT_RECONNECT_ON_ICE_FAILURE, DESTROY_DISCONNECT_REASONS, DataFlowMonitor, DevModeService, DisconnectReason, FULL_HD_HEIGHT, FULL_HD_WIDTH, FileHandlerService, FileReceiverService, FilterSettingsComponent, FpsMonitorService, FreezeFrameComponent, FreezeFrameService, INNER_RETRY_LIMIT, IceCandidateHandler, ImageLoadingSrcComponent, InputOptions, InputService, InstanceReadyHandler, InstanceReservedHandler, IntroSrcComponent, KalmanFilter1D, LatencyTimings, LoadingProgressService, LowBandwidthDetectorComponent, LowBandwidthModalComponent, MINIMAL_FPS, MIN_CONTAINER_SIZE, MessageType, MouseButton, MouseButtonsMask, OUTER_RETRY_DELAY, OnCloseHandler, OnErrorHandler, OnMessageHandler, OnOpenHandler, OrchestrationMessageTypes, POLLING_TIME, PingHandler, PlayerCountHandler, RegionsPingService, SAME_SIZE_THRESHOLD, SCREEN_LOCKER_CONTAINER_ID, SIGNALLING_PERCENT_VALUE, SSInfoHandler, STREAMING_AUDIO_ID, STREAMING_VIDEO_ID, SafePipe, SignallingService, SpecialKeyCodes, StatGraphComponent, StreamStatusTelemetryService, StreamStatusTelemetryService2, SubService, ToClientMessage, UNREAL_CONFIG, UnrealCallbackService, UnrealCommunicatorService, UnrealEffects, UnrealSceneComponent, UnrealStatusMessage, VideoService, VideoStatsComponent, WSCloseCode_CIRRUS_ABNORMAL_CLOSURE, WSCloseCode_CIRRUS_MAX_PLAYERS_ERROR, WSCloseCode_CIRRUS_PLAYER_DISCONNECTED, WSCloseCode_CIRRUS_STREAMER_KIKED_PLAYER, WSCloseCode_FORCE_CIRRUS_CLOSE, WSCloseCode_NORMAL_AFK_TIMEOUT, WSCloseCode_NORMAL_CLOSURE, WSCloseCode_NORMAL_MANUAL_DISCONNECT, WSCloseCode_UNKNOWN, WSCloseCodes, WS_OPEN_STATE, WS_RETRY_PER_INSTANCE, WS_TIMEOUT, WebRtcPlayerService, WebrtcErrorModalComponent, abortEstablishingConnection, answerSent, changeStatusMainVideoOnScene, changeStreamResolutionAction, commandCompleted, commandStarted, dataChannelConnected, dataChannelReady, decodeData, destroyRemoteConnections, destroyUnrealScene, disconnectStream, dispatchResize, dropConnection, dropDC, dropPC, floatToPercents, floatToSmoothPercents, forceResizeViewport, fromResizeObserver, getActiveUrl, getImageFromVideoStream, getResizeStudioValues, getResizeValuesUniversal, getRtcErrorMessage, iceConnectionFailed, initSignalling, instanceReady, keepMaxUntilReset, makeEven, pollingEnded, pollingStarted, provideUnrealModule, qpToQuality, reconnectPeer, reconnectPeerFailed, reconnectPeerSuccess, regionPingFetchEnd, regionPingFetchStart, regionResolved, resetAfk, resetConfig, resetDataChannelForReconnect, resetIntroSrc, resetUserInactivityTimeout, resetWarnTimeout, saveAnalyticsEvent, selectCirrusConnectionId, selectClientAndViewIds, selectCommandProgress, selectFreezeFrameCombinedDataUrl, selectFreezeFrameDataUrl, selectFreezeFrameDataUrlFromVideo, selectFreezeFrameProgressMessageFromVideo, selectIsAutostart, selectIsExistMatchUrls, selectIsFreezeFrameLoading, selectIsFullyConnected, selectIsLoaderScreenVisible, selectIsVideoPlayingAndDataChannelConnected, selectShowLoader, selectShowReconnectPopup, selectSignalingParameters, selectStreamConfig, selectTotalProgress, selectUserInactivityDetected, selectWarnTimeout, setAfkTimerCountdown, setAfkTimerHide, setAfkTimerVisible, setAwsInstance, setCirrusConnected, setCirrusDisconnected, setConfig, setEstablishingConnection, setFreezeFrame, setFreezeFrameFromVideo, setIntroImageSrc, setIntroVideoSrc, setLoadingImageSrc, setLoopBackCommandIsCompleted, setMaxFps, setOrchestrationContext, setOrchestrationMessage, setOrchestrationParameters, setOrchestrationProgress, setSignalingName, setStatusMessage, setStatusPercentSignallingServer, setStreamClientCompanyId, setStreamViewId, setUnrealPlaywrightConfig, setUserInactivityTimeout, setViewportNotReady, setViewportReady, showLoadingProgress, showResumeStreamPopup, showUnrealErrorMessage, showUserInactivityTimeoutPopup, signalingRetryAttempted, smoothTransition, startStream, trackMixpanelEvent, trackTelemetryData, uint8ToBase64, unrealCommandCallback, unrealFeature, unrealReducer, updateCirrusInfo, videoAdaptedToContainer, videoStreamInitialized };
|
|
7208
7255
|
//# sourceMappingURL=3dsource-angular-unreal-module.mjs.map
|