Kickassanime & Hianime: Fix subtitles (#937)

* Fix subtitles

* Update PlaylistUtils.kt

* Update MegaCloudExtractor.kt

* Update AniPlay.kt

* Update MegaCloudExtractor.kt

* Fix regex

* Fix subtitles for kickassanime

* Update build.gradle

* Update build.gradle

* Update build.gradle.kts

* Update build.gradle.kts

* Update build.gradle

* Update build.gradle
This commit is contained in:
V3u47ZoN 2025-04-24 11:53:03 +00:00 committed by GitHub
parent ac1938c1e4
commit f57e2ea5af
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 35 additions and 5 deletions

View file

@ -291,7 +291,7 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
return playlistUtils.extractFromHls(
playlistUrl = url,
videoNameGen = { quality -> "$serverName - $quality - $typeName" },
subtitleList = subtitles,
subtitleList = playlistUtils.fixSubtitles(subtitles),
masterHeadersGen = { baseHeaders: Headers, _: String ->
baseHeaders.newBuilder().apply {
set("Accept", "*/*")

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,