package ani.dantotsu.addons.download import android.content.Context import android.net.Uri interface DownloadAddonApiV2 { fun cancelDownload(sessionId: Long) fun setDownloadPath(context: Context, uri: Uri): String fun getReadPath(context: Context, uri: Uri): String suspend fun executeFFProbe( videoUrl: String, headers: Map = emptyMap(), logCallback: (String) -> Unit ) suspend fun executeFFMpeg( videoUrl: String, downloadPath: String, headers: Map = emptyMap(), subtitleUrls: List> = emptyList(), audioUrls: List> = emptyList(), statCallback: (Double) -> Unit ): Long suspend fun customFFMpeg(command: String, videoUrls: List, logCallback: (String) -> Unit): Long suspend fun customFFProbe(command: String, videoUrls: List, logCallback: (String) -> Unit) fun getState(sessionId: Long): String fun getStackTrace(sessionId: Long): String? fun hadError(sessionId: Long): Boolean fun getFileExtension(): Pair = Pair("mkv", "video/x-matroska") }