Reload player instead of terminating when backup stream fails
This commit is contained in:
+15
-10
@@ -1,7 +1,7 @@
|
||||
// ==UserScript==
|
||||
// @name TwitchAdSolutions
|
||||
// @namespace https://github.com/pixeltris/TwitchAdSolutions
|
||||
// @version 1.6
|
||||
// @version 1.7
|
||||
// @description Multiple solutions for blocking Twitch ads
|
||||
// @author pixeltris
|
||||
// @match *://*.twitch.tv/*
|
||||
@@ -249,15 +249,17 @@
|
||||
console.log('Backup url request (accessToken) failed with ' + accessTokenResponse.status);
|
||||
}
|
||||
}
|
||||
var backupM3u8 = null;
|
||||
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
||||
if (backupM3u8Response.status == 200) {
|
||||
backupM3u8 = await backupM3u8Response.text();
|
||||
}
|
||||
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
||||
return backupM3u8;
|
||||
} else {
|
||||
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
||||
if (streamInfo.BackupUrl != null) {
|
||||
var backupM3u8 = null;
|
||||
var backupM3u8Response = await realFetch(streamInfo.BackupUrl);
|
||||
if (backupM3u8Response.status == 200) {
|
||||
backupM3u8 = await backupM3u8Response.text();
|
||||
}
|
||||
if (backupM3u8 != null && !backupM3u8.includes(AD_SIGNIFIER)) {
|
||||
return backupM3u8;
|
||||
} else {
|
||||
console.log('Backup m3u8 failed with ' + backupM3u8Response.status);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.log('Fetching backup m3u8 failed');
|
||||
@@ -265,6 +267,9 @@
|
||||
}
|
||||
// Backups failed. Return nothing (this will likely result in spam or player error 2000?).
|
||||
console.log('Ad blocking failed. Stream might break.');
|
||||
postMessage({key:'UboReloadPlayer'});
|
||||
streamInfo.BackupFailed = false;
|
||||
streamInfo.BackupUrl = null;
|
||||
return '';
|
||||
}
|
||||
if (streamInfo.HadAds) {
|
||||
|
||||
Reference in New Issue
Block a user