diff options
author | metamuffin <metamuffin@disroot.org> | 2023-10-02 20:02:06 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-10-02 20:02:06 +0200 |
commit | e25beb3e0c2531b09d8efd70e858396dcc631dd2 (patch) | |
tree | 917189b7e5e5363c830fbdabcb416e16623a6438 /web/script/player/mod.ts | |
parent | 839c1e1490e7cd856e6ada1dcfd82f3d4505c89c (diff) | |
download | jellything-e25beb3e0c2531b09d8efd70e858396dcc631dd2.tar jellything-e25beb3e0c2531b09d8efd70e858396dcc631dd2.tar.bz2 jellything-e25beb3e0c2531b09d8efd70e858396dcc631dd2.tar.zst |
add profiles to jhls
Diffstat (limited to 'web/script/player/mod.ts')
-rw-r--r-- | web/script/player/mod.ts | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/web/script/player/mod.ts b/web/script/player/mod.ts index 52da454..caad781 100644 --- a/web/script/player/mod.ts +++ b/web/script/player/mod.ts @@ -4,35 +4,7 @@ Copyright (C) 2023 metamuffin <metamuffin.org> */ import { OVar, e } from "../jshelper/mod.ts"; - -export interface Range { start: number, end: number } -export interface JhlsMetadata { - tracks: JhlsTrack[], - duration: number, -} -export interface JhlsTrack { - info: SourceTrack, - segments: Range[], -} -export interface SourceTrack { - kind: SourceTrackKind, - name: string, - codec: string, - language: string, -} -export interface SourceTrackKind { - video?: { - width: number, - height: number, - fps: number, - }, - audio?: { - channels: number, - sample_rate: number, - bit_depth: number, - }, - subtitles?: boolean, -} +import { JhlsMetadata, JhlsTrack, TimeRange } from "./jhls.d.ts"; const TARGET_BUFFER_DURATION = 15 const MIN_BUFFER_DURATION = 1 @@ -148,7 +120,7 @@ function display_time(t: number): string { return (h ? h + "h" : "") + (m ? m + "m" : "") + (s ? s + "s" : "") } -interface BufferRange extends Range { status: "buffered" | "loading" | "queued" } +interface BufferRange extends TimeRange { status: "buffered" | "loading" | "queued" } class Player { public video = e("video") private media_source = new MediaSource(); @@ -240,10 +212,9 @@ class Player { await this.update(p) this.video.currentTime = p } - } -interface AppendRange extends Range { buf: ArrayBuffer, index: number, cb: () => void } +interface AppendRange extends TimeRange { buf: ArrayBuffer, index: number, cb: () => void } class PlayerTrack { private source_buffer: SourceBuffer private current_load?: AppendRange |