Compare commits

...
Author SHA1 Message Date
Josh Hawkins f4f25ffee5 fix mse buffer trim spinning in a remove loop
Subtracting 15s from the buffered end left a floating point remainder, so when Firefox held exactly 15s of buffer the handler called remove() on a near-zero range that removed nothing, and each updateend called it again. The loop pegged a CPU core and kept running after the websocket closed. Trimming now requires more than 1s past the window.
2026-10-12 08:46:47 -05:00
+1 -1
View File
@@ -473,7 +473,7 @@ function MSEPlayer({
} else if (sb.buffered && sb.buffered.length) {
const end = sb.buffered.end(sb.buffered.length - 1) - 15;
const start = sb.buffered.start(0);
if (end > start) {
if (end - start > 1) {
sb.remove(start, end);
msRef.current?.setLiveSeekableRange(end, end + 15);
}