@3dsource/angular-unreal-module 0.0.156-dev.0 → 0.0.157
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/LICENSE +14 -14
- package/README.md +422 -412
- package/fesm2022/3dsource-angular-unreal-module.mjs +86 -44
- package/fesm2022/3dsource-angular-unreal-module.mjs.map +1 -1
- package/package.json +1 -1
- package/types/3dsource-angular-unreal-module.d.ts +290 -46
package/package.json
CHANGED
|
@@ -620,6 +620,279 @@ interface StreamResolutionProps {
|
|
|
620
620
|
height: number | null;
|
|
621
621
|
}
|
|
622
622
|
|
|
623
|
+
/**
|
|
624
|
+
* Wire contract for every event `StreamStatusTelemetryService2` dispatches
|
|
625
|
+
* through `trackTelemetryData`.
|
|
626
|
+
*
|
|
627
|
+
* This file is the **single source of truth** for the producer side. The
|
|
628
|
+
* consumer side lives in the telemetry viewer
|
|
629
|
+
* (`253.StreamTelemetry/src/app/telemetry/models/telemetry.types.ts`) — any
|
|
630
|
+
* change here needs a paired edit there.
|
|
631
|
+
*
|
|
632
|
+
* Event taxonomy (8 names, 6 payload shapes):
|
|
633
|
+
* | event | payload |
|
|
634
|
+
* |----------------------------|------------------------------------|
|
|
635
|
+
* | `stream.session_started` | {@link SessionStartedData} |
|
|
636
|
+
* | `stream.phase_ended` | {@link PhaseEndedData} |
|
|
637
|
+
* | `stream.session_ended` | {@link SessionEndedData} |
|
|
638
|
+
* | `stream.sample` | {@link SampleData} |
|
|
639
|
+
* | `stream.quality_degraded` | {@link QualityAnomalyData} |
|
|
640
|
+
* | `stream.quality_recovered` | {@link QualityAnomalyData} |
|
|
641
|
+
* | `stream.fps_low` | {@link FpsLowData} |
|
|
642
|
+
* | `stream.signaling_retry` | {@link SignalingRetryData} |
|
|
643
|
+
*/
|
|
644
|
+
/**
|
|
645
|
+
* Every stable id the service can put on the wire — phases, milestones,
|
|
646
|
+
* overlays. The viewer's vocabulary maps each member to a human label, so
|
|
647
|
+
* every id added here needs a paired vocabulary row in the viewer
|
|
648
|
+
* (`telemetry-vocabulary.ts`).
|
|
649
|
+
*/
|
|
650
|
+
type EventId = 'region-resolving' | 'signaling-connection' | 'webrtc-negotiation' | 'unreal-communication' | 'region-ping-fetch-start' | 'region-ping-fetch-end' | 'region-resolved' | 'polling-started' | 'polling-ended' | 'aws-instance-resolved' | 'signaling-ws-connected' | 'instance-reserved' | 'instance-ready' | 'config-received' | 'ssinfo-received' | 'offer-received' | 'answer-sent' | 'answer-received' | 'first-ice-candidate' | 'last-ice-candidate' | 'datachannel-connected' | 'first-command-started' | 'loopback-sent' | 'loopback-received' | 'viewport-ready' | 'polling-to-instance' | 'signaling-handshake' | 'stabilization-warmup';
|
|
651
|
+
/**
|
|
652
|
+
* High-level cause of `stream.session_ended`.
|
|
653
|
+
* - `disconnected` — Cirrus/WebRTC dropped us mid-stream (granular cause
|
|
654
|
+
* rides in {@link SessionEndedData.disconnectReason}).
|
|
655
|
+
* - `pagehide` — tab closed / evicted to bfcache.
|
|
656
|
+
* - `restart` — a new connection attempt superseded this session.
|
|
657
|
+
* - `destroy` — the scene component was torn down (route change).
|
|
658
|
+
*/
|
|
659
|
+
type SessionEndReason = 'disconnected' | 'pagehide' | 'restart' | 'destroy';
|
|
660
|
+
/** Which retry loop in `SignallingService` fired. Mirrors the
|
|
661
|
+
* `signalingRetryAttempted` action's `kind`. */
|
|
662
|
+
type SignalingRetryKind = 'ws-retry' | 'connect' | 'orchestration' | 'region-cycle';
|
|
663
|
+
/**
|
|
664
|
+
* Statistical summary of a time-series metric (bitrate, fps, qp, jitter,
|
|
665
|
+
* rtt) over one aggregation window (5 s, ~20 samples at 250 ms).
|
|
666
|
+
*
|
|
667
|
+
* - `p50` — the typical tick; robust to outliers, primary dashboard signal.
|
|
668
|
+
* - `p95` — the bad tail users actually perceive; preferred for SLOs.
|
|
669
|
+
* - `min` — worst single tick (freeze detection).
|
|
670
|
+
* - `max` — best single tick (did we ever reach the target?).
|
|
671
|
+
*/
|
|
672
|
+
interface WindowAggregate {
|
|
673
|
+
readonly p50: number;
|
|
674
|
+
readonly p95: number;
|
|
675
|
+
readonly min: number;
|
|
676
|
+
readonly max: number;
|
|
677
|
+
}
|
|
678
|
+
/** Milestone pin inside a phase. `id` is stable and kebab-case; the human
|
|
679
|
+
* label lives in the viewer's vocabulary. `time` is anchor-relative ms. */
|
|
680
|
+
interface EmittedMilestone {
|
|
681
|
+
readonly id: EventId;
|
|
682
|
+
readonly time: number;
|
|
683
|
+
}
|
|
684
|
+
/** Display key/value row, rendered verbatim in the viewer's phase tooltip.
|
|
685
|
+
* Always primitives — structured values are pre-formatted by the phase
|
|
686
|
+
* closer before flattening. */
|
|
687
|
+
interface PhaseParam {
|
|
688
|
+
readonly key: string;
|
|
689
|
+
readonly value: string;
|
|
690
|
+
}
|
|
691
|
+
/** Diagonal-striped region inside a phase bar. Endpoints are
|
|
692
|
+
* anchor-relative ms, already resolved by the producer. */
|
|
693
|
+
interface PhaseOverlay {
|
|
694
|
+
readonly fromMs: number;
|
|
695
|
+
readonly toMs: number;
|
|
696
|
+
readonly id: EventId;
|
|
697
|
+
}
|
|
698
|
+
/** Selected WebRTC ICE candidate pair, read off `AggregatedStat`. Flattened
|
|
699
|
+
* to `localCandidate` / `remoteCandidate` params by the viewport closer. */
|
|
700
|
+
interface SelectedIceCandidatePair {
|
|
701
|
+
readonly local: {
|
|
702
|
+
type: string;
|
|
703
|
+
url: string;
|
|
704
|
+
};
|
|
705
|
+
readonly remote: {
|
|
706
|
+
type: string;
|
|
707
|
+
url: string;
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
/** Resource Timing totals for one `initiatorType` (or the grand total).
|
|
711
|
+
* `durationMs` is the SUM across the bucket — with `count` it yields the
|
|
712
|
+
* average per request, and `maxDurationMs` the slowest single one. */
|
|
713
|
+
interface ResourceBucket {
|
|
714
|
+
readonly count: number;
|
|
715
|
+
/** `transferSize === 0 && decodedBodySize > 0` — served from HTTP cache. */
|
|
716
|
+
readonly cachedCount: number;
|
|
717
|
+
readonly transferSize: number;
|
|
718
|
+
readonly encodedBodySize: number;
|
|
719
|
+
readonly decodedBodySize: number;
|
|
720
|
+
readonly durationMs: number;
|
|
721
|
+
readonly maxDurationMs: number;
|
|
722
|
+
}
|
|
723
|
+
interface ResourceTotals extends ResourceBucket {
|
|
724
|
+
readonly byType: Record<string, ResourceBucket>;
|
|
725
|
+
}
|
|
726
|
+
/** One entry of {@link BootstrapInfo.slowestResources}. */
|
|
727
|
+
interface SlowResource {
|
|
728
|
+
/** Path only — origin and query stripped (short, stable, no PII). */
|
|
729
|
+
readonly name: string;
|
|
730
|
+
/** Resource Timing `initiatorType`: 'script' | 'css' | 'img' | 'fetch' | … */
|
|
731
|
+
readonly type: string;
|
|
732
|
+
/** `responseEnd − startTime`, ms. */
|
|
733
|
+
readonly durationMs: number;
|
|
734
|
+
/** Bytes over the wire (0 = served from cache). */
|
|
735
|
+
readonly transferKb: number;
|
|
736
|
+
/** Fetched after `window.load` (lazy route chunk) vs. during page load. */
|
|
737
|
+
readonly lazy: boolean;
|
|
738
|
+
}
|
|
739
|
+
/** Navigation / page-load context explaining the "app bootstrap →
|
|
740
|
+
* session_started" waterfall row. `null` when the Navigation Timing entry
|
|
741
|
+
* is unavailable. */
|
|
742
|
+
interface BootstrapInfo {
|
|
743
|
+
/** `'navigate' | 'reload' | 'back_forward' | 'prerender'`. */
|
|
744
|
+
readonly type: NavigationTimingType;
|
|
745
|
+
/** `nextHopProtocol` — 'h2' / 'h3' / 'http/1.1'. */
|
|
746
|
+
readonly protocol: string | null;
|
|
747
|
+
readonly firstByteMs: number;
|
|
748
|
+
readonly domInteractiveMs: number;
|
|
749
|
+
readonly domContentLoadedMs: number;
|
|
750
|
+
readonly loadEventMs: number;
|
|
751
|
+
readonly navigationTransferSize: number | null;
|
|
752
|
+
readonly navigationEncodedBodySize: number | null;
|
|
753
|
+
readonly navigationDecodedBodySize: number | null;
|
|
754
|
+
/** Resources fetched **before** `loadEventEnd` — page weight. */
|
|
755
|
+
readonly resources: ResourceTotals | null;
|
|
756
|
+
/** Resources fetched **after** `loadEventEnd` — typically lazy chunks for
|
|
757
|
+
* the route the streamer lives on. */
|
|
758
|
+
readonly lazyResources: ResourceTotals | null;
|
|
759
|
+
/** Top-8 slowest individual resources, so the viewer can name the
|
|
760
|
+
* offending file / endpoint. */
|
|
761
|
+
readonly slowestResources: readonly SlowResource[];
|
|
762
|
+
}
|
|
763
|
+
/** Fields present on EVERY event. `userId` is attached centrally by
|
|
764
|
+
* `track()`; the server buckets files under `data/<userId>/<sessionId>`. */
|
|
765
|
+
interface TelemetryEventEnvelope {
|
|
766
|
+
readonly userId: string;
|
|
767
|
+
readonly sessionId: string;
|
|
768
|
+
}
|
|
769
|
+
/** Lifecycle events additionally carry a phase-local `duration` — ms since
|
|
770
|
+
* the previous lifecycle event, NOT anchor-relative. */
|
|
771
|
+
interface TelemetryLifecycleEnvelope extends TelemetryEventEnvelope {
|
|
772
|
+
readonly duration: number;
|
|
773
|
+
}
|
|
774
|
+
/** `stream.session_started` — once per real connection attempt.
|
|
775
|
+
* `duration` = full page-load elapsed on the first session, 0 on resume. */
|
|
776
|
+
interface SessionStartedData extends TelemetryLifecycleEnvelope {
|
|
777
|
+
readonly startTimeUtc: string;
|
|
778
|
+
readonly pixelRatio: number;
|
|
779
|
+
/** `window.innerWidth/innerHeight` at session start — the container that
|
|
780
|
+
* gates rendered video resolution, not the physical screen. */
|
|
781
|
+
readonly browserInnerSize: {
|
|
782
|
+
readonly width: number;
|
|
783
|
+
readonly height: number;
|
|
784
|
+
};
|
|
785
|
+
readonly userAgent: string;
|
|
786
|
+
readonly sampleWindowMs: number;
|
|
787
|
+
/** `location.href` — the server-observed `Referer` is origin-truncated. */
|
|
788
|
+
readonly pageUrl: string;
|
|
789
|
+
readonly bootstrapInfo?: BootstrapInfo;
|
|
790
|
+
}
|
|
791
|
+
/** `stream.phase_ended` — once per phase closer in the service's catalog.
|
|
792
|
+
* No display text on the wire; the viewer's vocabulary resolves every id. */
|
|
793
|
+
interface PhaseEndedData extends TelemetryLifecycleEnvelope {
|
|
794
|
+
/** Stable 1-based catalog index — the viewer orders phases by this. */
|
|
795
|
+
readonly phaseNo: number;
|
|
796
|
+
readonly id: EventId;
|
|
797
|
+
/** CSS hex color for the bar fill. */
|
|
798
|
+
readonly color: string;
|
|
799
|
+
readonly milestones: readonly EmittedMilestone[];
|
|
800
|
+
readonly params: readonly PhaseParam[];
|
|
801
|
+
readonly overlays: readonly PhaseOverlay[];
|
|
802
|
+
/** Set on the connection phases of an ADOPTED prefetched stream: the
|
|
803
|
+
* handshake ran in parallel with page load, so the bar is positioned at
|
|
804
|
+
* {@link spanStartMs} (left-shifted) instead of sequentially. */
|
|
805
|
+
readonly prefetched?: boolean;
|
|
806
|
+
/** Anchor-relative start (ms) of a {@link prefetched} phase's bar. */
|
|
807
|
+
readonly spanStartMs?: number;
|
|
808
|
+
/** Anchor-relative moment Angular adopted the prefetched connection — the
|
|
809
|
+
* sequential timeline resumes here. */
|
|
810
|
+
readonly adoptionAtMs?: number;
|
|
811
|
+
}
|
|
812
|
+
/** `stream.session_ended` — once per session, on disconnect / pagehide /
|
|
813
|
+
* restart / destroy. Requires `api_transport: 'sendBeacon'` to survive a
|
|
814
|
+
* tab close. */
|
|
815
|
+
interface SessionEndedData extends TelemetryLifecycleEnvelope {
|
|
816
|
+
readonly reason: SessionEndReason;
|
|
817
|
+
/** Granular cause read from store state. Omitted when state is clean. */
|
|
818
|
+
readonly disconnectReason?: DisconnectReasonType;
|
|
819
|
+
/** Free-text message paired with {@link disconnectReason}, only when the
|
|
820
|
+
* originating action carried one (e.g. `"Manual Console Drop"`). */
|
|
821
|
+
readonly disconnectMessage?: string;
|
|
822
|
+
readonly timestamp: string;
|
|
823
|
+
}
|
|
824
|
+
/** `stream.sample` — every 5 s, window-aggregated. `seq` is monotonic per
|
|
825
|
+
* session for server-side ordering & dedup. */
|
|
826
|
+
interface SampleData extends TelemetryEventEnvelope {
|
|
827
|
+
readonly seq: number;
|
|
828
|
+
readonly timestamp: string;
|
|
829
|
+
readonly sampleCount: number;
|
|
830
|
+
readonly visibilityState: DocumentVisibilityState;
|
|
831
|
+
readonly bitrate: WindowAggregate;
|
|
832
|
+
readonly fps: WindowAggregate;
|
|
833
|
+
readonly qp: WindowAggregate;
|
|
834
|
+
readonly jitter: WindowAggregate;
|
|
835
|
+
readonly rtt: WindowAggregate;
|
|
836
|
+
readonly packetsLost?: number;
|
|
837
|
+
readonly viewPort: {
|
|
838
|
+
readonly width?: number;
|
|
839
|
+
readonly height?: number;
|
|
840
|
+
};
|
|
841
|
+
}
|
|
842
|
+
/** `stream.quality_degraded` / `stream.quality_recovered` — QP p50 crossing
|
|
843
|
+
* the red threshold (35) in either direction. */
|
|
844
|
+
interface QualityAnomalyData extends TelemetryEventEnvelope {
|
|
845
|
+
readonly seq: number;
|
|
846
|
+
readonly timestamp: string;
|
|
847
|
+
readonly qpP50: number;
|
|
848
|
+
readonly qpP95: number;
|
|
849
|
+
}
|
|
850
|
+
/** `stream.fps_low` — window FPS p50 dropped below 70% of the target. */
|
|
851
|
+
interface FpsLowData extends TelemetryEventEnvelope {
|
|
852
|
+
readonly seq: number;
|
|
853
|
+
readonly timestamp: string;
|
|
854
|
+
/** Requested `maxFps`; `0` means unlimited. */
|
|
855
|
+
readonly target: number;
|
|
856
|
+
/** Target actually compared against (60 when `target === 0`). */
|
|
857
|
+
readonly referenceTarget: number;
|
|
858
|
+
readonly fpsP50: number;
|
|
859
|
+
readonly fpsP95: number;
|
|
860
|
+
}
|
|
861
|
+
/** `stream.signaling_retry` — one per `retry({ delay })` fire in
|
|
862
|
+
* `SignallingService`. Surfaced in the viewer's Anomalies table. */
|
|
863
|
+
interface SignalingRetryData extends TelemetryEventEnvelope {
|
|
864
|
+
readonly seq: number;
|
|
865
|
+
readonly timestamp: string;
|
|
866
|
+
readonly attempt: number;
|
|
867
|
+
readonly reason: string;
|
|
868
|
+
readonly kind: SignalingRetryKind;
|
|
869
|
+
}
|
|
870
|
+
/** Event name → payload. The authoritative index of the wire taxonomy. */
|
|
871
|
+
interface StreamTelemetryEventMap {
|
|
872
|
+
'stream.session_started': SessionStartedData;
|
|
873
|
+
'stream.phase_ended': PhaseEndedData;
|
|
874
|
+
'stream.session_ended': SessionEndedData;
|
|
875
|
+
'stream.sample': SampleData;
|
|
876
|
+
'stream.quality_degraded': QualityAnomalyData;
|
|
877
|
+
'stream.quality_recovered': QualityAnomalyData;
|
|
878
|
+
'stream.fps_low': FpsLowData;
|
|
879
|
+
'stream.signaling_retry': SignalingRetryData;
|
|
880
|
+
}
|
|
881
|
+
type StreamTelemetryEventName = keyof StreamTelemetryEventMap;
|
|
882
|
+
/** Names emitted via `emitLifecycle` — the three `duration`-carrying events. */
|
|
883
|
+
type StreamTelemetryLifecycleEventName = 'stream.session_started' | 'stream.phase_ended' | 'stream.session_ended';
|
|
884
|
+
/** Discriminated union of every `trackTelemetryData` envelope. */
|
|
885
|
+
type StreamTelemetryEvent = {
|
|
886
|
+
[K in StreamTelemetryEventName]: {
|
|
887
|
+
readonly event: K;
|
|
888
|
+
readonly data: StreamTelemetryEventMap[K];
|
|
889
|
+
};
|
|
890
|
+
}[StreamTelemetryEventName];
|
|
891
|
+
/** Payload a caller supplies to `track()` — `userId` is added centrally. */
|
|
892
|
+
type StreamTelemetryTrackData<K extends StreamTelemetryEventName> = Omit<StreamTelemetryEventMap[K], 'userId'>;
|
|
893
|
+
/** Payload a caller supplies to `emitLifecycle()` — `duration` is computed. */
|
|
894
|
+
type StreamTelemetryLifecycleData<K extends StreamTelemetryLifecycleEventName> = Omit<StreamTelemetryEventMap[K], 'userId' | 'duration'>;
|
|
895
|
+
|
|
623
896
|
type TelemetryType = 'commandSent' | 'commandStop';
|
|
624
897
|
|
|
625
898
|
declare class SubService {
|
|
@@ -1142,51 +1415,6 @@ declare class StreamStatusTelemetryService extends SubService {
|
|
|
1142
1415
|
static ɵprov: i0.ɵɵInjectableDeclaration<StreamStatusTelemetryService>;
|
|
1143
1416
|
}
|
|
1144
1417
|
|
|
1145
|
-
/**
|
|
1146
|
-
* Every stable id this service can emit on the wire — phases,
|
|
1147
|
-
* milestones, overlays. The viewer's vocabulary maps each member to a
|
|
1148
|
-
* human label, so every id added here needs a paired vocabulary row
|
|
1149
|
-
* in the viewer (`telemetry-vocabulary.ts`).
|
|
1150
|
-
*/
|
|
1151
|
-
type EventId = 'region-resolving' | 'signaling-connection' | 'webrtc-negotiation' | 'unreal-communication' | 'region-ping-fetch-start' | 'region-ping-fetch-end' | 'region-resolved' | 'polling-started' | 'polling-ended' | 'aws-instance-resolved' | 'signaling-ws-connected' | 'instance-reserved' | 'instance-ready' | 'config-received' | 'ssinfo-received' | 'offer-received' | 'answer-sent' | 'answer-received' | 'first-ice-candidate' | 'last-ice-candidate' | 'datachannel-connected' | 'first-command-started' | 'loopback-sent' | 'loopback-received' | 'viewport-ready' | 'polling-to-instance' | 'signaling-handshake' | 'stabilization-warmup';
|
|
1152
|
-
/** Wire-format milestone — minimal by design. `id` is a stable
|
|
1153
|
-
* kebab-case identifier; the viewer maps it to a human label via its
|
|
1154
|
-
* vocabulary. */
|
|
1155
|
-
interface EmittedMilestone {
|
|
1156
|
-
readonly id: EventId;
|
|
1157
|
-
readonly time: number;
|
|
1158
|
-
}
|
|
1159
|
-
/**
|
|
1160
|
-
* Selected WebRTC ICE candidate pair, pulled off {@link AggregatedStat}.
|
|
1161
|
-
* The closer for the viewport phase flattens this to two `PhaseParam`
|
|
1162
|
-
* rows (`localCandidate`, `remoteCandidate`) before emission.
|
|
1163
|
-
*/
|
|
1164
|
-
interface SelectedIceCandidatePair {
|
|
1165
|
-
local: {
|
|
1166
|
-
type: string;
|
|
1167
|
-
url: string;
|
|
1168
|
-
};
|
|
1169
|
-
remote: {
|
|
1170
|
-
type: string;
|
|
1171
|
-
url: string;
|
|
1172
|
-
};
|
|
1173
|
-
}
|
|
1174
|
-
/**
|
|
1175
|
-
* Wire-format display key/value pair — rendered verbatim in the viewer's
|
|
1176
|
-
* phase tooltip. Nested or structured values should be pre-formatted by
|
|
1177
|
-
* the catalog closer's `map(...)` (string/number/boolean only).
|
|
1178
|
-
*/
|
|
1179
|
-
interface PhaseParam {
|
|
1180
|
-
readonly key: string;
|
|
1181
|
-
readonly value: string;
|
|
1182
|
-
}
|
|
1183
|
-
/** Resolved overlay region sent on the wire. `id` is a stable
|
|
1184
|
-
* kebab-case identifier mapped to a title by the viewer's vocabulary. */
|
|
1185
|
-
interface PhaseOverlay {
|
|
1186
|
-
readonly fromMs: number;
|
|
1187
|
-
readonly toMs: number;
|
|
1188
|
-
readonly id: EventId;
|
|
1189
|
-
}
|
|
1190
1418
|
declare class StreamStatusTelemetryService2 {
|
|
1191
1419
|
private readonly store;
|
|
1192
1420
|
private readonly actions$;
|
|
@@ -2810,6 +3038,22 @@ declare class UnrealEffects {
|
|
|
2810
3038
|
code: number | null;
|
|
2811
3039
|
error?: string;
|
|
2812
3040
|
} & _ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
3041
|
+
/**
|
|
3042
|
+
* `dataChannelReady` is a ONCE-PER-SESSION signal: it starts app init
|
|
3043
|
+
* (console commands → loopback → viewport) and makes `SignallingService`
|
|
3044
|
+
* send `p2pEstablished`. Neither is idempotent, so a second
|
|
3045
|
+
* `dataChannelConnected` inside the same session must not re-emit it.
|
|
3046
|
+
*
|
|
3047
|
+
* That second announcement is real in the prefetch flow: `adopt()` declares
|
|
3048
|
+
* the already-open channel manually, while the transport it adopted can
|
|
3049
|
+
* still produce its own `dataChannelConnected` afterwards — the effect used
|
|
3050
|
+
* to turn both into `dataChannelReady`.
|
|
3051
|
+
*
|
|
3052
|
+
* `exhaustMap` over an inner stream that emits once and then idles keeps the
|
|
3053
|
+
* gate shut until the session actually ends; `takeUntil` re-opens it on a
|
|
3054
|
+
* cirrus drop, a scene destroy, or the start of a peer reconnect (which is
|
|
3055
|
+
* where the pre-existing `isReconnecting` filter hands over).
|
|
3056
|
+
*/
|
|
2813
3057
|
unrealReceiverReady$: rxjs.Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
2814
3058
|
initAppByDataChannelReady$: rxjs.Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
2815
3059
|
setViewportReadyBySetLoopBackCommandIsCompleted$: rxjs.Observable<_ngrx_store.Action<string>> & _ngrx_effects.CreateEffectMetadata;
|
|
@@ -3049,4 +3293,4 @@ declare const selectUserInactivityDetected: _ngrx_store.MemoizedSelector<Record<
|
|
|
3049
3293
|
declare const selectIsVideoPlayingAndDataChannelConnected: _ngrx_store.MemoizedSelector<Record<string, any>, boolean, (s1: boolean, s2: boolean) => boolean>;
|
|
3050
3294
|
|
|
3051
3295
|
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, 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, LowBandwidthStateService, MINIMAL_FPS, MIN_CONTAINER_SIZE, MessageType, MouseButton, MouseButtonsMask, OUTER_RETRY_DELAY, OnCloseHandler, OnErrorHandler, OnMessageHandler, OnOpenHandler, OrchestrationMessageTypes, POLLING_TIME, PingHandler, 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 };
|
|
3052
|
-
export type { AggregatedStat, AnySignalingMessage, AwsInstance, CandidateMessage, CloseReason, CommandInProgress, ConfigMessage, ConnectionError, ControlSchemeValues, DataFlowCheckResult, DisconnectReasonType, EmittedMilestone, EventId, ForceClientDisconnect, FreezeFrameMessage, InboundVideoStats, InputProps, InstanceReady, InstanceReserved, InterruptClientStream, ListStreamersMessage, MessageBase, MessageTypeValues, OrchestrationErrorMessage, OrchestrationMessageType, P2PEstablishedMessage, ParkedStream, PhaseOverlay, PhaseParam, PingMessage, PlayerCountMessage, PollingOrchestrationMessage, Quality, ReceivedFile, RequestStream, SSInfo, SelectedIceCandidatePair, SignalingData, SignalingMessageHandler, SignalingMessageMap, StreamConfig, StreamRequestContext, StreamResolutionProps, StreamerListMessage, TelemetryType, UnknownFields, UnrealCallbackDescriptor, UnrealCallbackEventMap, UnrealCallbackJson, UnrealCallbackJsonWrapped, UnrealInitialConfig, UnrealState, WSCloseCodesValues, streamPreparedForUserInteractionMessage };
|
|
3296
|
+
export type { AggregatedStat, AnySignalingMessage, AwsInstance, BootstrapInfo, CandidateMessage, CloseReason, CommandInProgress, ConfigMessage, ConnectionError, ControlSchemeValues, DataFlowCheckResult, DisconnectReasonType, EmittedMilestone, EventId, ForceClientDisconnect, FpsLowData, FreezeFrameMessage, InboundVideoStats, InputProps, InstanceReady, InstanceReserved, InterruptClientStream, ListStreamersMessage, MessageBase, MessageTypeValues, OrchestrationErrorMessage, OrchestrationMessageType, P2PEstablishedMessage, ParkedStream, PhaseEndedData, PhaseOverlay, PhaseParam, PingMessage, 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, streamPreparedForUserInteractionMessage };
|