Package-level declarations

Types

Link copied to clipboard
object AppUtils
Link copied to clipboard
object Coroutines
Link copied to clipboard

Class holds extracted DRM media info to be passed to the player.

Link copied to clipboard
abstract class ExtractorApi
Link copied to clipboard
open class ExtractorLink(    val source: String,     val name: String,     val url: String,     var referer: String,     var quality: Int,     var headers: Map<String, String> = mapOf(),     var extractorData: String? = null,     var type: ExtractorLinkType) : IDownloadableMinimum

Class holds extracted media info to be passed to the player.

Link copied to clipboard
data class ExtractorLinkPlayList(    val source: String,     val name: String,     val playlist: List<PlayListItem>,     var referer: String,     var quality: Int,     var headers: Map<String, String> = mapOf(),     var extractorData: String? = null,     var type: ExtractorLinkType) : ExtractorLink

If your site has an unorthodox m3u8-like system where there are multiple smaller videos concatenated use this.

Link copied to clipboard

Metadata about the file type used for downloads and exoplayer hint, if you respond with the wrong one the file will fail to download or be played

Link copied to clipboard
class JsHunter(hunterJS: String)
Link copied to clipboard
class JsUnpacker(packedJS: String?)
Link copied to clipboard

backwards api surface

Link copied to clipboard
Link copied to clipboard
data class PlayListItem(val url: String, val durationUs: Long)

For use in the ConcatenatingMediaSource. If features are missing (headers), please report and we can add it.

Link copied to clipboard
Link copied to clipboard
object ShortLink
Link copied to clipboard
Link copied to clipboard

Properties

Link copied to clipboard

UUID for the ClearKey DRM scheme.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

UUID for the PlayReady DRM scheme.

Link copied to clipboard

Removes https:// and www. To match urls regardless of schema, perhaps Uri() can be used?

Link copied to clipboard

UUID for the Widevine DRM scheme.

Functions

Link copied to clipboard
Link copied to clipboard
fun getAndUnpack(string: String): String
Link copied to clipboard
Link copied to clipboard
fun getPacked(string: String): String?
Link copied to clipboard
suspend fun getPostForm(requestUrl: String, html: String): String?
Link copied to clipboard
fun getQualityFromName(qualityName: String?): Int
Link copied to clipboard
Link copied to clipboard
suspend fun loadExtractor(url: String, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit): Boolean

suspend fun loadExtractor(url: String, referer: String? = null, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit): Boolean

Tries to load the appropriate extractor based on link, returns true if any extractor is loaded.

Link copied to clipboard
suspend fun newDrmExtractorLink(    source: String,     name: String,     url: String,     type: ExtractorLinkType? = null,     uuid: UUID,     initializer: suspend DrmExtractorLink.() -> Unit = { }): DrmExtractorLink
Link copied to clipboard
suspend fun newExtractorLink(    source: String,     name: String,     url: String,     type: ExtractorLinkType? = null,     initializer: suspend ExtractorLink.() -> Unit = { }): ExtractorLink
Link copied to clipboard
Link copied to clipboard
actual fun runOnMainThreadNative(work: () -> Unit)
expect fun runOnMainThreadNative(work: () -> Unit)
actual fun runOnMainThreadNative(work: () -> Unit)
Link copied to clipboard
fun Long.toUs(): Long

Converts Seconds to MicroSeconds, multiplication by 1_000_000

Link copied to clipboard
suspend fun unshortenLinkSafe(url: String): String