diff options
| author | metamuffin <metamuffin@disroot.org> | 2024-01-26 05:30:15 +0100 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-01-26 05:30:15 +0100 | 
| commit | 648248a1f21fca5cf86870209790b9de085b6639 (patch) | |
| tree | 27a5a093e03ea956812258d61cc362a498db27b5 /web/script/player | |
| parent | de39012c5b020a2b98c21fd3540dde9929ce8c71 (diff) | |
| download | jellything-648248a1f21fca5cf86870209790b9de085b6639.tar jellything-648248a1f21fca5cf86870209790b9de085b6639.tar.bz2 jellything-648248a1f21fca5cf86870209790b9de085b6639.tar.zst  | |
player: enable one track of each kind
Diffstat (limited to 'web/script/player')
| -rw-r--r-- | web/script/player/player.ts | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/web/script/player/player.ts b/web/script/player/player.ts index 677dbc8..c5ceed0 100644 --- a/web/script/player/player.ts +++ b/web/script/player/player.ts @@ -10,6 +10,7 @@ import { SegmentDownloader } from "./download.ts";  import { PlayerTrack } from "./track.ts";  import { Logger } from "../jshelper/src/log.ts";  import { WatchedState } from "./jhls.d.ts"; +import { get_track_kind } from "./mediacaps.ts";  export interface BufferRange extends TimeRange { status: "buffered" | "loading" | "queued" }  export class Player { @@ -105,8 +106,17 @@ export class Player {          this.video.src = URL.createObjectURL(this.media_source)          this.media_source.addEventListener("sourceopen", async () => {              this.set_pers("Downloading track indecies...") -            await this.set_track_enabled(0, true, false) -            await this.set_track_enabled(1, true, false) +            let video = false, audio = false, subtitles = false; +            for (let i = 0; i < this.tracks!.length; i++) { +                const t = this.tracks![i]; +                const kind = get_track_kind(t.kind) +                if (kind == "video" && !video) +                    video = true, await this.set_track_enabled(i, true, false) +                if (kind == "audio" && !audio) +                    audio = true, await this.set_track_enabled(i, true, false) +                if (kind == "subtitles" && !subtitles) +                    subtitles = true, await this.set_track_enabled(i, true, false) +            }              this.set_pers("Downloading initial segments...")              const start_time = get_query_start_time() ?? get_continue_time(userdata.watched);  |