Skip to content

Commit a4bb17f

Browse files
committed
Fix skipping accuracy with bluetooth headphones on firefox
1 parent 1fa8866 commit a4bb17f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/content.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,7 @@ async function startSponsorSchedule(includeIntersectingSegments = false, current
772772

773773
// Use interval instead of timeout near the end to combat imprecise video time
774774
const startIntervalTime = forceStartIntervalTime || performance.now();
775-
const startVideoTime = Math.max(currentTime, getCurrentTime());
775+
const startVideoTime = Math.max(currentTime, getVirtualTime());
776776
delayTime = (skipTime?.[0] - startVideoTime) * 1000 * (1 / getVideo().playbackRate);
777777

778778
let startWaitingForReportedTimeToChange = true;
@@ -791,7 +791,7 @@ async function startSponsorSchedule(includeIntersectingSegments = false, current
791791
}
792792

793793
const intervalDuration = performance.now() - startIntervalTime;
794-
if (intervalDuration + skipBuffer * 1000 >= delayTime || getCurrentTime() >= skipTime[0]) {
794+
if (intervalDuration + skipBuffer * 1000 >= delayTime || getVirtualTime() + skipBuffer >= skipTime[0]) {
795795
clearInterval(currentSkipInterval);
796796
if (!isFirefoxOrSafari() && !getVideo().muted && !inMuteSegment(getCurrentTime(), true)) {
797797
// Workaround for more accurate skipping on Chromium
@@ -842,7 +842,7 @@ function getVirtualTime(): number {
842842
(performance.now() - lastKnownVideoTime.preciseTime) * (getVideo()?.playbackRate || 1) / 1000 + lastKnownVideoTime.videoTime : null);
843843

844844
if (Config.config.useVirtualTime && !isSafari() && virtualTime
845-
&& Math.abs(virtualTime - getCurrentTime()) < 0.2 && getCurrentTime() !== 0) {
845+
&& virtualTime > getCurrentTime() && virtualTime - getCurrentTime() < 0.2 && getCurrentTime() !== 0) {
846846
return Math.max(virtualTime, getCurrentTime());
847847
} else {
848848
return getCurrentTime();

0 commit comments

Comments
 (0)