mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-07 12:07:11 +03:00
Fixed double sponsor skip for zero second sponsors
This commit is contained in:
@@ -44,8 +44,8 @@ var lastPreviewBarUpdate;
|
|||||||
//whether the duration listener listening for the duration changes of the video has been setup yet
|
//whether the duration listener listening for the duration changes of the video has been setup yet
|
||||||
var durationListenerSetUp = false;
|
var durationListenerSetUp = false;
|
||||||
|
|
||||||
// Has a zero second sponsor been skipped yet
|
// Is the video currently being switched
|
||||||
var skippedZeroSecond = false;
|
var switchingVideos = false;
|
||||||
|
|
||||||
//the channel this video is about
|
//the channel this video is about
|
||||||
var channelURL;
|
var channelURL;
|
||||||
@@ -250,8 +250,6 @@ function resetValues() {
|
|||||||
|
|
||||||
//reset sponsor data found check
|
//reset sponsor data found check
|
||||||
sponsorDataFound = false;
|
sponsorDataFound = false;
|
||||||
|
|
||||||
skippedZeroSecond = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function videoIDChange(id) {
|
async function videoIDChange(id) {
|
||||||
@@ -266,6 +264,8 @@ async function videoIDChange(id) {
|
|||||||
//id is not valid
|
//id is not valid
|
||||||
if (!id) return;
|
if (!id) return;
|
||||||
|
|
||||||
|
switchingVideos = true;
|
||||||
|
|
||||||
// Wait for options to be ready
|
// Wait for options to be ready
|
||||||
await utils.wait(() => Config.config !== null, 5000, 1);
|
await utils.wait(() => Config.config !== null, 5000, 1);
|
||||||
|
|
||||||
@@ -460,8 +460,6 @@ function startSponsorSchedule(currentTime?: number): void {
|
|||||||
|
|
||||||
let skippingFunction = () => {
|
let skippingFunction = () => {
|
||||||
if (video.currentTime >= skipTime[0] && video.currentTime < skipTime[1]) {
|
if (video.currentTime >= skipTime[0] && video.currentTime < skipTime[1]) {
|
||||||
if (currentTime == 0) skippedZeroSecond = true;
|
|
||||||
|
|
||||||
skipToTime(video, skipInfo.index, skipInfo.array, skipInfo.openNotice);
|
skipToTime(video, skipInfo.index, skipInfo.array, skipInfo.openNotice);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -493,9 +491,12 @@ function sponsorsLookup(id: string, channelIDPromise?) {
|
|||||||
if (!seekListenerSetUp && !Config.config.disableSkipping) {
|
if (!seekListenerSetUp && !Config.config.disableSkipping) {
|
||||||
seekListenerSetUp = true;
|
seekListenerSetUp = true;
|
||||||
|
|
||||||
video.addEventListener('play', () => startSponsorSchedule());
|
video.addEventListener('play', () => {
|
||||||
|
switchingVideos = false;
|
||||||
|
startSponsorSchedule();
|
||||||
|
});
|
||||||
video.addEventListener('seeked', () => {
|
video.addEventListener('seeked', () => {
|
||||||
if (!video.paused) startSponsorSchedule()
|
if (!video.paused) startSponsorSchedule();
|
||||||
});
|
});
|
||||||
video.addEventListener('ratechange', () => startSponsorSchedule());
|
video.addEventListener('ratechange', () => startSponsorSchedule());
|
||||||
video.addEventListener('seeking', cancelSponsorSchedule);
|
video.addEventListener('seeking', cancelSponsorSchedule);
|
||||||
@@ -571,10 +572,12 @@ function sponsorsLookup(id: string, channelIDPromise?) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (zeroSecondSponsor && !skippedZeroSecond) {
|
if (!video.paused && !switchingVideos) {
|
||||||
startSponsorSchedule(0);
|
if (zeroSecondSponsor) {
|
||||||
} else {
|
startSponsorSchedule(0);
|
||||||
startSponsorSchedule();
|
} else {
|
||||||
|
startSponsorSchedule();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reset skip save
|
// Reset skip save
|
||||||
|
|||||||
Reference in New Issue
Block a user