aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--web/script/player/player.ts14
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);