/** * HLS.js Player Adapter */ import { PlayerAdapter, VideoMetadata, PlayerState, Resolution, CMCDData } from "../types"; import { EventCollector } from "../core/EventCollector"; import { BatchManager } from "../core/BatchManager"; import { Logger } from "../utils/logger"; export declare class HlsJsAdapter implements PlayerAdapter { private player; private video; private eventCollector; private batchManager; private logger; private metadata; private readonly eventListeners; private hlsEventHandlers; private lastPlaybackTime; private playingTime; private watchTime; private stallStartTime; private viewStartTime; private seekStartTime; private rebufferCount; private rebufferDuration; private quartileFired; private heartbeatInterval; private seekFrom; private currentBitrate; private currentResolution; private currentFPS; private bufferStats; private bufferSampleRate; private bufferZThreshold; private fragStats; private fragSampleRate; private fragZThreshold; private qualityLevelMap; constructor(eventCollector: EventCollector, batchManager: BatchManager, logger: Logger); /** * Attach to HLS.js instance */ attach(player: any, metadata: VideoMetadata): void; /** * Detach from HLS instance */ detach(): void; private onVisibilityChange; private resolveHlsJS; /** * Attach all event listeners */ private attachEventListeners; /** * Helper to add HLS event listener */ private onHls; /** * Helper to add video event listener */ private addEventListener; /** * Event Handlers - Ordered by attachEventListeners() sequence */ /** * Fragment Buffered event */ private onFragmentLoaded; /** * Manifest Loading Start */ private onManifestLoaded; /** * On Player Ready */ private onPlayerReady; /** * Buffer Append event */ private onBufferLevelChange; /** * Quality Change Request event */ private onQualityChangeRequested; /** * Quality Change Rendered */ private onQualityChangeRendered; /** * HLS Error event */ private onHlsError; /** * Playback Detached event */ private onPlaybackDetached; /** * Can Play Event */ private onCanPlay; /** * Playing event */ private onPlaying; /** * Pause event */ private onPause; /** * Playing after waiting - Stall End */ private onPlayingAfterWait; /** * Ended event */ private onEnded; /** * Playback error */ private onPlaybackError; /** * Seeking event */ private onSeeking; /** * Seeked event */ private onSeeked; /** * Stall Start (waiting) event */ private onStallStart; /** * Time Update - Track quartiles */ private onTimeUpdate; /** * Playback rate changed */ private onPlaybackRateChanged; /** * Playback volume changed */ private onPlaybackVolumeChanged; private onMoveAway; private onMoveback; /** * Error handler */ private onError; /** * Heartbeat - Send periodic updates */ private startHeartbeat; /** * Stop heartbeat */ private stopHeartbeat; /** * Get current time in seconds */ getCurrentTime(): number; /** * Get duration in seconds */ getDuration(): number; /** * Get bitrate */ getBitrate(): number | null; /** * Get video resolution */ getVideoResolution(): Resolution | null; /** * Get framerate */ getFramerate(): number | null; /** * Get dropped frames */ getDroppedFrames(): number | undefined; /** * Get player state */ getPlayerState(): PlayerState; /** * Get CMCD data */ getCMCDData(): CMCDData | null; /** * Get buffer length in ms */ private getBufferLength; private getBufferAhead; } //# sourceMappingURL=HlsJsAdapter.d.ts.map