@3dsource/angular-unreal-module 0.0.162 → 0.0.164
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.
|
@@ -338,11 +338,17 @@ interface ParkedStream {
|
|
|
338
338
|
machineId?: string;
|
|
339
339
|
/** `peerConnectionOptions` the machine sent in its `config` message */
|
|
340
340
|
config?: RTCConfiguration;
|
|
341
|
-
/**
|
|
341
|
+
/**
|
|
342
|
+
* ids the script generated; Angular reuses them (no regeneration).
|
|
343
|
+
* `streamRequestId` is the exception — it is NOT generated but read from the
|
|
344
|
+
* polling response and passed to Cirrus on the upgrade URL; empty when the
|
|
345
|
+
* backend didn't issue one.
|
|
346
|
+
*/
|
|
342
347
|
ids: {
|
|
343
348
|
clientId: string;
|
|
344
349
|
viewId: string;
|
|
345
350
|
correlationId: string;
|
|
351
|
+
streamRequestId?: string;
|
|
346
352
|
};
|
|
347
353
|
/** DataChannel messages received before adoption, replayed on adopt */
|
|
348
354
|
dcBuffer: ArrayBuffer[];
|
|
@@ -374,7 +380,6 @@ interface InputProps {
|
|
|
374
380
|
type Quality = 'lime' | 'red' | 'orange';
|
|
375
381
|
|
|
376
382
|
declare const OrchestrationMessageTypes: {
|
|
377
|
-
readonly ping: "ping";
|
|
378
383
|
readonly error: "error";
|
|
379
384
|
readonly offer: "offer";
|
|
380
385
|
readonly answer: "answer";
|
|
@@ -388,8 +393,6 @@ declare const OrchestrationMessageTypes: {
|
|
|
388
393
|
readonly instanceReady: "instanceReady";
|
|
389
394
|
readonly p2pEstablished: "p2pEstablished";
|
|
390
395
|
readonly instanceReserved: "instanceReserved";
|
|
391
|
-
readonly playerDisconnected: "playerDisconnected";
|
|
392
|
-
readonly streamerDisconnected: "streamerDisconnected";
|
|
393
396
|
readonly interruptClientStream: "interruptClientStream";
|
|
394
397
|
};
|
|
395
398
|
interface InstanceReady extends MessageBase {
|
|
@@ -445,11 +448,6 @@ interface CandidateMessage extends MessageBase {
|
|
|
445
448
|
type: 'iceCandidate';
|
|
446
449
|
candidate: RTCIceCandidate;
|
|
447
450
|
}
|
|
448
|
-
interface PingMessage extends MessageBase {
|
|
449
|
-
type: 'ping';
|
|
450
|
-
playerId: string;
|
|
451
|
-
appConnectionCounter: number;
|
|
452
|
-
}
|
|
453
451
|
type UnknownFields = Record<string, unknown>;
|
|
454
452
|
interface InterruptClientStream extends MessageBase {
|
|
455
453
|
type: 'interruptClientStream';
|
|
@@ -458,10 +456,6 @@ interface InterruptClientStream extends MessageBase {
|
|
|
458
456
|
environmentId: string;
|
|
459
457
|
};
|
|
460
458
|
}
|
|
461
|
-
interface ForceClientDisconnect extends MessageBase {
|
|
462
|
-
type: 'streamerDisconnected' | 'playerDisconnected';
|
|
463
|
-
connectionId: string;
|
|
464
|
-
}
|
|
465
459
|
interface ListStreamersMessage extends MessageBase {
|
|
466
460
|
type: 'listStreamers';
|
|
467
461
|
correlationId: string;
|
|
@@ -530,7 +524,6 @@ interface MetaboxCustomApplicationContext {
|
|
|
530
524
|
}
|
|
531
525
|
type StreamRequestContext = MetaboxStudioContext | MetaboxProductContext | CustomApplicationContext | MetaboxCustomApplicationContext | MetaboxEnvironmentContext | MetaboxBasicConfiguratorContext | MetaboxModularConfiguratorContext;
|
|
532
526
|
interface SignalingMessageMap {
|
|
533
|
-
[OrchestrationMessageTypes.ping]: PingMessage;
|
|
534
527
|
[OrchestrationMessageTypes.offer]: RTCSessionDescriptionInit;
|
|
535
528
|
[OrchestrationMessageTypes.error]: OrchestrationErrorMessage;
|
|
536
529
|
[OrchestrationMessageTypes.ssInfo]: SSInfo;
|
|
@@ -544,8 +537,6 @@ interface SignalingMessageMap {
|
|
|
544
537
|
[OrchestrationMessageTypes.listStreamers]: ListStreamersMessage;
|
|
545
538
|
[OrchestrationMessageTypes.p2pEstablished]: P2PEstablishedMessage;
|
|
546
539
|
[OrchestrationMessageTypes.instanceReserved]: InstanceReserved;
|
|
547
|
-
[OrchestrationMessageTypes.playerDisconnected]: ForceClientDisconnect;
|
|
548
|
-
[OrchestrationMessageTypes.streamerDisconnected]: ForceClientDisconnect;
|
|
549
540
|
[OrchestrationMessageTypes.interruptClientStream]: InterruptClientStream;
|
|
550
541
|
}
|
|
551
542
|
type OrchestrationMessageType = keyof SignalingMessageMap;
|
|
@@ -554,6 +545,12 @@ type SignalingMessageHandler<T extends keyof SignalingMessageMap> = (msg: Signal
|
|
|
554
545
|
interface PollingOrchestrationMessage {
|
|
555
546
|
mm_message?: string;
|
|
556
547
|
signallingServer?: string;
|
|
548
|
+
/**
|
|
549
|
+
* Connection id issued by the orchestration for this stream request. Kept
|
|
550
|
+
* internally as `connectionId` and handed to Cirrus on the WS upgrade URL.
|
|
551
|
+
* Absent on older backends — Cirrus then generates one itself.
|
|
552
|
+
*/
|
|
553
|
+
streamRequestId?: string;
|
|
557
554
|
error?: string;
|
|
558
555
|
info?: {
|
|
559
556
|
age: number | null;
|
|
@@ -877,11 +874,29 @@ interface InboundVideoStats extends RTCInboundRtpStreamStats {
|
|
|
877
874
|
receiveToCompositeMs: number;
|
|
878
875
|
bitrate: number;
|
|
879
876
|
}
|
|
877
|
+
/**
|
|
878
|
+
* Which orchestration transport was asked for the Cirrus endpoint:
|
|
879
|
+
* - `polling` — HTTP orchestration poll (`requestCirrusViaPolling`)
|
|
880
|
+
* - `socket` — orchestration control socket + `instanceReady`
|
|
881
|
+
* (`requestCirrusViaSocket`)
|
|
882
|
+
*
|
|
883
|
+
* Undefined when nothing was requested at all — a `ws://` URL that already points
|
|
884
|
+
* at Cirrus (`requestCirrusDirect`, dev/playwright) or an adopted prefetched
|
|
885
|
+
* stream. Those are not request kinds, they are the absence of a request.
|
|
886
|
+
*
|
|
887
|
+
* Replaces the previous hostname sniffing (`/^wss:\/\/orchestration-websocket/`)
|
|
888
|
+
* in `selectTotalProgress` — the flow is now stated, not guessed.
|
|
889
|
+
*/
|
|
890
|
+
type CirrusRequestKind = 'polling' | 'socket';
|
|
880
891
|
interface AwsInstance {
|
|
881
892
|
/**
|
|
882
|
-
* WebSocket URL
|
|
893
|
+
* WebSocket URL of the CIRRUS the player connects to. In the socket flow
|
|
894
|
+
* this is the stream machine's `originInstanceUri`, NOT the orchestration
|
|
895
|
+
* URL (the control socket is tracked separately by `SignallingService`).
|
|
883
896
|
*/
|
|
884
897
|
wsUrl: string | null;
|
|
898
|
+
/** See {@link CirrusRequestKind}. */
|
|
899
|
+
kind?: CirrusRequestKind;
|
|
885
900
|
pollingUrl: string | null;
|
|
886
901
|
instanceName: string | null;
|
|
887
902
|
/**
|
|
@@ -924,6 +939,7 @@ declare const POLLING_TIME = 4000;
|
|
|
924
939
|
declare const INNER_RETRY_LIMIT = 3;
|
|
925
940
|
declare const OUTER_RETRY_DELAY: number;
|
|
926
941
|
declare const WS_RETRY_PER_INSTANCE = 1;
|
|
942
|
+
declare const INSTANCE_READY_TIMEOUT = 180000;
|
|
927
943
|
declare const WS_OPEN_STATE = 1;
|
|
928
944
|
declare const DEFAULT_AFK_TIMEOUT_PERIOD = 15;
|
|
929
945
|
declare const DEFAULT_AFK_TIMEOUT = 300;
|
|
@@ -1320,13 +1336,18 @@ declare class SignallingService extends SubService {
|
|
|
1320
1336
|
onConfig$: Subject<ConfigMessage>;
|
|
1321
1337
|
onWebRtcIce$: Subject<RTCIceCandidate>;
|
|
1322
1338
|
onWebRtcAnswer$: Subject<RTCSessionDescriptionInit | null>;
|
|
1339
|
+
onInstanceReady$: Subject<{
|
|
1340
|
+
instanceId: string;
|
|
1341
|
+
originInstanceId: string;
|
|
1342
|
+
ipAddress: string;
|
|
1343
|
+
streamRequestId: string;
|
|
1344
|
+
originInstanceUri: string;
|
|
1345
|
+
}>;
|
|
1323
1346
|
abort$: Observable<_ngrx_store.Action<string>>;
|
|
1324
1347
|
private ws;
|
|
1325
|
-
private
|
|
1326
|
-
private streamMachineConnected;
|
|
1327
|
-
private streamMachineRetryCount;
|
|
1328
|
-
private streamWsSub?;
|
|
1348
|
+
private controlWs;
|
|
1329
1349
|
orchestrationRetrySub?: Subscription;
|
|
1350
|
+
orchestrationRetryCount: number;
|
|
1330
1351
|
private wsMsgHandlers;
|
|
1331
1352
|
protected correlationId: string;
|
|
1332
1353
|
constructor();
|
|
@@ -1334,7 +1355,7 @@ declare class SignallingService extends SubService {
|
|
|
1334
1355
|
connectToSignaling(urlList: string[]): Observable<WebSocket>;
|
|
1335
1356
|
/**
|
|
1336
1357
|
* One inner cycle: rotate `urlGen` over the pool, resolve via
|
|
1337
|
-
* {@link
|
|
1358
|
+
* {@link requestCirrus}, open WS via {@link connectToCirrus},
|
|
1338
1359
|
* retry up to {@link INNER_RETRY_LIMIT} on any hard failure. The
|
|
1339
1360
|
* urlGen lives in this closure so retries advance through the
|
|
1340
1361
|
* pool. Exhaustion bubbles to {@link connectToSignaling}'s outer
|
|
@@ -1354,17 +1375,37 @@ declare class SignallingService extends SubService {
|
|
|
1354
1375
|
protected startEstablishingConnection(): void;
|
|
1355
1376
|
private adaptUrlsToRegion;
|
|
1356
1377
|
/**
|
|
1357
|
-
*
|
|
1358
|
-
*
|
|
1359
|
-
*
|
|
1378
|
+
* Ask the orchestration for a Cirrus to connect to. All three
|
|
1379
|
+
* implementations answer the same question — "which Cirrus, and with which
|
|
1380
|
+
* `streamRequestId`?" — and emit ONE `AwsInstance` whose `wsUrl` is a Cirrus
|
|
1381
|
+
* address. What differs is only how the answer is obtained and therefore how
|
|
1382
|
+
* it can fail:
|
|
1383
|
+
*
|
|
1384
|
+
* | Method | Transport | Fails on |
|
|
1385
|
+
* | -------------------------- | -------------------- | ------------------------------ |
|
|
1386
|
+
* | {@link requestCirrusViaPolling} | HTTP poll loop | HTTP 4xx (dead URL) |
|
|
1387
|
+
* | {@link requestCirrusViaSocket} | control WS | socket drop / no `instanceReady` in {@link INSTANCE_READY_TIMEOUT} |
|
|
1388
|
+
* | {@link requestCirrusDirect} | none (dev) | never — nothing is requested |
|
|
1389
|
+
*
|
|
1390
|
+
* Whatever they return goes through the SAME downstream in
|
|
1391
|
+
* {@link connectAttempt}: `setAwsInstance` → `connectToCirrus` → the WS-only
|
|
1392
|
+
* and URL-rotating retry tiers. A failure inside any of them is just an
|
|
1393
|
+
* error on this observable, so those tiers handle it uniformly.
|
|
1394
|
+
*/
|
|
1395
|
+
private requestCirrus;
|
|
1396
|
+
/** True when `requestStream` can be composed → new orchestration. */
|
|
1397
|
+
private hasOrchestrationContext;
|
|
1398
|
+
/**
|
|
1399
|
+
* Wait until `clientId` and `viewId` are known — every request method needs
|
|
1400
|
+
* them before it may talk to the backend.
|
|
1360
1401
|
*/
|
|
1361
|
-
private
|
|
1402
|
+
private waitForClientAndViewIds;
|
|
1362
1403
|
/**
|
|
1363
|
-
* Direct `ws://` / `wss://` short-circuit — no
|
|
1364
|
-
*
|
|
1365
|
-
*
|
|
1404
|
+
* Direct `ws://` / `wss://` short-circuit — no orchestration at all, the URL
|
|
1405
|
+
* already points at Cirrus. Dev/playwright convenience, hence no
|
|
1406
|
+
* `kind`: nothing was requested.
|
|
1366
1407
|
*/
|
|
1367
|
-
private
|
|
1408
|
+
private requestCirrusDirect;
|
|
1368
1409
|
/**
|
|
1369
1410
|
* HTTP-orchestration path. Brackets {@link pollLoop} with the
|
|
1370
1411
|
* `pollingStarted`/`pollingEnded` actions and the `EXT-getSignaling`
|
|
@@ -1372,7 +1413,34 @@ declare class SignallingService extends SubService {
|
|
|
1372
1413
|
* last response captured in the closure). Maps the final ready
|
|
1373
1414
|
* response to an `AwsInstance`.
|
|
1374
1415
|
*/
|
|
1375
|
-
private
|
|
1416
|
+
private requestCirrusViaPolling;
|
|
1417
|
+
/**
|
|
1418
|
+
* WS-orchestration path — the socket-transport twin of
|
|
1419
|
+
* {@link requestCirrusViaPolling}. Opens the control socket, sends
|
|
1420
|
+
* `requestStream` and waits for `instanceReady`, whose `originInstanceUri`
|
|
1421
|
+
* IS the Cirrus address.
|
|
1422
|
+
*
|
|
1423
|
+
* Failure modes are handled here so they surface as a plain error and reach
|
|
1424
|
+
* `connectAttempt`'s retry tiers (previously this branch lived outside them
|
|
1425
|
+
* and a dead control socket silently hung the session):
|
|
1426
|
+
* - control socket closes/errors before `instanceReady` → error
|
|
1427
|
+
* - no `instanceReady` within {@link INSTANCE_READY_TIMEOUT} → error
|
|
1428
|
+
*
|
|
1429
|
+
* The control socket lives exactly as long as this wait — see
|
|
1430
|
+
* {@link awaitInstanceReady}.
|
|
1431
|
+
*/
|
|
1432
|
+
private requestCirrusViaSocket;
|
|
1433
|
+
/**
|
|
1434
|
+
* Send `requestStream` on the freshly opened control socket and resolve with
|
|
1435
|
+
* the machine coordinates from `instanceReady`.
|
|
1436
|
+
*
|
|
1437
|
+
* The socket lives exactly as long as this wait: its close/error are HARD
|
|
1438
|
+
* failures of the request, and on resolution it is closed with every handler
|
|
1439
|
+
* detached (the backend does not use it after the handover). So the control
|
|
1440
|
+
* socket has no post-handover state at all — nothing that could report a stale
|
|
1441
|
+
* "disconnect" against a live stream.
|
|
1442
|
+
*/
|
|
1443
|
+
private awaitInstanceReady;
|
|
1376
1444
|
/**
|
|
1377
1445
|
* Poll the SAME `url` until ready, or until HTTP 4xx says the URL
|
|
1378
1446
|
* is dead.
|
|
@@ -1390,9 +1458,12 @@ declare class SignallingService extends SubService {
|
|
|
1390
1458
|
*/
|
|
1391
1459
|
private pollLoop;
|
|
1392
1460
|
private connectToCirrus;
|
|
1461
|
+
/**
|
|
1462
|
+
* Handlers for the CIRRUS socket — the only long-lived socket. Its close/error
|
|
1463
|
+
* are real stream events (`setCirrusDisconnected` / `dropConnection`), unlike
|
|
1464
|
+
* the control socket's, which never outlives {@link awaitInstanceReady}.
|
|
1465
|
+
*/
|
|
1393
1466
|
private addWsHandlers;
|
|
1394
|
-
private onOrchestrationClose;
|
|
1395
|
-
private onOrchestrationError;
|
|
1396
1467
|
/**
|
|
1397
1468
|
* Adopt a live signalling socket opened by the `stream-prefetch.js`
|
|
1398
1469
|
* head-script. The socket is already OPEN and `requestStream` was already
|
|
@@ -1402,54 +1473,53 @@ declare class SignallingService extends SubService {
|
|
|
1402
1473
|
* `correlationId` so subsequent correlated messages line up.
|
|
1403
1474
|
*/
|
|
1404
1475
|
adoptSocket(ws: WebSocket, correlationId: string): void;
|
|
1405
|
-
/**
|
|
1406
|
-
* Open the SECOND socket, directly to the stream machine's Cirrus
|
|
1407
|
-
* (`originInstanceUri` from `instanceReady`). The whole WebRTC signalling
|
|
1408
|
-
* (config/offer/answer/iceCandidate/ping) flows over this socket; the
|
|
1409
|
-
* orchestration socket (`this.ws`) stays open for control/lifecycle.
|
|
1410
|
-
*
|
|
1411
|
-
* "Just connect" — nothing is sent on open (the machine is already reserved
|
|
1412
|
-
* for this session): Cirrus pushes `config` and Unreal sends the `offer`.
|
|
1413
|
-
*/
|
|
1414
|
-
connectToStreamMachine(originInstanceUri: string): void;
|
|
1415
|
-
/**
|
|
1416
|
-
* The stream-machine (Cirrus) connection failed. Re-request a machine over
|
|
1417
|
-
* the still-open orchestration socket: orchestration issues a new
|
|
1418
|
-
* streamRequestId and a fresh `instanceReady(originInstanceUri)`, which calls
|
|
1419
|
-
* {@link connectToStreamMachine} again on a different machine. Bounded by
|
|
1420
|
-
* {@link INNER_RETRY_LIMIT}; on exhaustion the stream is dropped.
|
|
1421
|
-
*/
|
|
1422
|
-
private retryStreamMachine;
|
|
1423
|
-
private addStreamWsHandlers;
|
|
1424
|
-
private teardownStreamWs;
|
|
1425
1476
|
private showStatusMessage;
|
|
1426
1477
|
/**
|
|
1427
|
-
* Close the
|
|
1428
|
-
*
|
|
1478
|
+
* Close everything: the Cirrus socket AND the orchestration control socket.
|
|
1479
|
+
* Used on abort/teardown. A new connection attempt inside a live cycle uses
|
|
1480
|
+
* {@link closeCirrus} instead, so it does not kill the control socket that
|
|
1481
|
+
* produced the address it is about to connect to.
|
|
1429
1482
|
*/
|
|
1430
1483
|
close(data: CloseReason): void;
|
|
1484
|
+
/** Close only the Cirrus signalling socket. */
|
|
1485
|
+
private closeCirrus;
|
|
1486
|
+
private teardownControlWs;
|
|
1431
1487
|
private teardownSocket;
|
|
1432
|
-
send(data: AnySignalingMessage): void;
|
|
1433
1488
|
/**
|
|
1434
|
-
*
|
|
1435
|
-
*
|
|
1436
|
-
* the new flow (once connected), or the orchestration/relay socket in the old
|
|
1437
|
-
* polling flow (where there is no separate stream socket).
|
|
1489
|
+
* Player signalling (offer/answer/iceCandidate/pong/p2pEstablished/subscribe)
|
|
1490
|
+
* — always the Cirrus socket, in every flow.
|
|
1438
1491
|
*/
|
|
1439
|
-
|
|
1492
|
+
send(data: AnySignalingMessage): void;
|
|
1493
|
+
/** Orchestration control messages (`requestStream`) — the control socket. */
|
|
1494
|
+
sendToOrchestration(data: AnySignalingMessage): void;
|
|
1440
1495
|
private sendTo;
|
|
1441
1496
|
protected handleMessage(msg: MessageBase): void;
|
|
1442
|
-
|
|
1497
|
+
/**
|
|
1498
|
+
* One handler map shared by both sockets — `handleMessage` dispatches purely by
|
|
1499
|
+
* message type. Which socket a type can arrive on is fixed, so registration is
|
|
1500
|
+
* split by origin: {@link setOrchestrationHandlers} (control socket) and
|
|
1501
|
+
* {@link setStreamHandlers} (Cirrus).
|
|
1502
|
+
*
|
|
1503
|
+
* Keepalive is deliberately absent: both servers ping at the WS **protocol**
|
|
1504
|
+
* level (`ws.ping()`), which the browser answers on its own — the page never
|
|
1505
|
+
* sees a ping and must never reply with an application-level `pong`. An
|
|
1506
|
+
* unregistered type is dropped silently by `handleMessage`, so a `ping` from a
|
|
1507
|
+
* not-yet-updated backend is simply ignored.
|
|
1508
|
+
*/
|
|
1509
|
+
private setMessageHandlers;
|
|
1510
|
+
/**
|
|
1511
|
+
* Messages from the ORCHESTRATION control socket. Only reachable during the
|
|
1512
|
+
* provisioning wait — `requestCirrusViaSocket` closes that socket the moment
|
|
1513
|
+
* `instanceReady` lands.
|
|
1514
|
+
*/
|
|
1515
|
+
private setOrchestrationHandlers;
|
|
1516
|
+
/** Messages from the CIRRUS socket — the actual stream signalling. */
|
|
1517
|
+
private setStreamHandlers;
|
|
1443
1518
|
protected sendRequestStream(): void;
|
|
1444
1519
|
/**
|
|
1445
|
-
*
|
|
1446
|
-
*
|
|
1447
|
-
*
|
|
1448
|
-
* - NEW flow (`streamMachineConnected`): the stream-machine socket
|
|
1449
|
-
* (`streamWs`). The orchestration socket (`this.ws`) is intentionally
|
|
1450
|
-
* closed after occupancy, so checking it would wrongly report "not
|
|
1451
|
-
* connected" and block reconnect.
|
|
1452
|
-
* - OLD polling flow: the single relay socket (`this.ws`) — unchanged.
|
|
1520
|
+
* Is the player-signalling socket open? Always the Cirrus socket — the
|
|
1521
|
+
* control socket's state is irrelevant to the stream (orchestration closes it
|
|
1522
|
+
* once the instance is occupied), so it must not be part of this gate.
|
|
1453
1523
|
*/
|
|
1454
1524
|
isConnected(): boolean;
|
|
1455
1525
|
private getRegion;
|
|
@@ -2304,8 +2374,6 @@ declare function InstanceReadyHandler(this: SignallingService, msg: InstanceRead
|
|
|
2304
2374
|
|
|
2305
2375
|
declare function InstanceReservedHandler(this: SignallingService, msg: InstanceReserved): void;
|
|
2306
2376
|
|
|
2307
|
-
declare function PingHandler(this: SignallingService): void;
|
|
2308
|
-
|
|
2309
2377
|
declare function PlayerCountHandler(this: SignallingService, msg: PlayerCountMessage): void;
|
|
2310
2378
|
|
|
2311
2379
|
declare function SSInfoHandler(this: SignallingService, msg: SSInfo): null;
|
|
@@ -2316,6 +2384,14 @@ declare function OnErrorHandler(this: SignallingService, e: Event): void;
|
|
|
2316
2384
|
|
|
2317
2385
|
declare function OnMessageHandler(this: SignallingService, e: MessageEvent<string | Blob>): void;
|
|
2318
2386
|
|
|
2387
|
+
/**
|
|
2388
|
+
* Open handler of the CIRRUS socket only (`addWsHandlers`), so
|
|
2389
|
+
* `setCirrusConnected` now means what it says. It used to also send
|
|
2390
|
+
* `requestStream` here, which made the flag fire on the orchestration control
|
|
2391
|
+
* socket — a whole provisioning wait (`eta`, ~150 s) before any Cirrus existed.
|
|
2392
|
+
* `requestStream` belongs to the control socket and is sent by
|
|
2393
|
+
* `requestCirrusViaSocket`.
|
|
2394
|
+
*/
|
|
2319
2395
|
declare function OnOpenHandler(this: SignallingService): void;
|
|
2320
2396
|
|
|
2321
2397
|
/**
|
|
@@ -2568,10 +2644,34 @@ declare const setAwsInstance: _ngrx_store.ActionCreator<string, (props: {
|
|
|
2568
2644
|
wsUrl: string | null;
|
|
2569
2645
|
pollingUrl: string | null;
|
|
2570
2646
|
instanceName: string | null;
|
|
2647
|
+
/**
|
|
2648
|
+
* Connection id issued by the orchestration in the polling response. Kept
|
|
2649
|
+
* internally as `connectionId` (see `selectCirrusConnectionId`). Undefined
|
|
2650
|
+
* in the new-orchestration flow, where it arrives later via
|
|
2651
|
+
* `instanceReserved` → {@link setOrchestrationParameters}.
|
|
2652
|
+
*/
|
|
2653
|
+
streamRequestId?: string;
|
|
2654
|
+
/**
|
|
2655
|
+
* Which request method produced this endpoint. Stated by the service instead
|
|
2656
|
+
* of being guessed downstream from the URL's hostname.
|
|
2657
|
+
*/
|
|
2658
|
+
kind?: CirrusRequestKind;
|
|
2571
2659
|
}) => {
|
|
2572
2660
|
wsUrl: string | null;
|
|
2573
2661
|
pollingUrl: string | null;
|
|
2574
2662
|
instanceName: string | null;
|
|
2663
|
+
/**
|
|
2664
|
+
* Connection id issued by the orchestration in the polling response. Kept
|
|
2665
|
+
* internally as `connectionId` (see `selectCirrusConnectionId`). Undefined
|
|
2666
|
+
* in the new-orchestration flow, where it arrives later via
|
|
2667
|
+
* `instanceReserved` → {@link setOrchestrationParameters}.
|
|
2668
|
+
*/
|
|
2669
|
+
streamRequestId?: string;
|
|
2670
|
+
/**
|
|
2671
|
+
* Which request method produced this endpoint. Stated by the service instead
|
|
2672
|
+
* of being guessed downstream from the URL's hostname.
|
|
2673
|
+
*/
|
|
2674
|
+
kind?: CirrusRequestKind;
|
|
2575
2675
|
} & _ngrx_store.Action<string>>;
|
|
2576
2676
|
declare const setStatusMessage: _ngrx_store.ActionCreator<string, (props: {
|
|
2577
2677
|
statusMessage: string | null;
|
|
@@ -2811,6 +2911,12 @@ declare const initSignalling: _ngrx_store.ActionCreator<string, () => _ngrx_stor
|
|
|
2811
2911
|
declare const streamAdopted: _ngrx_store.ActionCreator<string, (props: {
|
|
2812
2912
|
machineId: string | null;
|
|
2813
2913
|
ssData: SignalingData | null;
|
|
2914
|
+
/**
|
|
2915
|
+
* Orchestration-issued connection id the prefetch script read from the
|
|
2916
|
+
* polling response and already passed to Cirrus. Kept internally as
|
|
2917
|
+
* `connectionId` (see `selectCirrusConnectionId`).
|
|
2918
|
+
*/
|
|
2919
|
+
streamRequestId: string | null;
|
|
2814
2920
|
/**
|
|
2815
2921
|
* `performance.now()` marks the prefetch script recorded while it
|
|
2816
2922
|
* established the connection (`prefetch_start` / `ws_open` / `dc_open` /
|
|
@@ -2824,6 +2930,12 @@ declare const streamAdopted: _ngrx_store.ActionCreator<string, (props: {
|
|
|
2824
2930
|
}) => {
|
|
2825
2931
|
machineId: string | null;
|
|
2826
2932
|
ssData: SignalingData | null;
|
|
2933
|
+
/**
|
|
2934
|
+
* Orchestration-issued connection id the prefetch script read from the
|
|
2935
|
+
* polling response and already passed to Cirrus. Kept internally as
|
|
2936
|
+
* `connectionId` (see `selectCirrusConnectionId`).
|
|
2937
|
+
*/
|
|
2938
|
+
streamRequestId: string | null;
|
|
2827
2939
|
/**
|
|
2828
2940
|
* `performance.now()` marks the prefetch script recorded while it
|
|
2829
2941
|
* established the connection (`prefetch_start` / `ws_open` / `dc_open` /
|
|
@@ -2936,23 +3048,23 @@ declare class UnrealEffects {
|
|
|
2936
3048
|
private readonly unrealCallbackService;
|
|
2937
3049
|
private dataChannelConnectionTimeout;
|
|
2938
3050
|
private connectionCompleted$;
|
|
2939
|
-
destroyConnections$:
|
|
3051
|
+
destroyConnections$: Observable<{
|
|
2940
3052
|
reason: _3dsource_angular_unreal_module.DisconnectReasonType;
|
|
2941
3053
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
2942
|
-
refreshRegionCache$:
|
|
3054
|
+
refreshRegionCache$: Observable<{
|
|
2943
3055
|
region_code: string;
|
|
2944
3056
|
result: number[];
|
|
2945
3057
|
} | null> & _ngrx_effects.CreateEffectMetadata;
|
|
2946
|
-
abortEstablishingConnection$:
|
|
2947
|
-
resetAfk$:
|
|
2948
|
-
iframeMessaging$:
|
|
2949
|
-
setSignalingTo100$:
|
|
3058
|
+
abortEstablishingConnection$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3059
|
+
resetAfk$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3060
|
+
iframeMessaging$: Observable<string | null> & _ngrx_effects.CreateEffectMetadata;
|
|
3061
|
+
setSignalingTo100$: Observable<{
|
|
2950
3062
|
percent: number | null;
|
|
2951
3063
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
2952
|
-
setOrchestrationParameters$:
|
|
3064
|
+
setOrchestrationParameters$: Observable<{
|
|
2953
3065
|
progressComplete: number;
|
|
2954
3066
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
2955
|
-
setDataChannelTimeoutCheck$:
|
|
3067
|
+
setDataChannelTimeoutCheck$: Observable<{
|
|
2956
3068
|
reason: _3dsource_angular_unreal_module.DisconnectReasonType;
|
|
2957
3069
|
message: string;
|
|
2958
3070
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
@@ -2971,11 +3083,11 @@ declare class UnrealEffects {
|
|
|
2971
3083
|
* Without this effect, the order of these events may cause
|
|
2972
3084
|
* a visible flicker (video flashing to black).
|
|
2973
3085
|
*/
|
|
2974
|
-
forceViewportNotReady$:
|
|
2975
|
-
resetCirrusOnDestroy$:
|
|
2976
|
-
destroyRemoteConnections$:
|
|
2977
|
-
destroyConnectionAndRestart$:
|
|
2978
|
-
showUnrealError$:
|
|
3086
|
+
forceViewportNotReady$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3087
|
+
resetCirrusOnDestroy$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3088
|
+
destroyRemoteConnections$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3089
|
+
destroyConnectionAndRestart$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3090
|
+
showUnrealError$: Observable<{
|
|
2979
3091
|
code: number | null;
|
|
2980
3092
|
error?: string;
|
|
2981
3093
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
@@ -2995,11 +3107,11 @@ declare class UnrealEffects {
|
|
|
2995
3107
|
* cirrus drop, a scene destroy, or the start of a peer reconnect (which is
|
|
2996
3108
|
* where the pre-existing `isReconnecting` filter hands over).
|
|
2997
3109
|
*/
|
|
2998
|
-
unrealReceiverReady$:
|
|
2999
|
-
initAppByDataChannelReady$:
|
|
3000
|
-
setViewportReadyBySetLoopBackCommandIsCompleted$:
|
|
3001
|
-
startStream$:
|
|
3002
|
-
resetAfkOnPausedVideoInit$:
|
|
3110
|
+
unrealReceiverReady$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3111
|
+
initAppByDataChannelReady$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3112
|
+
setViewportReadyBySetLoopBackCommandIsCompleted$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3113
|
+
startStream$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3114
|
+
resetAfkOnPausedVideoInit$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3003
3115
|
/**
|
|
3004
3116
|
* Effect: `disconnectReasonHandling$`
|
|
3005
3117
|
*
|
|
@@ -3012,7 +3124,7 @@ declare class UnrealEffects {
|
|
|
3012
3124
|
* Skip `DataChannelClosed` when peer reconnection can handle it — that
|
|
3013
3125
|
* path is owned by `handleDataChannelClosed$` instead.
|
|
3014
3126
|
*/
|
|
3015
|
-
disconnectReasonHandling$:
|
|
3127
|
+
disconnectReasonHandling$: Observable<{
|
|
3016
3128
|
reason: _3dsource_angular_unreal_module.DisconnectReasonType;
|
|
3017
3129
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3018
3130
|
/**
|
|
@@ -3022,25 +3134,25 @@ declare class UnrealEffects {
|
|
|
3022
3134
|
* Only triggers if reconnection is enabled and the signaling WebSocket
|
|
3023
3135
|
* is still connected.
|
|
3024
3136
|
*/
|
|
3025
|
-
handleDataChannelClosed$:
|
|
3137
|
+
handleDataChannelClosed$: Observable<{
|
|
3026
3138
|
attempt: number;
|
|
3027
3139
|
maxAttempts: number;
|
|
3028
3140
|
delay?: number;
|
|
3029
3141
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3030
|
-
webrtcErrorModalComponent$:
|
|
3142
|
+
webrtcErrorModalComponent$: Observable<false> & _ngrx_effects.CreateEffectMetadata;
|
|
3031
3143
|
/**
|
|
3032
3144
|
* Effect: `resetStateForPeerReconnect$`
|
|
3033
3145
|
*
|
|
3034
3146
|
* Resets the data channel state when peer reconnection starts.
|
|
3035
3147
|
*/
|
|
3036
|
-
resetStateForPeerReconnect$:
|
|
3148
|
+
resetStateForPeerReconnect$: Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3037
3149
|
/**
|
|
3038
3150
|
* Effect: `executePeerReconnect$`
|
|
3039
3151
|
*
|
|
3040
3152
|
* Executes the actual peer reconnection attempt.
|
|
3041
3153
|
* This only re-establishes the WebRTC connection, not the signaling.
|
|
3042
3154
|
*/
|
|
3043
|
-
executePeerReconnect$:
|
|
3155
|
+
executePeerReconnect$: Observable<_ngrx_store.Action<string> | ({
|
|
3044
3156
|
attempt: number;
|
|
3045
3157
|
maxAttempts: number;
|
|
3046
3158
|
delay?: number;
|
|
@@ -3053,19 +3165,19 @@ declare class UnrealEffects {
|
|
|
3053
3165
|
* Handles the case when all peer reconnection attempts have failed.
|
|
3054
3166
|
* Falls back to full disconnection which may trigger full reconnection.
|
|
3055
3167
|
*/
|
|
3056
|
-
handlePeerReconnectFailed$:
|
|
3168
|
+
handlePeerReconnectFailed$: Observable<{
|
|
3057
3169
|
reason: _3dsource_angular_unreal_module.DisconnectReasonType;
|
|
3058
3170
|
message: string;
|
|
3059
3171
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3060
|
-
setMaxFps$:
|
|
3172
|
+
setMaxFps$: Observable<{
|
|
3061
3173
|
maxFps: number;
|
|
3062
3174
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3063
|
-
sendStatisticsToUnreal$:
|
|
3064
|
-
listenUnrealCallbackByInitSignalling$:
|
|
3175
|
+
sendStatisticsToUnreal$: Observable<Object> & _ngrx_effects.CreateEffectMetadata;
|
|
3176
|
+
listenUnrealCallbackByInitSignalling$: Observable<{
|
|
3065
3177
|
id: string;
|
|
3066
3178
|
now: number;
|
|
3067
3179
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3068
|
-
connectToSignaling$:
|
|
3180
|
+
connectToSignaling$: Observable<{
|
|
3069
3181
|
value: boolean;
|
|
3070
3182
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3071
3183
|
private canPeerReconnect;
|
|
@@ -3220,8 +3332,19 @@ declare const selectIsLoaderScreenVisible: _ngrx_store.MemoizedSelector<Record<s
|
|
|
3220
3332
|
* producing a small visual step that indicates the WS handshake succeeded.
|
|
3221
3333
|
*/
|
|
3222
3334
|
declare const selectTotalProgress: _ngrx_store.MemoizedSelector<Record<string, any>, number, (s1: number | null, s2: number, s3: _3dsource_angular_unreal_module.AwsInstance, s4: boolean) => number>;
|
|
3223
|
-
/**
|
|
3224
|
-
|
|
3335
|
+
/**
|
|
3336
|
+
* The connection id of the current stream session.
|
|
3337
|
+
*
|
|
3338
|
+
* Primary source is the orchestration, which issues it as `streamRequestId` —
|
|
3339
|
+
* in the polling response (legacy flow) or in `instanceReserved`/`instanceReady`
|
|
3340
|
+
* (new orchestration) — and the browser hands it to Cirrus on the WS upgrade
|
|
3341
|
+
* URL. `ssData.connectionId` (the `ssInfo` message) is the fallback for
|
|
3342
|
+
* backends that don't issue one yet: Cirrus then generates it itself and
|
|
3343
|
+
* reports it back here.
|
|
3344
|
+
*
|
|
3345
|
+
* Used by external consumers (e.g., metabox). Do not remove.
|
|
3346
|
+
*/
|
|
3347
|
+
declare const selectCirrusConnectionId: _ngrx_store.MemoizedSelector<Record<string, any>, string | undefined, (s1: _3dsource_angular_unreal_module.AwsInstance, s2: _3dsource_angular_unreal_module.SignalingData | null) => string | undefined>;
|
|
3225
3348
|
/** Used by external consumers (e.g., metabox). Do not remove. */
|
|
3226
3349
|
declare const selectUserInactivityDetected: _ngrx_store.MemoizedSelector<Record<string, any>, {
|
|
3227
3350
|
remainingSecondsToDisconnect: number;
|
|
@@ -3233,5 +3356,5 @@ declare const selectUserInactivityDetected: _ngrx_store.MemoizedSelector<Record<
|
|
|
3233
3356
|
/** Used by external consumers (e.g., metabox). Do not remove. */
|
|
3234
3357
|
declare const selectIsVideoPlayingAndDataChannelConnected: _ngrx_store.MemoizedSelector<Record<string, any>, boolean, (s1: boolean, s2: boolean) => boolean>;
|
|
3235
3358
|
|
|
3236
|
-
export { AFKService, AUTO_HIGH_RESOLUTION_IDLE_MS, AfkTimeoutModalComponent, AggregatorService, AnalyticsService, AnswerHandler, CommandTelemetryService, ConfigHandler, ConsoleExtensionsService, ControlScheme, DATA_CHANNEL_CONNECTION_TIMEOUT, DEBOUNCE_TO_MANY_RESIZE_CALLS, DEFAULT_AFK_TIMEOUT, DEFAULT_AFK_TIMEOUT_PERIOD, DESTROY_DISCONNECT_REASONS, DevModeService, DisconnectReason, FULL_HD_HEIGHT, FULL_HD_WIDTH, FileHandlerService, FileReceiverService, FpsMonitorService, FreezeFrameComponent, FreezeFrameService, INNER_RETRY_LIMIT, IceCandidateHandler, ImageLoadingSrcComponent, InputOptions, InputService, InstanceReadyHandler, InstanceReservedHandler, IntroSrcComponent, LatencyTimings, LoadingProgressService, MINIMAL_FPS, MIN_CONTAINER_SIZE, MessageType, MouseButton, MouseButtonsMask, OUTER_RETRY_DELAY, OnCloseHandler, OnErrorHandler, OnMessageHandler, OnOpenHandler, OrchestrationMessageTypes, POLLING_TIME,
|
|
3237
|
-
export type { AggregatedStat, AnySignalingMessage, AwsInstance, BootstrapInfo, CandidateMessage, CloseReason, CommandInProgress, ConfigMessage, ConnectionError, ControlSchemeValues, DisconnectReasonType, EmittedMilestone, EventId,
|
|
3359
|
+
export { AFKService, AUTO_HIGH_RESOLUTION_IDLE_MS, AfkTimeoutModalComponent, AggregatorService, AnalyticsService, AnswerHandler, CommandTelemetryService, ConfigHandler, ConsoleExtensionsService, ControlScheme, DATA_CHANNEL_CONNECTION_TIMEOUT, DEBOUNCE_TO_MANY_RESIZE_CALLS, DEFAULT_AFK_TIMEOUT, DEFAULT_AFK_TIMEOUT_PERIOD, DESTROY_DISCONNECT_REASONS, DevModeService, DisconnectReason, FULL_HD_HEIGHT, FULL_HD_WIDTH, FileHandlerService, FileReceiverService, FpsMonitorService, FreezeFrameComponent, FreezeFrameService, INNER_RETRY_LIMIT, INSTANCE_READY_TIMEOUT, IceCandidateHandler, ImageLoadingSrcComponent, InputOptions, InputService, InstanceReadyHandler, InstanceReservedHandler, IntroSrcComponent, LatencyTimings, LoadingProgressService, MINIMAL_FPS, MIN_CONTAINER_SIZE, MessageType, MouseButton, MouseButtonsMask, OUTER_RETRY_DELAY, OnCloseHandler, OnErrorHandler, OnMessageHandler, OnOpenHandler, OrchestrationMessageTypes, POLLING_TIME, PlayerCountHandler, RECONNECT_CONFIG, REGION_PING_ACCURATE_SAMPLES, REGION_PING_BACKGROUND_REFRESH_DELAY_MS, REGION_PING_CACHE_KEY, REGION_PING_CACHE_TTL_MS, REGION_PING_WARMUP_DEADLINE_MS, RegionsPingService, SAME_SIZE_THRESHOLD, SCREEN_LOCKER_CONTAINER_ID, SIGNALLING_PERCENT_VALUE, SSInfoHandler, STREAMING_AUDIO_ID, STREAMING_VIDEO_ID, SafePipe, SignallingService, SpecialKeyCodes, StatGraphComponent, StreamAdoptionService, 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, provideUnrealState, 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, streamAdopted, trackMixpanelEvent, trackTelemetryData, uint8ToBase64, unrealCommandCallback, unrealFeature, unrealReducer, updateCirrusInfo, videoAdaptedToContainer, videoStreamInitialized };
|
|
3360
|
+
export type { AggregatedStat, AnySignalingMessage, AwsInstance, BootstrapInfo, CandidateMessage, CirrusRequestKind, CloseReason, CommandInProgress, ConfigMessage, ConnectionError, ControlSchemeValues, DisconnectReasonType, EmittedMilestone, EventId, FpsLowData, FreezeFrameMessage, InboundVideoStats, InputProps, InstanceReady, InstanceReserved, InterruptClientStream, ListStreamersMessage, MessageBase, MessageTypeValues, OrchestrationErrorMessage, OrchestrationMessageType, P2PEstablishedMessage, ParkedStream, PhaseEndedData, PhaseOverlay, PhaseParam, PlayerCountMessage, PollingOrchestrationMessage, Quality, QualityAnomalyData, ReceivedFile, RequestStream, ResourceBucket, ResourceTotals, SSInfo, SampleData, SelectedIceCandidatePair, SessionEndReason, SessionEndedData, SessionStartedData, SignalingData, SignalingMessageHandler, SignalingMessageMap, SignalingRetryData, SignalingRetryKind, SlowResource, StreamConfig, StreamRequestContext, StreamResolutionProps, StreamTelemetryEvent, StreamTelemetryEventMap, StreamTelemetryEventName, StreamTelemetryLifecycleData, StreamTelemetryLifecycleEventName, StreamTelemetryTrackData, StreamerListMessage, TelemetryEventEnvelope, TelemetryLifecycleEnvelope, TelemetryType, UnknownFields, UnrealCallbackDescriptor, UnrealCallbackEventMap, UnrealCallbackJson, UnrealCallbackJsonWrapped, UnrealInitialConfig, UnrealState, WSCloseCodesValues, WindowAggregate };
|