mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-12 22:47:18 +03:00
Add back virtual time to firefox and fix it with playback speed
This commit is contained in:
@@ -712,10 +712,9 @@ function startSponsorSchedule(includeIntersectingSegments = false, currentTime?:
|
|||||||
|
|
||||||
function getVirtualTime(): number {
|
function getVirtualTime(): number {
|
||||||
const virtualTime = lastTimeFromWaitingEvent ?? (lastKnownVideoTime.videoTime ?
|
const virtualTime = lastTimeFromWaitingEvent ?? (lastKnownVideoTime.videoTime ?
|
||||||
(performance.now() - lastKnownVideoTime.preciseTime) / 1000 + lastKnownVideoTime.videoTime : null);
|
(performance.now() - lastKnownVideoTime.preciseTime) * video.playbackRate / 1000 + lastKnownVideoTime.videoTime : null);
|
||||||
|
|
||||||
if ((lastTimeFromWaitingEvent || !utils.isFirefox())
|
if (!isSafari() && virtualTime && Math.abs(virtualTime - video.currentTime) < 0.6 && video.currentTime !== 0) {
|
||||||
&& !isSafari() && virtualTime && Math.abs(virtualTime - video.currentTime) < 0.6 && video.currentTime !== 0) {
|
|
||||||
return virtualTime;
|
return virtualTime;
|
||||||
} else {
|
} else {
|
||||||
return video.currentTime;
|
return video.currentTime;
|
||||||
@@ -877,9 +876,19 @@ function setupVideoListeners() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
video.addEventListener('ratechange', () => startSponsorSchedule());
|
video.addEventListener('ratechange', () => {
|
||||||
|
updateVirtualTime();
|
||||||
|
lastTimeFromWaitingEvent = null;
|
||||||
|
|
||||||
|
startSponsorSchedule();
|
||||||
|
});
|
||||||
// Used by videospeed extension (https://github.com/igrigorik/videospeed/pull/740)
|
// Used by videospeed extension (https://github.com/igrigorik/videospeed/pull/740)
|
||||||
video.addEventListener('videoSpeed_ratechange', () => startSponsorSchedule());
|
video.addEventListener('videoSpeed_ratechange', () => {
|
||||||
|
updateVirtualTime();
|
||||||
|
lastTimeFromWaitingEvent = null;
|
||||||
|
|
||||||
|
startSponsorSchedule();
|
||||||
|
});
|
||||||
const paused = () => {
|
const paused = () => {
|
||||||
// Reset lastCheckVideoTime
|
// Reset lastCheckVideoTime
|
||||||
lastCheckVideoTime = -1;
|
lastCheckVideoTime = -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user