format ordering adapted

- MP4 contains av1 encoded video which is not hardware accelerated.
- MP4 format removed from AVPlayer

Signed-off-by: Toni Förster <toni.foerster@gmail.com>
This commit is contained in:
Toni Förster 2024-08-30 22:04:31 +02:00
parent 9a1f0d7aaa
commit 617af2cd20
No known key found for this signature in database
GPG Key ID: 292F3E5086C83FC7
4 changed files with 11 additions and 11 deletions

View File

@ -122,7 +122,7 @@ final class AVPlayerBackend: PlayerBackend {
}
func canPlay(_ stream: Stream) -> Bool {
stream.kind == .hls || stream.kind == .stream || (stream.kind == .adaptive && stream.format == .mp4)
stream.kind == .hls || stream.kind == .stream
}
func playStream(

View File

@ -684,7 +684,7 @@ final class PlayerModel: ObservableObject {
}
// First, we need to create an array with supported formats.
let formatOrderPiP: [QualityProfile.Format] = [.hls, .stream, .mp4]
let formatOrderPiP: [QualityProfile.Format] = [.stream, .hls]
guard let video = currentVideo else { return }
guard let stream = avPlayerBackend.bestPlayable(availableStreams, maxResolution: .hd720p30, formatOrder: formatOrderPiP) else { return }

View File

@ -7,10 +7,10 @@ struct QualityProfile: Hashable, Identifiable, Defaults.Serializable {
enum Format: String, CaseIterable, Identifiable, Defaults.Serializable {
case avc1
case mp4
case stream
case av1
case webm
case mp4
case av1
case hls
var id: String {
@ -30,16 +30,16 @@ struct QualityProfile: Hashable, Identifiable, Defaults.Serializable {
var streamFormat: Stream.Format? {
switch self {
case .av1:
return .av1
case .mp4:
return .mp4
case .stream:
return nil
case .avc1:
return .avc1
case .stream:
return nil
case .webm:
return .webm
case .mp4:
return .mp4
case .av1:
return .av1
case .hls:
return nil
}

View File

@ -301,7 +301,7 @@ struct QualityProfileForm: View {
func isFormatDisabled(_ format: QualityProfile.Format) -> Bool {
guard backend == .appleAVPlayer else { return false }
let avPlayerFormats = [.mp4, .stream, QualityProfile.Format.hls]
let avPlayerFormats = [.stream, QualityProfile.Format.hls]
return !avPlayerFormats.contains(format)
}