ananas/player/video/src/main/java/dev/jdtech/jellyfin/Extensions.kt
Jarne Demeulemeester 87da7a09e8
fix: some languages are displayed incorrectly in the track selector
See https://github.com/androidx/media/blob/release/libraries/common/src/main/java/androidx/media3/common/util/Util.java additionalIsoLanguageReplacements for the list of languages being mapped. Seems like always taking the last part and feeding that to Locale works.

Closes #737
2024-04-22 22:44:56 +02:00

17 lines
561 B
Kotlin

package dev.jdtech.jellyfin
import androidx.media3.common.Tracks
import java.util.Locale
fun List<Tracks.Group>.getTrackNames(): Array<String> {
return this.map { group ->
val nameParts: MutableList<String?> = mutableListOf()
val format = group.mediaTrackGroup.getFormat(0)
nameParts.run {
add(format.label)
add(format.language?.let { Locale(it.split("-").last()).displayLanguage })
add(format.codecs)
filterNotNull().joinToString(separator = " - ")
}
}.toTypedArray()
}