@phenixrts/sdk
Version:
JavaScript SDK
26 lines (25 loc) • 1.21 kB
TypeScript
import IDisposable from '../../lang/IDisposable';
import ChannelContext from '../context/ChannelContext';
import FrameTimingInformationContext from '../context/FrameTimingInformationContext';
export default class H264FrameTimingInformationManager implements IDisposable {
private static readonly MAX_FRAME_TIMING_ENTRIES;
private readonly _channelContext;
private readonly _frameTimingInformationContext;
private readonly _bitstreamDecoder;
private readonly _frameTimingsByRtpTimestamp;
private readonly _picturingTimingParsingConfig;
private readonly _pictureTimingParser;
private readonly _videoElementDisposables;
private _currentPlaybackState;
private _armedVideoFrameCallbackId;
private readonly _disposables;
private _disposed;
constructor(channelContext: ChannelContext, frameTimingInformationContext: FrameTimingInformationContext);
processFrame(streamId: string, mid: string, trackId: string, frame: RTCEncodedVideoFrame): void;
dispose(): void;
private onPictureTimingExtracted;
private videoFrameCallback;
private removeFrameTimingsExceedingMaxCapacity;
private setupVideoEventListeners;
private armVideoFrameCallback;
}