From bee3a142c3d7a096323b113a5f5dcc6c13322a5a Mon Sep 17 00:00:00 2001 From: j Date: Sat, 1 Mar 2025 10:20:33 +0100 Subject: [PATCH 1/2] fix current time while seeking --- app/static/js/VideoElement.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/static/js/VideoElement.js b/app/static/js/VideoElement.js index 31fbcb8..bee2b91 100644 --- a/app/static/js/VideoElement.js +++ b/app/static/js/VideoElement.js @@ -169,7 +169,7 @@ window.VideoElement = function(options) { function getCurrentTime() { var item = self.items[self.currentItem]; var currentTime = self.seeking || self.loading - ? self.currentTime + ? (self.currentTime - (self.options["in"] || 0)) : item ? item.position + self.video.currentTime - item['in'] - self.options["in"] : 0; return currentTime } From 9c544ca46a10fa8f7687dc57cab6194d180272a6 Mon Sep 17 00:00:00 2001 From: j Date: Sat, 1 Mar 2025 10:22:04 +0100 Subject: [PATCH 2/2] make sure position is always between 0% and 100% --- app/static/js/VideoPlayer.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/static/js/VideoPlayer.js b/app/static/js/VideoPlayer.js index b6e6ca5..c865c1e 100644 --- a/app/static/js/VideoPlayer.js +++ b/app/static/js/VideoPlayer.js @@ -364,8 +364,9 @@ window.VideoPlayer = function(options) { that.querySelector('.controls .position input').addEventListener('input', event => { event.preventDefault() event.stopPropagation() - setProgressPosition(event.target.value) - var position = event.target.value/100 * self.options.duration + const value = Math.min(100, Math.max(0, parseFloat(event.target.value)) + setProgressPosition(value) + var position = value/100 * self.options.duration displayTime(position) that.currentTime(position) hideControlsLater() @@ -386,7 +387,9 @@ window.VideoPlayer = function(options) { if (self.options.position) { currentTime -= self.options.position } - setProgressPosition(100 * currentTime / duration) + let position = 100 * currentTime / duration + position = Math.min(100, Math.max(0, position)) + setProgressPosition(position) displayTime(currentTime) })