From 0d3573a72354ef1235aff680f43c44f871f2bbd6 Mon Sep 17 00:00:00 2001 From: XZH Date: Fri, 28 Aug 2026 18:09:39 -0700 Subject: [PATCH] fix(player): validate caption timestamp boundaries --- assets/js/player.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/assets/js/player.js b/assets/js/player.js index 1d325c80e..0edc83a85 100644 --- a/assets/js/player.js +++ b/assets/js/player.js @@ -633,7 +633,7 @@ function parseCaptionTimestamp(value) { const parsedPart = parseFloat(part); if (!isFinite(parsedPart)) return null; - if (i < clockParts.length - 1 && parsedPart >= 60) return null; + if (i > 0 && i < clockParts.length - 1 && parsedPart >= 60) return null; if (i === clockParts.length - 1 && clockParts.length > 1 && parsedPart >= 60) return null; if (i === clockParts.length - 1) seconds += parsedPart; else seconds += parsedPart * Math.pow(60, clockParts.length - i - 1); @@ -651,9 +651,7 @@ function processNodeChildren(container, currentTime) { if (node.nodeType === 7 && (node.target === 'timestamp' || node.nodeName === 'timestamp')) { const parsed = parseCaptionTimestamp(node.data); - if (parsed !== null) { - currentTs = parsed; - } + currentTs = parsed; } else if (currentTs !== null) { if (node.nodeType === 1) { // Node.ELEMENT_NODE const shouldShow = currentTime >= currentTs;