/** * dash.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 DashJsAdapter implements PlayerAdapter { private player; private video; private eventCollector; private batchManager; private logger; private metadata; private dashEventHandlers; private dashMetrics; 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; constructor(eventCollector: EventCollector, batchManager: BatchManager, logger: Logger); /** * Attach to dash.js player */ attach(player: any, metadata: VideoMetadata): void; /** * Detach from player */ detach(): void; private onVisibilityChange; private resolveDashJS; /** * Attach all event listeners */ private attachEventListeners; /** * Helper to add dash.js event listener */ private onDash; /** * Fragment Loaded event */ private onFragmentLoaded; /** * Manifest Loading Start event */ private onManifestLoad; /** * Manifest Loaded event (Player Ready) */ private onPlayerReady; /** * Buffer Level Change event */ private onBufferLevelChange; /** * Bitrate Change event */ private onBandwidthChange; /** * Quality Change Requested event */ private onQualityChangeRequested; /** * Quality Change Rendered event */ private onQualityChangeRendered; /** * View Start event */ private onCanPlay; /** * Playing event */ private onPlaying; /** * Pause event */ private onPause; /** * Playing after waiting - Stall End */ private onPlayingAfterWait; /** * Ended event */ private onEnded; /** * Playback Error event */ private onPlaybackError; /** * Seeking event */ private onSeeking; /** * Seeked event */ private onSeeked; /** * Stall Start (waiting) event */ private onStallStart; /** * Playback Rate Change event */ private onPlaybackRateChanged; /** * Playback Volume Change event */ private onPlaybackVolumeChanged; /** * Time Update - Track quartiles */ private onTimeUpdate; 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; } //# sourceMappingURL=DashJsAdapter.d.ts.map