aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-04-21 10:28:13 +0200
committermetamuffin <metamuffin@disroot.org>2025-04-21 10:28:13 +0200
commitddfc3223b247fd18ca753b5debb95711726e1388 (patch)
tree48fa4cf0696ab5d896c24d0f5cf7ad4c39432be3
parent9b9f5abedb69c4ecb6cae7ecc27f53ee7e9fe5d4 (diff)
downloadjellything-ddfc3223b247fd18ca753b5debb95711726e1388.tar
jellything-ddfc3223b247fd18ca753b5debb95711726e1388.tar.bz2
jellything-ddfc3223b247fd18ca753b5debb95711726e1388.tar.zst
buffering slow start
-rw-r--r--remuxer/src/fragment.rs2
-rw-r--r--web/script/player/track/mse.ts6
2 files changed, 6 insertions, 2 deletions
diff --git a/remuxer/src/fragment.rs b/remuxer/src/fragment.rs
index a567657..439c700 100644
--- a/remuxer/src/fragment.rs
+++ b/remuxer/src/fragment.rs
@@ -20,7 +20,7 @@ use std::{
path::Path,
};
-const FRAGMENT_LENGTH: f64 = 5.;
+const FRAGMENT_LENGTH: f64 = 2.;
pub fn fragment_index(path: &Path, track: u64) -> Result<Vec<Range<f64>>> {
let meta = matroska_metadata(path)?;
diff --git a/web/script/player/track/mse.ts b/web/script/player/track/mse.ts
index 343799e..af252a4 100644
--- a/web/script/player/track/mse.ts
+++ b/web/script/player/track/mse.ts
@@ -133,11 +133,15 @@ export class MSEPlayerTrack extends PlayerTrack {
if (!this.index) return;
this.update_buf_ranges(); // TODO required?
+ let buffer_to = target + TARGET_BUFFER_DURATION
+ if (target < 1) buffer_to = 1
+ if (target < 3) buffer_to = 5
+
const blocking = [];
for (let i = 0; i < this.index.length; i++) {
const frag = this.index[i];
if (frag.end < target) continue;
- if (frag.start >= target + TARGET_BUFFER_DURATION) break;
+ if (frag.start >= buffer_to) break;
if (!this.check_buf_collision(frag.start, frag.end)) continue;
if (frag.start <= target + MIN_BUFFER_DURATION)
blocking.push(this.load(i));