@epicgames-ps/lib-pixelstreamingfrontend-ue5.4
Version:
Frontend library for Unreal Engine 5.4 Pixel Streaming
85 lines (84 loc) • 3.15 kB
TypeScript
import { InboundRTPStats, InboundVideoStats, InboundAudioStats } from './InboundRTPStats';
import { InboundTrackStats } from './InboundTrackStats';
import { DataChannelStats } from './DataChannelStats';
import { CandidateStat } from './CandidateStat';
import { CandidatePairStats } from './CandidatePairStats';
import { OutBoundRTPStats, OutBoundVideoStats } from './OutBoundRTPStats';
import { SessionStats } from './SessionStats';
import { StreamStats } from './StreamStats';
import { CodecStats } from './CodecStats';
export declare class AggregatedStats {
inboundVideoStats: InboundVideoStats;
inboundAudioStats: InboundAudioStats;
lastVideoStats: InboundVideoStats;
lastAudioStats: InboundAudioStats;
candidatePairs: Array<CandidatePairStats>;
DataChannelStats: DataChannelStats;
localCandidates: Array<CandidateStat>;
remoteCandidates: Array<CandidateStat>;
outBoundVideoStats: OutBoundVideoStats;
sessionStats: SessionStats;
streamStats: StreamStats;
codecs: Map<string, string>;
transportStats: RTCTransportStats;
constructor();
/**
* Gather all the information from the RTC Peer Connection Report
* @param rtcStatsReport - RTC Stats Report
*/
processStats(rtcStatsReport: RTCStatsReport): void;
/**
* Process stream stats data from webrtc
*
* @param stat - the stats coming in from webrtc
*/
handleStream(stat: StreamStats): void;
/**
* Process the Ice Candidate Pair Data
* @param stat - the stats coming in from ice candidates
*/
handleCandidatePair(stat: CandidatePairStats): void;
/**
* Process the Data Channel Data
* @param stat - the stats coming in from the data channel
*/
handleDataChannel(stat: DataChannelStats): void;
/**
* Process the Local Ice Candidate Data
* @param stat - local stats
*/
handleLocalCandidate(stat: CandidateStat): void;
/**
* Process the Remote Ice Candidate Data
* @param stat - ice candidate stats
*/
handleRemoteCandidate(stat: CandidateStat): void;
/**
* Process the Inbound RTP Audio and Video Data
* @param stat - inbound rtp stats
*/
handleInBoundRTP(stat: InboundRTPStats): void;
/**
* Process the outbound RTP Audio and Video Data
* @param stat - remote outbound stats
*/
handleRemoteOutBound(stat: OutBoundRTPStats): void;
/**
* Process the Inbound Video Track Data
* @param stat - video track stats
*/
handleTrack(stat: InboundTrackStats): void;
handleTransport(stat: RTCTransportStats): void;
handleCodec(stat: CodecStats): void;
handleSessionStatistics(videoStartTime: number, inputController: boolean | null, videoEncoderAvgQP: number): void;
/**
* Check if a value coming in from our stats is actually a number
* @param value - the number to be checked
*/
isNumber(value: unknown): boolean;
/**
* Helper function to return the active candidate pair
* @returns The candidate pair that is currently receiving data
*/
getActiveCandidatePair(): CandidatePairStats | null;
}