From 66924d05c94436b294df1ec3d7bad5a505acf2e1 Mon Sep 17 00:00:00 2001 From: David HM Morgan <37144605+david-hm-morgan@users.noreply.github.com> Date: Tue, 9 Apr 2024 19:20:03 +0100 Subject: [PATCH] fix: Looser tolerance for ending trick play at edge of seek range. (#6422) Fixes #6421 --- lib/player.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/player.js b/lib/player.js index 92f34bc7c6..192645d0d2 100644 --- a/lib/player.js +++ b/lib/player.js @@ -3620,12 +3620,16 @@ shaka.Player = class extends shaka.util.FakeEventTarget { const currentTime = this.video_.currentTime; const seekRange = this.seekRange(); const safeSeekOffset = this.config_.streaming.safeSeekOffset; + + // Cancel trick play if we hit the beginning or end of the seekable + // (Sub-second accuracy not required here) if (rate > 0) { - if (currentTime >= seekRange.end) { + if (Math.floor(currentTime) >= Math.floor(seekRange.end)) { this.cancelTrickPlay(); } } else { - if (currentTime <= (seekRange.start + safeSeekOffset)) { + if (Math.floor(currentTime) <= + Math.floor(seekRange.start + safeSeekOffset)) { this.cancelTrickPlay(); } }