UNPKG

1 kBTypeScriptView Raw
1/// <reference types="node" />
2import { PassThrough } from 'stream';
3import miniget from 'miniget';
4declare namespace m3u8stream {
5 interface Options {
6 begin?: number | string;
7 liveBuffer?: number;
8 chunkReadahead?: number;
9 highWaterMark?: number;
10 requestOptions?: miniget.Options;
11 parser?: 'm3u8' | 'dash-mpd';
12 id?: string;
13 }
14 interface Progress {
15 num: number;
16 size: number;
17 duration: number;
18 url: string;
19 }
20 interface Stream extends PassThrough {
21 end: () => void;
22 on(event: 'progress', progress: Progress, totalSegments: number, downloadedBytes: number): this;
23 on(event: string | symbol, listener: (...args: any) => void): this;
24 }
25 interface m3u8streamFunc {
26 (playlistURL: string, options?: m3u8stream.Options): Stream;
27 parseTimestamp(time: number | string): number;
28 }
29}
30declare let m3u8stream: m3u8stream.m3u8streamFunc;
31export = m3u8stream;