diff --git a/lib/playlist-utils/src/main/java/eu/kanade/tachiyomi/lib/playlistutils/PlaylistUtils.kt b/lib/playlist-utils/src/main/java/eu/kanade/tachiyomi/lib/playlistutils/PlaylistUtils.kt index a902e80ab..f31091063 100644 --- a/lib/playlist-utils/src/main/java/eu/kanade/tachiyomi/lib/playlistutils/PlaylistUtils.kt +++ b/lib/playlist-utils/src/main/java/eu/kanade/tachiyomi/lib/playlistutils/PlaylistUtils.kt @@ -97,14 +97,17 @@ class PlaylistUtils(private val client: OkHttpClient, private val headers: Heade val playlistHttpUrl = playlistUrl.toHttpUrl() - val masterBase = playlistHttpUrl.newBuilder().apply { + val masterUrlBasePath = playlistHttpUrl.newBuilder().apply { removePathSegment(playlistHttpUrl.pathSize - 1) - }.build().toString() + "/" + addPathSegment("") + query(null) + fragment(null) + }.build().toString() // Get subtitles val subtitleTracks = subtitleList + SUBTITLE_REGEX.findAll(masterPlaylist).mapNotNull { Track( - getAbsoluteUrl(it.groupValues[2], playlistUrl, masterBase) ?: return@mapNotNull null, + getAbsoluteUrl(it.groupValues[2], playlistUrl, masterUrlBasePath ) ?: return@mapNotNull null, it.groupValues[1] ) }.toList() @@ -112,7 +115,7 @@ class PlaylistUtils(private val client: OkHttpClient, private val headers: Heade // Get audio tracks val audioTracks = audioList + AUDIO_REGEX.findAll(masterPlaylist).mapNotNull { Track( - getAbsoluteUrl(it.groupValues[2], playlistUrl, masterBase) ?: return@mapNotNull null, + getAbsoluteUrl(it.groupValues[2], playlistUrl, masterUrlBasePath ) ?: return@mapNotNull null, it.groupValues[1] ) }.toList() @@ -124,7 +127,7 @@ class PlaylistUtils(private val client: OkHttpClient, private val headers: Heade .substringBefore(",") + "p" val videoUrl = it.substringAfter("\n").substringBefore("\n").let { url -> - getAbsoluteUrl(url, playlistUrl, masterBase) + getAbsoluteUrl(url, playlistUrl, masterUrlBasePath ) } ?: return@mapNotNull null diff --git a/lib/streamvid-extractor/src/main/java/eu/kanade/tachiyomi/lib/streamvidextractor/StreamVidExtractor.kt b/lib/streamvid-extractor/src/main/java/eu/kanade/tachiyomi/lib/streamvidextractor/StreamVidExtractor.kt index 75f31b99e..7e9831746 100644 --- a/lib/streamvid-extractor/src/main/java/eu/kanade/tachiyomi/lib/streamvidextractor/StreamVidExtractor.kt +++ b/lib/streamvid-extractor/src/main/java/eu/kanade/tachiyomi/lib/streamvidextractor/StreamVidExtractor.kt @@ -8,14 +8,18 @@ import eu.kanade.tachiyomi.util.asJsoup import okhttp3.OkHttpClient class StreamVidExtractor(private val client: OkHttpClient) { - fun videosFromUrl(url: String, prefix: String = ""): List