Skip to content

Commit 56be762

Browse files
committed
Add back virtual time to firefox and fix it with playback speed
1 parent 758b6f1 commit 56be762

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/content.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -712,10 +712,9 @@ function startSponsorSchedule(includeIntersectingSegments = false, currentTime?:
712712

713713
function getVirtualTime(): number {
714714
const virtualTime = lastTimeFromWaitingEvent ?? (lastKnownVideoTime.videoTime ?
715-
(performance.now() - lastKnownVideoTime.preciseTime) / 1000 + lastKnownVideoTime.videoTime : null);
715+
(performance.now() - lastKnownVideoTime.preciseTime) * video.playbackRate / 1000 + lastKnownVideoTime.videoTime : null);
716716

717-
if ((lastTimeFromWaitingEvent || !utils.isFirefox())
718-
&& !isSafari() && virtualTime && Math.abs(virtualTime - video.currentTime) < 0.6 && video.currentTime !== 0) {
717+
if (!isSafari() && virtualTime && Math.abs(virtualTime - video.currentTime) < 0.6 && video.currentTime !== 0) {
719718
return virtualTime;
720719
} else {
721720
return video.currentTime;
@@ -877,9 +876,19 @@ function setupVideoListeners() {
877876
}
878877
}
879878
});
880-
video.addEventListener('ratechange', () => startSponsorSchedule());
879+
video.addEventListener('ratechange', () => {
880+
updateVirtualTime();
881+
lastTimeFromWaitingEvent = null;
882+
883+
startSponsorSchedule();
884+
});
881885
// Used by videospeed extension (https://github.com/igrigorik/videospeed/pull/740)
882-
video.addEventListener('videoSpeed_ratechange', () => startSponsorSchedule());
886+
video.addEventListener('videoSpeed_ratechange', () => {
887+
updateVirtualTime();
888+
lastTimeFromWaitingEvent = null;
889+
890+
startSponsorSchedule();
891+
});
883892
const paused = () => {
884893
// Reset lastCheckVideoTime
885894
lastCheckVideoTime = -1;

0 commit comments

Comments
 (0)