UNPKG

m3u8parse

Version:

Structural parsing of Apple HTTP Live Streaming .m3u8 format

27 lines (26 loc) 1.2 kB
import type * as AttrT from './attr-types.ts'; import { AttrList } from './attrlist.ts'; import { BasePlaylist, ImmutableUriMapFunction, Immutify, IRewritableUris, UriMapFunction } from './playlist-base.ts'; import { MediaPlaylist } from './playlist-media.ts'; import type { Proto } from './types.ts'; interface Variant { uri: string; info?: AttrList<AttrT.StreamInf> | undefined; } export type EntryType = 'variant' | 'iframe' | 'group' | 'data' | 'session-key'; export declare class MainPlaylist extends BasePlaylist implements IRewritableUris { static cast(index: MediaPlaylist | MainPlaylist): MainPlaylist | never; readonly master: true; groups: Map<string, AttrList<AttrT.Media>[]>; variants: Variant[]; iframes: AttrList<AttrT.IFrameStreamInf>[]; data: Map<string, AttrList<AttrT.SessionData>[]>; session_keys: AttrList<AttrT.SessionKey>[]; constructor(obj?: Proto<MainPlaylist | ImmutableMainPlaylist>); rewriteUris(mapFn: UriMapFunction<EntryType>): this; } interface _ImmutableMain extends MainPlaylist { rewriteUris(mapFn: ImmutableUriMapFunction<EntryType>): this; } export type ImmutableMainPlaylist = Immutify<_ImmutableMain>; export {};