@phenixrts/sdk
Version:
JavaScript SDK
33 lines (32 loc) • 1.29 kB
TypeScript
import IDisposable from '../lang/IDisposable';
import MetricsService from '../metrics/MetricsService';
export default class VideoTelemetry implements IDisposable {
private readonly _pageLoadTime;
private readonly _channelStartTime;
private readonly _logger;
private readonly _disposables;
private readonly _streamId;
private readonly _metricsService;
private _listenToFirstTime;
private _listenForStall;
private _listenForContinuation;
private _timeToFirstFrame;
private _channelCreationTimeToFirstFrame;
private _startRecordingFirstFrame;
private _videoStalled;
private _lastProgress;
private _videoResolution;
private _clearTimeToFirstFrameListener;
private _clearRebufferingListener;
constructor(streamId: string, pageLoadTime: number, channelStartTime: number, metricsService: MetricsService);
setupListenerForTimeToFirstTime(video: HTMLVideoElement): void;
setupListenerForRebuffering(video: HTMLVideoElement): void;
dispose(): void;
private get durationSincePageLoad();
private callTimeToFirstFrame;
private pushTimeToFirstFrame;
private pushChannelCreationTimeToFirstFrame;
private onStall;
private onContinuation;
onVideoResolutionChanges(newResolution: string): void;
}