mirror of
https://github.com/sussy-code/smov.git
synced 2025-01-20 02:21:25 +01:00
Fix some cdn replacement bugs
This commit is contained in:
parent
adddb84417
commit
23c1df5aef
2 changed files with 6 additions and 3 deletions
|
@ -5,6 +5,7 @@ import { playerStatus } from "@/stores/player/slices/source";
|
||||||
import { ThumbnailImage } from "@/stores/player/slices/thumbnails";
|
import { ThumbnailImage } from "@/stores/player/slices/thumbnails";
|
||||||
import { usePlayerStore } from "@/stores/player/store";
|
import { usePlayerStore } from "@/stores/player/store";
|
||||||
import { LoadableSource, selectQuality } from "@/stores/player/utils/qualities";
|
import { LoadableSource, selectQuality } from "@/stores/player/utils/qualities";
|
||||||
|
import { processCdnLink } from "@/utils/cdn";
|
||||||
import { isSafari } from "@/utils/detectFeatures";
|
import { isSafari } from "@/utils/detectFeatures";
|
||||||
|
|
||||||
function makeQueue(layers: number): number[] {
|
function makeQueue(layers: number): number[] {
|
||||||
|
@ -46,11 +47,11 @@ class ThumnbnailWorker {
|
||||||
const canvas = document.createElement("canvas");
|
const canvas = document.createElement("canvas");
|
||||||
this.hls = new Hls();
|
this.hls = new Hls();
|
||||||
if (source.type === "mp4") {
|
if (source.type === "mp4") {
|
||||||
el.src = source.url;
|
el.src = processCdnLink(source.url);
|
||||||
el.crossOrigin = "anonymous";
|
el.crossOrigin = "anonymous";
|
||||||
} else if (source.type === "hls") {
|
} else if (source.type === "hls") {
|
||||||
this.hls.attachMedia(el);
|
this.hls.attachMedia(el);
|
||||||
this.hls.loadSource(source.url);
|
this.hls.loadSource(processCdnLink(source.url));
|
||||||
} else throw new Error("Invalid loadable source type");
|
} else throw new Error("Invalid loadable source type");
|
||||||
this.videoEl = el;
|
this.videoEl = el;
|
||||||
this.canvasEl = canvas;
|
this.canvasEl = canvas;
|
||||||
|
|
|
@ -5,7 +5,9 @@ export function processCdnLink(url: string): string {
|
||||||
const replacements = conf().CDN_REPLACEMENTS;
|
const replacements = conf().CDN_REPLACEMENTS;
|
||||||
for (const [before, after] of replacements) {
|
for (const [before, after] of replacements) {
|
||||||
if (parsedUrl.hostname.endsWith(before)) {
|
if (parsedUrl.hostname.endsWith(before)) {
|
||||||
parsedUrl.host = after;
|
parsedUrl.hostname = after;
|
||||||
|
parsedUrl.port = "";
|
||||||
|
parsedUrl.protocol = "https://";
|
||||||
return parsedUrl.toString();
|
return parsedUrl.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue