diff options
-rw-r--r-- | remuxer/src/fragment.rs | 2 | ||||
-rw-r--r-- | web/script/player/track/mse.ts | 6 |
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)); |