better stream support
This commit is contained in:
parent
acde8364fa
commit
691e428240
@ -257,7 +257,15 @@
|
||||
|
||||
function bindPlayerEvents() {
|
||||
el.player.addEventListener("error", () => {
|
||||
setSettingsMessage("Playback failed in embedded player. Try Open stream directly.", "err");
|
||||
const systemPlayerUrl = state.currentStreamInfo ? buildSystemPlayerHref(state.currentStreamInfo?.title, state.currentStreamInfo?.url, state.currentStreamInfo) : "";
|
||||
if (systemPlayerUrl) {
|
||||
setSettingsMessageHtml(
|
||||
`Playback failed in embedded player. <a href="${systemPlayerUrl}" target="_blank" style="color: inherit; text-decoration: underline;">Open stream directly</a>`,
|
||||
"err"
|
||||
);
|
||||
} else {
|
||||
setSettingsMessage("Playback failed in embedded player. Try Open stream directly.", "err");
|
||||
}
|
||||
});
|
||||
el.player.addEventListener("loadedmetadata", updateStreamRuntimeInfo);
|
||||
el.player.addEventListener("loadedmetadata", refreshEmbeddedSubtitleTracks);
|
||||
@ -2488,7 +2496,11 @@
|
||||
return;
|
||||
}
|
||||
disposeHls();
|
||||
setSettingsMessage("HLS playback failed in embedded player. Try Open stream directly.", "err");
|
||||
const systemPlayerUrl = buildSystemPlayerHref(state.currentStreamInfo?.title, state.currentStreamInfo?.url, state.currentStreamInfo);
|
||||
setSettingsMessageHtml(
|
||||
`HLS playback failed in embedded player. <a href="${systemPlayerUrl}" target="_blank" style="color: inherit; text-decoration: underline;">Open stream directly</a>`,
|
||||
"err"
|
||||
);
|
||||
if (state.currentStreamInfo) {
|
||||
state.currentStreamInfo.playbackEngine = "native (HLS fallback failed)";
|
||||
renderStreamInfo();
|
||||
@ -2504,8 +2516,9 @@
|
||||
if (error?.name === "NotAllowedError") {
|
||||
return;
|
||||
}
|
||||
setSettingsMessage(
|
||||
`Playback could not start in embedded player: ${error?.message || "unknown error"}`,
|
||||
const systemPlayerUrl = buildSystemPlayerHref(state.currentStreamInfo?.title, state.currentStreamInfo?.url, state.currentStreamInfo);
|
||||
setSettingsMessageHtml(
|
||||
`Playback failed in embedded player. <a href="${systemPlayerUrl}" target="_blank" style="color: inherit; text-decoration: underline;">Open in system player</a>`,
|
||||
"err"
|
||||
);
|
||||
});
|
||||
@ -3158,6 +3171,11 @@
|
||||
el.settingsMessage.className = `message ${type}`.trim();
|
||||
}
|
||||
|
||||
function setSettingsMessageHtml(html, type = "") {
|
||||
el.settingsMessage.innerHTML = html || "";
|
||||
el.settingsMessage.className = `message ${type}`.trim();
|
||||
}
|
||||
|
||||
function showError(error) {
|
||||
setSettingsMessage(error.message || String(error), "err");
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user