From 5a0af1c9244a553aad4e57cb5eb2905b1957a3a7 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Thu, 4 Jan 2024 10:22:01 +0800 Subject: [PATCH] update extractor --- .../cloudstream3/extractors/Vidplay.kt | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/Vidplay.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/Vidplay.kt index 463c1d1f..4c95ecbe 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/Vidplay.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/Vidplay.kt @@ -43,9 +43,9 @@ open class Vidplay : ExtractorApi() { "Accept" to "application/json, text/javascript, */*; q=0.01", "X-Requested-With" to "XMLHttpRequest", ), referer = url - ).parsedSafe()?.result?.sources + ).parsedSafe()?.result - res?.map { + res?.sources?.map { M3u8Helper.generateM3u8( this.name, it.file ?: return@map, @@ -53,6 +53,14 @@ open class Vidplay : ExtractorApi() { ).forEach(callback) } + res?.tracks?.forEach { + val subtitle = it.file ?: return@forEach + val lang = it.label ?: return@forEach + subtitleCallback.invoke( + SubtitleFile(lang, subtitle) + ) + } + } private suspend fun getKeys(): List { @@ -92,8 +100,14 @@ open class Vidplay : ExtractorApi() { @JsonProperty("file") val file: String? = null, ) + data class Tracks( + @JsonProperty("file") var file: String? = null, + @JsonProperty("label") var label: String? = null, + ) + data class Result( - @JsonProperty("sources") val sources: ArrayList? = arrayListOf(), + @JsonProperty("sources") val sources: List = emptyList(), + @JsonProperty("tracks") var tracks: List = emptyList() ) data class Response(