refactor: cleanup DashHelper.kt

This commit is contained in:
Bnyro 2024-09-14 12:00:22 +02:00
parent 8eac9d8a38
commit 9b296fe036
2 changed files with 18 additions and 6 deletions

View File

@ -7,7 +7,7 @@ import kotlin.io.path.Path
@Serializable
data class PipedStream(
val url: String? = null,
var url: String? = null,
val format: String? = null,
val quality: String? = null,
val mimeType: String? = null,

View File

@ -40,17 +40,25 @@ object DashHelper {
val adapSetInfos = ArrayList<AdapSetInfo>()
for (
stream in streams.videoStreams
for (stream in streams.videoStreams) {
// used to avoid including LBRY HLS inside the streams in the manifest
.filter { !it.format.orEmpty().contains("HLS") }
.filter { supportsHdr || !it.quality.orEmpty().uppercase().contains("HDR") }
) {
if (stream.format.orEmpty().contains("HLS")) {
continue
}
// HDR is only supported by some new devices
if (!supportsHdr && stream.quality.orEmpty().uppercase().contains("HDR")) {
continue
}
// ignore dual format and OTF streams
if (!stream.videoOnly!! || stream.indexEnd!! <= 0) {
continue
}
// only unwraps the url if the preference is set in the settings
stream.url = ProxyHelper.unwrapStreamUrl(stream.url.orEmpty())
val adapSetInfo = adapSetInfos.find { it.mimeType == stream.mimeType }
if (adapSetInfo != null) {
adapSetInfo.formats.add(stream)
@ -73,6 +81,10 @@ object DashHelper {
adapSetInfo.formats.add(stream)
continue
}
// only unwraps the url if the preference is set in the settings
stream.url = ProxyHelper.unwrapStreamUrl(stream.url.orEmpty())
adapSetInfos.add(
AdapSetInfo(
stream.mimeType!!,