export default Playlist; export type TSFrag = { duration: number; downloaded: boolean; downloading: boolean; start?: number | undefined; cc: number; discontinue: boolean; }; /** * @typedef {Object} TSFrag * @property {number} duration * @property {boolean} downloaded * @property {boolean} downloading * @property {number=} start * @property {number} cc * @property {boolean} discontinue */ declare class Playlist { constructor(configs: any); /** @type {string} */ _baseURL: string; /** @type {Object.} */ _list: { [x: number]: string; }; /** @type {Object.} */ _ts: { [x: string]: TSFrag; }; /** @type {number} */ version: number; /** @type {number} */ sequence: number; /** @type {number} */ targetduration: number; /** @type {number} */ duration: number; /** @type {number} */ fragLength: number; /** @type {TSFrag | undefined} */ _lastget: TSFrag | undefined; /** @type {boolean} */ end: boolean; /** @type {boolean} */ autoclear: boolean; /** @type {*} */ logger: any; /** @type {string[]} */ downloadedUrls: string[]; _avgSegmentDuration: number; /** * @return {Object} */ get list(): { [x: number]: string; }; /** * @param {string} baseURL */ set baseURL(arg: string); /** * base cdn url for ts fragments * @return {string} */ get baseURL(): string; get avgSegmentDuration(): number; /** * add a ts frag to play list * @param {string} tsURL ts frag url * @param {number} duration ts frag duration * @param {boolean} discontinue has #EXT-X-DISCONTINUITY tag before this frag * @param {number} id * @param {number} cc */ push(tsURL: string, duration: number, discontinue: boolean, id: number, cc: number, isLast: any): void; /** * delete a fragment from playlist * @param {string} url */ deleteFrag(url: string): void; _calcAvgFrgmentDuration(data: any): any; /** * add m3u8 to current play list * @param {*} data * @param {boolean} deletepre */ pushM3U8(data: any, deletepre: boolean): void; encrypt: any; /** * return ts url list * @return {string[]} */ getTsList(): string[]; /** * mark a ts frag as downloaded / not downloaded * @param {string} tsname * @param {boolean} isloaded */ downloaded(tsname: string, isloaded: boolean): void; /** * mark a ts frag as loading / not loading * @param {string} tsname * @param {boolean} loading */ downloading(tsname: string, loading: boolean): void; /** * get a frag by ts name * @param name * @return {TSFrag} */ getTsByName(name: any): TSFrag; /** * get ts frag by timestamp * @param {number} time * @return {undefined|TSFrag} */ getTs(time: number): undefined | TSFrag; /** * get last downloaded ts frag * @return {TSFrag|undefined} */ getLastDownloadedTs(): TSFrag | undefined; clear(): void; clearDownloaded(): void; destroy(): void; resetSequence(): void; }