import { OVar } from "../jshelper/mod.ts"; import { EncodingProfile, JhlsMetadata } from "./jhls.d.ts"; export interface EncodingProfileExt extends EncodingProfile { id: number } export class ProfileSelector { profiles_video: EncodingProfileExt[] = [] profiles_audio: EncodingProfileExt[] = [] profiles_subtitles: EncodingProfileExt[] = [] constructor(private bandwidth: OVar, private metadata: JhlsMetadata) { for (let id = 0; id < metadata.extra_profiles.length; id++) { const p = metadata.extra_profiles[id]; if (p.audio) this.profiles_audio.push({ id, ...p }) if (p.video) this.profiles_video.push({ id, ...p }) if (p.subtitles) this.profiles_subtitles.push({ id, ...p }) } } select_optimal_profile(track: number, profile: OVar) { // TODO } }