ananas/data/src/main/java/dev/jdtech/jellyfin/models/VideoQuality.kt

31 lines
No EOL
1 KiB
Kotlin

package dev.jdtech.jellyfin.models
enum class VideoQuality(
val bitrate: Int,
val height: Int,
val width: Int,
val original: Boolean,
) {
Auto(10000000, 1080, 1920, false),
Original(1000000000, 1080, 1920, true),
P3840(12000000,3840, 2160, false), // Here for future proofing and to calculate original resolution only
P1080(8000000, 1080, 1920, false),
P720(3000000, 720, 1280, false),
P480(1500000, 480, 854, false),
P360(800000, 360, 640, false);
override fun toString(): String = when (this) {
Auto -> "Auto"
Original -> "Original"
P3840 -> "4K"
else -> "${height}p"
}
companion object {
fun fromString(quality: String): VideoQuality? = entries.find { it.toString() == quality }
fun getBitrate(quality: VideoQuality): Int = quality.bitrate
fun getHeight(quality: VideoQuality): Int = quality.height
fun getWidth(quality: VideoQuality): Int = quality.width
fun getOriginal(quality: VideoQuality): Boolean = quality.original
}
}