aboutsummaryrefslogtreecommitdiff
path: root/web/script/player/player.ts
diff options
context:
space:
mode:
Diffstat (limited to 'web/script/player/player.ts')
-rw-r--r--web/script/player/player.ts21
1 files changed, 11 insertions, 10 deletions
diff --git a/web/script/player/player.ts b/web/script/player/player.ts
index aefc5e6..4eb01d5 100644
--- a/web/script/player/player.ts
+++ b/web/script/player/player.ts
@@ -100,20 +100,22 @@ export class Player {
}
async fetch_meta() {
- this.set_pers("Loading node...")
- const res = await fetch(`/n/${encodeURIComponent(this.node_id)}`, { headers: { "Accept": "application/json" } })
- if (!res.ok) return this.error.value = "Cannot download node."
+ this.set_pers("Loading metadata...")
+ const [res, udres] = await Promise.all([
+ fetch(`/n/${encodeURIComponent(this.node_id)}`, { headers: { "Accept": "application/json" } }),
+ fetch(`/n/${encodeURIComponent(this.node_id)}/userdata`, { headers: { "Accept": "application/json" } })
+ ])
+
+ if (!res.ok || !udres.ok) return this.error.value = "Cannot download node."
+
let metadata!: NodePublic & { error: string }
try { metadata = await res.json() }
- catch (_) { this.set_pers("Error: Failed to fetch node") }
+ catch (_) { this.set_pers("Error: Node data invalid") }
if (metadata.error) return this.set_pers("server error: " + metadata.error)
- this.set_pers("Loading node user data...")
- const udres = await fetch(`/n/${encodeURIComponent(this.node_id)}/userdata`, { headers: { "Accept": "application/json" } })
- if (!udres.ok) return this.error.value = "Cannot download node."
let userdata!: NodeUserData & { error: string }
try { userdata = await udres.json() }
- catch (_) { this.set_pers("Error: Failed to fetch node user data") }
+ catch (_) { this.set_pers("Error: Node user data invalid") }
if (userdata.error) return this.set_pers("server error: " + metadata.error)
this.set_pers()
@@ -124,7 +126,6 @@ export class Player {
this.video.src = URL.createObjectURL(this.media_source)
this.media_source.addEventListener("sourceopen", async () => {
- this.set_pers("Downloading track indecies...")
let video = false, audio = false, subtitles = false;
for (let i = 0; i < this.tracks!.length; i++) {
const t = this.tracks![i];
@@ -137,7 +138,7 @@ export class Player {
subtitles = true, await this.set_track_enabled(i, true, false)
}
- this.set_pers("Downloading initial segments...")
+ this.set_pers("Buffering initial stream fragments...")
const start_time = get_query_start_time() ?? get_continue_time(userdata.watched);
this.update(start_time)