diff --git a/crunchy.ts b/crunchy.ts index f5bdb37..4f43211 100644 --- a/crunchy.ts +++ b/crunchy.ts @@ -1352,7 +1352,7 @@ export default class Crunchy implements ServiceClass { else{ if (streamPlaylistsReq.res.body.match('MPD')) { //Parse MPD Playlists - const streamPlaylists = parse(streamPlaylistsReq.res.body, langsData.findLang(langsData.fixLanguageTag(pbData.audio_locale as string) || '')); + const streamPlaylists = parse(streamPlaylistsReq.res.body, langsData.findLang(langsData.fixLanguageTag(pbData.meta.audio_locale as string) || ''), curStream.url.match(/.*\.urlset\//)[0]); //Get name of CDNs/Servers const streamServers = Object.keys(streamPlaylists); diff --git a/modules/module.transform-mpd.ts b/modules/module.transform-mpd.ts index f5c2073..b3c5419 100644 --- a/modules/module.transform-mpd.ts +++ b/modules/module.transform-mpd.ts @@ -37,7 +37,10 @@ export type MPDParsed = { } } -export function parse(manifest: string, language: LanguageItem) { +export function parse(manifest: string, language: LanguageItem, url?: string) { + if (!manifest.includes('BaseURL') && url) { + manifest = manifest.replace(/()/gm, `$1${url}`); + } const parsed = mpdParse(manifest); const ret: MPDParsed = {};