/** * Shaka Player Adapter */ import { PlayerAdapter, VideoMetadata, PlayerState, Resolution, CMCDData, PlayerError } from "../types"; import { EventCollector } from "../core/EventCollector"; import { BatchManager } from "../core/BatchManager"; import { Logger } from "../utils/logger"; export declare class ShakaAdapter implements PlayerAdapter { private player; private video; private eventCollector; private batchManager; private logger; private metadata; private readonly eventListeners; private shakaEventHandlers; private lastPlaybackTime; private playingTime; private watchTime; private stallStartTime; private viewStartTime; private seekStartTime; private rebufferCount; private rebufferDuration; private quartileFired; private heartbeatInterval; private seekFrom; constructor(eventCollector: EventCollector, batchManager: BatchManager, logger: Logger); /** * Attach to Shaka Player */ attach(player: any, metadata: VideoMetadata): void; /** * Detach from player */ detach(): void; /** * Attach all event listeners */ private attachEventListeners; /** * Helper to add Shaka event listener */ private onShaka; /** * Helper to add video event listener */ private addEventListener; /** * Manifest Loaded event (Player Ready) */ onManifestLoaded(): Promise; /** * View Start event */ onViewStart(): Promise; /** * Playing event */ onPlaying(): Promise; /** * Pause event */ onPause(): Promise; /** * Seeking event */ onSeeking(): void; /** * Seeked event */ onSeeked(): Promise; /** * Buffering event - Handles stalls */ onBuffering(event: any): Promise; /** * Ended event */ onEnded(): Promise; /** * Adaptation event (Quality Change) */ onAdaptation(): Promise; /** * Shaka Error event */ onShakaError(event: any): Promise; /** * Error handler */ onError(error: PlayerError): Promise; /** * Time Update - Track quartiles */ onTimeUpdate(): Promise; /** * 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=ShakaAdapter.d.ts.map