diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/HDMomExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/HDMomPlayerExtractor.kt similarity index 96% rename from app/src/main/java/com/lagradost/cloudstream3/extractors/HDMomExtractor.kt rename to app/src/main/java/com/lagradost/cloudstream3/extractors/HDMomPlayerExtractor.kt index 066e17ab..03586386 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/HDMomExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/HDMomPlayerExtractor.kt @@ -49,13 +49,11 @@ open class HDMomPlayer : ExtractorApi() { } } - if (m3u_link == null) throw ErrorLoadingException("m3u link not found") - callback.invoke( ExtractorLink( source = this.name, name = this.name, - url = m3u_link, + url = m3u_link ?: throw ErrorLoadingException("m3u link not found"), referer = url, quality = Qualities.Unknown.value, isM3u8 = true diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/HDPlayerSystemExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/HDPlayerSystemExtractor.kt index c1a73a4d..27b96933 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/HDPlayerSystemExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/HDPlayerSystemExtractor.kt @@ -44,7 +44,7 @@ open class HDPlayerSystem : ExtractorApi() { url = m3u_link, referer = ext_ref, quality = Qualities.Unknown.value, - isM3u8 = m3u_link.contains(".m3u8") + type = INFER_TYPE ) ) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/OdnoklassnikiExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/OdnoklassnikiExtractor.kt index 7160ae62..29640d5f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/OdnoklassnikiExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/OdnoklassnikiExtractor.kt @@ -13,7 +13,7 @@ open class Odnoklassniki : ExtractorApi() { override val requiresReferer = false override suspend fun getUrl(url: String, referer: String?, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit) { - val ext_ref = referer ?: "" + val ext_ref = referer ?: "" Log.d("Kekik_${this.name}", "url » ${url}") val user_agent = mapOf("User-Agent" to "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36") diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/PeaceMakerstExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/PeaceMakerstExtractor.kt index a5a2c01f..0e678044 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/PeaceMakerstExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/PeaceMakerstExtractor.kt @@ -43,22 +43,20 @@ open class PeaceMakerst : ExtractorApi() { val video_response = response.parsedSafe() ?: throw ErrorLoadingException("peace response is null") val video_sources = video_response.videoSources if (video_sources.isNotEmpty()) { - m3u_link = video_sources.last().file + m3u_link = video_sources.lastOrNull()?.file } else { m3u_link = null } } - if (m3u_link == null) throw ErrorLoadingException("m3u link not found") - callback.invoke( ExtractorLink( source = this.name, name = this.name, - url = m3u_link, + url = m3u_link ?: throw ErrorLoadingException("m3u link not found"), referer = ext_ref, quality = Qualities.Unknown.value, - isM3u8 = m3u_link.contains(".m3u8") + type = INFER_TYPE ) ) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/PixelDrainExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/PixelDrainExtractor.kt index be867e15..1c70cb54 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/PixelDrainExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/PixelDrainExtractor.kt @@ -24,7 +24,7 @@ open class PixelDrain : ExtractorApi() { url = downloadLink, referer = "${mainUrl}/u/${pixel_id}?download", quality = Qualities.Unknown.value, - isM3u8 = downloadLink.contains(".m3u8") + type = INFER_TYPE ) ) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/SibNetExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/SibNetExtractor.kt index 3326bd5a..a8bcee31 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/SibNetExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/SibNetExtractor.kt @@ -14,22 +14,20 @@ open class SibNet : ExtractorApi() { override suspend fun getUrl(url: String, referer: String?, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit) { val ext_ref = referer ?: "" val i_source = app.get(url, referer=ext_ref).text - var m3u_link = Regex("""player.src\(\[\{src: \"([^\"]+)""").find(i_source)?.groupValues?.get(1) + var m3u_link = Regex("""player.src\(\[\{src: \"([^\"]+)""").find(i_source)?.groupValues?.get(1) ?: throw ErrorLoadingException("m3u link not found") - if (m3u_link != null) { - m3u_link = "${mainUrl}${m3u_link}" - Log.d("Kekik_${this.name}", "m3u_link » ${m3u_link}") + m3u_link = "${mainUrl}${m3u_link}" + Log.d("Kekik_${this.name}", "m3u_link » ${m3u_link}") - callback.invoke( - ExtractorLink( - source = this.name, - name = this.name, - url = m3u_link, - referer = url, - quality = Qualities.Unknown.value, - isM3u8 = m3u_link.contains(".m3u8") - ) + callback.invoke( + ExtractorLink( + source = this.name, + name = this.name, + url = m3u_link, + referer = url, + quality = Qualities.Unknown.value, + type = INFER_TYPE ) - } + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/TRsTXExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/TRsTXExtractor.kt index 8fa7ed3f..0034e164 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/TRsTXExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/TRsTXExtractor.kt @@ -60,7 +60,7 @@ open class TRsTX : ExtractorApi() { url = m3u_link, referer = ext_ref, quality = Qualities.Unknown.value, - isM3u8 = m3u_link.contains(".m3u8") + type = INFER_TYPE ) ) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/TauVideoExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/TauVideoExtractor.kt index 99668618..157f997f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/TauVideoExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/TauVideoExtractor.kt @@ -28,7 +28,7 @@ open class TauVideo : ExtractorApi() { url = video.url, referer = ext_ref, quality = Qualities.Unknown.value, - isM3u8 = video.url.contains(".m3u8") + type = INFER_TYPE ) ) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/VideoSeyredExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/VideoSeyredExtractor.kt index f9d947c1..c3d61552 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/VideoSeyredExtractor.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/VideoSeyredExtractor.kt @@ -6,8 +6,6 @@ import android.util.Log import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.utils.* import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper -import com.fasterxml.jackson.module.kotlin.readValue open class VideoSeyred : ExtractorApi() { override val name = "VideoSeyred" @@ -20,9 +18,7 @@ open class VideoSeyred : ExtractorApi() { val video_url = "${mainUrl}/playlist/${video_id}.json" Log.d("Kekik_${this.name}", "video_url » ${video_url}") - val response_raw = app.get(video_url) - val response_list:List = jacksonObjectMapper().readValue(response_raw.text) - val response = response_list[0] + val response = app.get(video_url).parsedSafe>()?.firstOrNull() ?: throw Error("Failed to parse response") for (track in response.tracks) { if (track.label != null && track.kind == "captions") { @@ -43,7 +39,7 @@ open class VideoSeyred : ExtractorApi() { url = source.file, referer = ext_ref, quality = Qualities.Unknown.value, - isM3u8 = source.file.contains(".m3u8") + type = INFER_TYPE ) ) }