Fix subtitles for kickassanime

This commit is contained in:
V3u47ZoN 2025-04-22 06:30:53 +00:00 committed by GitHub
parent 27bce2914b
commit 757694fabf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -18,6 +18,8 @@ class KickAssAnimeExtractor(
private val json: Json,
private val headers: Headers,
) {
private val playlistUtils by lazy { PlaylistUtils(client, headers) }
fun videosFromUrl(url: String, name: String): List<Video> {
val host = url.toHttpUrl().host
val mid = if (name == "DuckStream") "mid" else "id"
@ -77,7 +79,7 @@ class KickAssAnimeExtractor(
val language = "${it.name} (${it.language})"
Track(subUrl, language)
}
}.let { playlistUtils.fixSubtitles(it) }
fun getVideoHeaders(baseHeaders: Headers, referer: String, videoUrl: String): Headers {
return baseHeaders.newBuilder().apply {
@ -92,8 +94,8 @@ class KickAssAnimeExtractor(
return when {
videoObject.hls.isBlank() ->
PlaylistUtils(client, headers).extractFromDash(videoObject.playlistUrl, videoNameGen = { res -> "$name - $res" }, subtitleList = subtitles)
else -> PlaylistUtils(client, headers).extractFromHls(
playlistUtils.extractFromDash(videoObject.playlistUrl, videoNameGen = { res -> "$name - $res" }, subtitleList = subtitles)
else -> playlistUtils.extractFromHls(
videoObject.playlistUrl,
videoNameGen = { "$name - $it" },
videoHeadersGen = ::getVideoHeaders,