Fixed preview sponsors not skipping when only they are there.

This commit is contained in:
Ajay Ramachandran
2020-02-19 13:45:00 -05:00
parent 397bcc94c5
commit 4ca57cc025

View File

@@ -440,7 +440,7 @@ function cancelSponsorSchedule(): void {
function startSponsorSchedule(currentTime?: number): void { function startSponsorSchedule(currentTime?: number): void {
cancelSponsorSchedule(); cancelSponsorSchedule();
if (sponsorTimes === null || Config.config.disableSkipping || channelWhitelisted){ if (Config.config.disableSkipping || channelWhitelisted){
return; return;
} }
@@ -448,6 +448,8 @@ function startSponsorSchedule(currentTime?: number): void {
let skipInfo = getNextSkipIndex(currentTime); let skipInfo = getNextSkipIndex(currentTime);
if (skipInfo.index === -1) return;
let skipTime = skipInfo.array[skipInfo.index]; let skipTime = skipInfo.array[skipInfo.index];
let timeUntilSponsor = skipTime[0] - currentTime; let timeUntilSponsor = skipTime[0] - currentTime;
@@ -489,6 +491,8 @@ function sponsorsLookup(id: string, channelIDPromise?) {
video.addEventListener('ratechange', () => startSponsorSchedule()); video.addEventListener('ratechange', () => startSponsorSchedule());
video.addEventListener('seeking', cancelSponsorSchedule); video.addEventListener('seeking', cancelSponsorSchedule);
video.addEventListener('pause', cancelSponsorSchedule); video.addEventListener('pause', cancelSponsorSchedule);
startSponsorSchedule();
} }
if (channelIDPromise !== undefined) { if (channelIDPromise !== undefined) {
@@ -763,7 +767,8 @@ function getNextSkipIndex(currentTime: number): {array: number[][], index: numbe
let minPreviewSponsorTimeIndex = previewSponsorStartTimes.indexOf(Math.min(...previewSponsorStartTimesAfterCurrentTime)); let minPreviewSponsorTimeIndex = previewSponsorStartTimes.indexOf(Math.min(...previewSponsorStartTimesAfterCurrentTime));
if (minPreviewSponsorTimeIndex == -1 || sponsorStartTimes[minSponsorTimeIndex] < previewSponsorStartTimes[minPreviewSponsorTimeIndex]) { if ((minPreviewSponsorTimeIndex === -1 && minSponsorTimeIndex !== -1) ||
sponsorStartTimes[minSponsorTimeIndex] < previewSponsorStartTimes[minPreviewSponsorTimeIndex]) {
return { return {
array: sponsorTimes, array: sponsorTimes,
index: minSponsorTimeIndex, index: minSponsorTimeIndex,
@@ -787,6 +792,8 @@ function getNextSkipIndex(currentTime: number): {array: number[][], index: numbe
* @param hideHiddenSponsors * @param hideHiddenSponsors
*/ */
function getStartTimes(sponsorTimes: number[][], minimum?: number, hideHiddenSponsors: boolean = false): number[] { function getStartTimes(sponsorTimes: number[][], minimum?: number, hideHiddenSponsors: boolean = false): number[] {
if (sponsorTimes === null) return [];
let startTimes: number[] = []; let startTimes: number[] = [];
for (let i = 0; i < sponsorTimes.length; i++) { for (let i = 0; i < sponsorTimes.length; i++) {