@jxstjh/jhvideo
Version:
HTML5 jhvideo base on MPEG2-TS Stream Player
120 lines (119 loc) • 3.88 kB
TypeScript
/// <reference types="node" />
export default HlsPlayer;
declare class HlsPlayer {
constructor(mediaDataSource: any, config: any);
TAG: string;
_type: string;
_emitter: EventEmitter;
_config: {
enableWorker: boolean;
enableStashBuffer: boolean;
stashInitialSize: any;
isLive: boolean;
liveBufferLatencyChasing: boolean;
liveBufferLatencyMaxLatency: number;
liveBufferLatencyMinRemain: number;
lazyLoad: boolean;
lazyLoadMaxDuration: number;
lazyLoadRecoverDuration: number;
deferLoadAfterSourceOpen: boolean;
autoCleanupMaxBackwardDuration: number;
autoCleanupMinBackwardDuration: number;
statisticsInfoReportInterval: number;
fixAudioTimestampGap: boolean;
accurateSeek: boolean;
seekType: string;
seekParamStart: string;
seekParamEnd: string;
rangeLoadZeroStart: boolean;
customSeekHandler: any;
reuseRedirectedURL: boolean;
headers: any;
customLoader: any;
useOuterLoader: boolean;
};
e: {
onvLoadedMetadata: any;
onHlsManifestParsed: any;
onHlsError: any;
onHlsFragLoaded: any;
onvCanPlay: any;
onvPlaying: any;
onvError: any;
};
_pendingSeekTime: any;
_statisticsReporter: number;
_networkDead: boolean;
_mediaDataSource: any;
_mediaElement: any;
_canvasElement: any;
_hls: Hls;
_wasmPlayer: WasmPlayer;
_useWasmPlayback: boolean;
_firstWasmFrameRendered: boolean;
_wasmPlaylistTimer: number;
_playlistPromise: Promise<void>;
_processedSegments: Set<any>;
_playlistUrl: any;
_initSegmentInfo: any;
_bootstrapAbortController: AbortController;
_fatalWasmError: boolean;
_wasmPollGeneration: number;
_hevcBootstrap: any;
_pendingHevcFallback: boolean;
_standardPlaybackConfirmed: boolean;
_destroyed: boolean;
_loadGeneration: number;
destroy(): void;
on(event: any, listener: any): void;
off(event: any, listener: any): void;
attachMediaElement(mediaElement: any, canvasElement: any): void;
detachMediaElement(): void;
load(): void;
unload(): void;
play(): any;
pause(): void;
get isNetworkDead(): boolean;
get type(): string;
get buffered(): any;
get duration(): any;
set volume(value: any);
get volume(): any;
set muted(muted: any);
get muted(): any;
set currentTime(seconds: any);
get currentTime(): any;
get mediaInfo(): {
mimeType: string;
};
get statisticsInfo(): {
playerType: string;
url: any;
};
_onvLoadedMetadata(e: any): void;
_onHlsManifestParsed(event: any, data: any): void;
_onHlsFragLoaded(): void;
_onHlsError(event: any, data: any): void;
_onvCanPlay(): void;
_onvPlaying(): void;
_onvError(): void;
_reportStatisticsInfo(): void;
_isDisposed(): boolean;
_isStaleLoad(loadGeneration: any): boolean;
_bootstrapLoadMode(loadGeneration: any): void;
_fetchBootstrapInfo(url: any, signal: any): any;
_shouldPreferStandardHevcPlayback(bootstrap: any): boolean;
_canUseMseHevcPlayback(initInfo: any): boolean;
_canUseNativeHevcPlayback(): boolean;
_shouldFallbackToWasm(data: any): boolean;
_fallbackToWasmPlayback(reason: any): void;
_startStandardHlsPlayback(loadGeneration?: number): void;
_startWasmPlayback(bootstrap: any): void;
_scheduleNextPlaylistPoll(targetDuration: any, pollGeneration?: number): void;
_stopWasmPlaylistTimer(): void;
_refreshWasmPlaylist(pollGeneration?: number): Promise<void>;
_consumePlaylist(playlist: any): Promise<void>;
}
import EventEmitter from 'events';
import Hls from 'hls.js';
import { Player as WasmPlayer } from './wasm_player.js';