Add support for playing HLS m3u8/m3u URLs

This commit is contained in:
Max Goodhart
2022-06-05 14:12:08 -07:00
parent bd1dc48574
commit fd75dba562
4 changed files with 13 additions and 1 deletions

5
package-lock.json generated
View File

@@ -5919,6 +5919,11 @@
"minimalistic-assert": "^1.0.1" "minimalistic-assert": "^1.0.1"
} }
}, },
"hls.js": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.1.5.tgz",
"integrity": "sha512-mQX5TSNtJEzGo5HPpvcQgCu+BWoKDQM6YYtg/KbgWkmVAcqOCvSTi0SuqG2ZJLXxIzdnFcKU2z7Mrw/YQWhPOA=="
},
"hmac-drbg": { "hmac-drbg": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",

View File

@@ -21,6 +21,7 @@
"dank-twitch-irc": "^3.3.0", "dank-twitch-irc": "^3.3.0",
"ejs": "^3.1.3", "ejs": "^3.1.3",
"electron": "^12.2.3", "electron": "^12.2.3",
"hls.js": "^1.1.5",
"jsondiffpatch": "^0.4.1", "jsondiffpatch": "^0.4.1",
"koa": "^2.12.1", "koa": "^2.12.1",
"koa-basic-auth": "^4.0.0", "koa-basic-auth": "^4.0.0",

View File

@@ -189,7 +189,12 @@ const viewStateMachine = Machine(
ensureValidURL(content.url) ensureValidURL(content.url)
const wc = view.webContents const wc = view.webContents
wc.audioMuted = true wc.audioMuted = true
wc.loadURL(content.url)
if (/\.m3u8?$/.test(content.url)) {
wc.loadFile('playHLS.html', { query: { src: content.url } })
} else {
wc.loadURL(content.url)
}
}, },
}, },
}, },

View File

@@ -82,6 +82,7 @@ const browserConfig = {
overlay: './src/browser/overlay.js', overlay: './src/browser/overlay.js',
layerPreload: './src/browser/layerPreload.js', layerPreload: './src/browser/layerPreload.js',
mediaPreload: './src/browser/mediaPreload.js', mediaPreload: './src/browser/mediaPreload.js',
playHLS: './src/browser/playHLS.js',
}, },
plugins: [ plugins: [
new CopyPlugin({ new CopyPlugin({