feat: full HLS.js support — detection via interceptors + deep probe, playback via hls.js in viewer #2

Merged
kfj001 merged 15 commits from hls-fix into master 2026-08-23 18:22:42 -07:00
2 changed files with 7 additions and 3 deletions
Showing only changes of commit fa0a0d76cd - Show all commits

No files matched your search

+3 -2
View File
@@ -6,7 +6,8 @@
"permissions": [ "permissions": [
"storage", "storage",
"tabs", "tabs",
"scripting" "scripting",
"webRequest"
], ],
"host_permissions": [ "host_permissions": [
"<all_urls>" "<all_urls>"
@@ -33,7 +34,7 @@
], ],
"web_accessible_resources": [ "web_accessible_resources": [
{ {
"resources": ["interceptors.js", "hls.min.js"], "resources": ["interceptors.js", "hls.js"],
"matches": ["<all_urls>"] "matches": ["<all_urls>"]
} }
], ],
+4 -1
View File
@@ -709,6 +709,9 @@ function playHls(video, manifestUrl, panel) {
origDestroy(); origDestroy();
}; };
// Log the manifest URL being loaded for debugging (helps diagnose playback failures).
console.log(`[goon-viewer] Loading HLS manifest:`, manifestUrl.substring(0, 200));
hls.loadSource(manifestUrl); hls.loadSource(manifestUrl);
hls.attachMedia(video); hls.attachMedia(video);
} }
@@ -726,7 +729,7 @@ function loadHlsJs() {
return; return;
} }
const script = document.createElement('script'); const script = document.createElement('script');
script.src = chrome.runtime.getURL('hls.min.js'); script.src = chrome.runtime.getURL('hls.js');
script.onload = () => resolve(); script.onload = () => resolve();
script.onerror = () => reject(new Error('Hls.js bundle unavailable - rebuild the extension.')); script.onerror = () => reject(new Error('Hls.js bundle unavailable - rebuild the extension.'));
document.head.appendChild(script); document.head.appendChild(script);