mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-06-03 13:44:33 -04:00
Use builtin cmp.Or instead of custom one
This commit is contained in:
parent
5364359788
commit
629acf4855
@ -1,6 +1,7 @@
|
|||||||
package src
|
package src
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"cmp"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -14,7 +15,7 @@ import (
|
|||||||
//
|
//
|
||||||
// this code is addapted from https://github.com/jellyfin/jellyfin/blob/master/Jellyfin.Api/Helpers/HlsCodecStringHelpers.cs
|
// this code is addapted from https://github.com/jellyfin/jellyfin/blob/master/Jellyfin.Api/Helpers/HlsCodecStringHelpers.cs
|
||||||
func GetMimeCodec(mi *mediainfo.File, kind mediainfo.StreamKind, i int) *string {
|
func GetMimeCodec(mi *mediainfo.File, kind mediainfo.StreamKind, i int) *string {
|
||||||
codec := Or(
|
codec := cmp.Or(
|
||||||
mi.Parameter(kind, i, "InternetMediaType"),
|
mi.Parameter(kind, i, "InternetMediaType"),
|
||||||
mi.Parameter(kind, i, "Format"),
|
mi.Parameter(kind, i, "Format"),
|
||||||
)
|
)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package src
|
package src
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"cmp"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -140,19 +141,6 @@ func ParseTime(str string) float32 {
|
|||||||
return (hours*60.+minutes)*60. + seconds + ms/1000.
|
return (hours*60.+minutes)*60. + seconds + ms/1000.
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stolen from the cmp.Or code that is not yet released
|
|
||||||
// Or returns the first of its arguments that is not equal to the zero value.
|
|
||||||
// If no argument is non-zero, it returns the zero value.
|
|
||||||
func Or[T comparable](vals ...T) T {
|
|
||||||
var zero T
|
|
||||||
for _, val := range vals {
|
|
||||||
if val != zero {
|
|
||||||
return val
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return zero
|
|
||||||
}
|
|
||||||
|
|
||||||
func Map[T, U any](ts []T, f func(T, int) U) []U {
|
func Map[T, U any](ts []T, f func(T, int) U) []U {
|
||||||
us := make([]U, len(ts))
|
us := make([]U, len(ts))
|
||||||
for i := range ts {
|
for i := range ts {
|
||||||
@ -268,7 +256,7 @@ func getInfo(path string) (*MediaInfo, error) {
|
|||||||
Width: ParseUint(mi.Parameter(mediainfo.StreamVideo, i, "Width")),
|
Width: ParseUint(mi.Parameter(mediainfo.StreamVideo, i, "Width")),
|
||||||
Height: ParseUint(mi.Parameter(mediainfo.StreamVideo, i, "Height")),
|
Height: ParseUint(mi.Parameter(mediainfo.StreamVideo, i, "Height")),
|
||||||
Bitrate: ParseUint(
|
Bitrate: ParseUint(
|
||||||
Or(
|
cmp.Or(
|
||||||
mi.Parameter(mediainfo.StreamVideo, i, "BitRate"),
|
mi.Parameter(mediainfo.StreamVideo, i, "BitRate"),
|
||||||
mi.Parameter(mediainfo.StreamVideo, i, "OverallBitRate"),
|
mi.Parameter(mediainfo.StreamVideo, i, "OverallBitRate"),
|
||||||
mi.Parameter(mediainfo.StreamVideo, i, "BitRate_Nominal"),
|
mi.Parameter(mediainfo.StreamVideo, i, "BitRate_Nominal"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user