mirror of
https://github.com/yattee/yattee.git
synced 2024-12-22 21:43:41 +00:00
Remove best resolution setting
This commit is contained in:
parent
409b229dc8
commit
d2cecf164d
@ -4,7 +4,7 @@ import Foundation
|
|||||||
struct QualityProfile: Hashable, Identifiable, Defaults.Serializable {
|
struct QualityProfile: Hashable, Identifiable, Defaults.Serializable {
|
||||||
static var bridge = QualityProfileBridge()
|
static var bridge = QualityProfileBridge()
|
||||||
static var defaultProfile = Self(id: "default", backend: .mpv, resolution: .hd720p60, formats: [.stream])
|
static var defaultProfile = Self(id: "default", backend: .mpv, resolution: .hd720p60, formats: [.stream])
|
||||||
static var highQualityProfile = Self(id: "highQuality", backend: .mpv, resolution: .best, formats: [.webm, .mp4, .av1, .avc1])
|
static var highQualityProfile = Self(id: "highQuality", backend: .mpv, resolution: .hd2160p60, formats: [.webm, .mp4, .av1, .avc1])
|
||||||
|
|
||||||
enum Format: String, CaseIterable, Identifiable, Defaults.Serializable {
|
enum Format: String, CaseIterable, Identifiable, Defaults.Serializable {
|
||||||
case hls
|
case hls
|
||||||
@ -65,7 +65,7 @@ struct QualityProfile: Hashable, Identifiable, Defaults.Serializable {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
let resolutionMatch = !stream.resolution.isNil && (resolution == .best || (resolution.value >= stream.resolution))
|
let resolutionMatch = !stream.resolution.isNil && resolution.value >= stream.resolution
|
||||||
|
|
||||||
if resolutionMatch, formats.contains(.stream), stream.kind == .stream {
|
if resolutionMatch, formats.contains(.stream), stream.kind == .stream {
|
||||||
return true
|
return true
|
||||||
|
@ -120,7 +120,6 @@ extension Defaults.Keys {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum ResolutionSetting: String, CaseIterable, Defaults.Serializable {
|
enum ResolutionSetting: String, CaseIterable, Defaults.Serializable {
|
||||||
case best
|
|
||||||
case hd2160p60
|
case hd2160p60
|
||||||
case hd2160p30
|
case hd2160p30
|
||||||
case hd1440p60
|
case hd1440p60
|
||||||
@ -134,19 +133,12 @@ enum ResolutionSetting: String, CaseIterable, Defaults.Serializable {
|
|||||||
case sd240p30
|
case sd240p30
|
||||||
case sd144p30
|
case sd144p30
|
||||||
|
|
||||||
var value: Stream.Resolution {
|
var value: Stream.Resolution! {
|
||||||
switch self {
|
.init(rawValue: rawValue)
|
||||||
case .best:
|
|
||||||
return .hd2160p60
|
|
||||||
default:
|
|
||||||
return Stream.Resolution(rawValue: rawValue)!
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var description: String {
|
var description: String {
|
||||||
switch self {
|
switch self {
|
||||||
case .best:
|
|
||||||
return "Best available quality"
|
|
||||||
case .hd2160p60:
|
case .hd2160p60:
|
||||||
return "4K, 60fps"
|
return "4K, 60fps"
|
||||||
case .hd2160p30:
|
case .hd2160p30:
|
||||||
|
@ -11,7 +11,7 @@ struct QualityProfileForm: View {
|
|||||||
|
|
||||||
@State private var name = ""
|
@State private var name = ""
|
||||||
@State private var backend = PlayerBackendType.mpv
|
@State private var backend = PlayerBackendType.mpv
|
||||||
@State private var resolution = ResolutionSetting.best
|
@State private var resolution = ResolutionSetting.hd1080p60
|
||||||
@State private var formats = [QualityProfile.Format]()
|
@State private var formats = [QualityProfile.Format]()
|
||||||
|
|
||||||
var qualityProfile: QualityProfile! {
|
var qualityProfile: QualityProfile! {
|
||||||
@ -270,7 +270,7 @@ struct QualityProfileForm: View {
|
|||||||
func isResolutionDisabled(_ resolution: ResolutionSetting) -> Bool {
|
func isResolutionDisabled(_ resolution: ResolutionSetting) -> Bool {
|
||||||
guard backend == .appleAVPlayer else { return false }
|
guard backend == .appleAVPlayer else { return false }
|
||||||
|
|
||||||
return resolution != .best && resolution.value.height > 720
|
return resolution.value.height > 720
|
||||||
}
|
}
|
||||||
|
|
||||||
func initializeForm() {
|
func initializeForm() {
|
||||||
|
Loading…
Reference in New Issue
Block a user