feat: full HLS.js support — detection via interceptors + deep probe, playback via hls.js in viewer #2
No files matched your search
+3
-2
@@ -6,7 +6,8 @@
|
||||
"permissions": [
|
||||
"storage",
|
||||
"tabs",
|
||||
"scripting"
|
||||
"scripting",
|
||||
"webRequest"
|
||||
],
|
||||
"host_permissions": [
|
||||
"<all_urls>"
|
||||
@@ -33,7 +34,7 @@
|
||||
],
|
||||
"web_accessible_resources": [
|
||||
{
|
||||
"resources": ["interceptors.js", "hls.min.js"],
|
||||
"resources": ["interceptors.js", "hls.js"],
|
||||
"matches": ["<all_urls>"]
|
||||
}
|
||||
],
|
||||
|
||||
@@ -709,6 +709,9 @@ function playHls(video, manifestUrl, panel) {
|
||||
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.attachMedia(video);
|
||||
}
|
||||
@@ -726,7 +729,7 @@ function loadHlsJs() {
|
||||
return;
|
||||
}
|
||||
const script = document.createElement('script');
|
||||
script.src = chrome.runtime.getURL('hls.min.js');
|
||||
script.src = chrome.runtime.getURL('hls.js');
|
||||
script.onload = () => resolve();
|
||||
script.onerror = () => reject(new Error('Hls.js bundle unavailable - rebuild the extension.'));
|
||||
document.head.appendChild(script);
|
||||
|
||||
Reference in new issue
Block a user