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(