mirror of
https://github.com/yattee/yattee.git
synced 2025-08-09 20:24:06 +00:00
Add "Always use AVPlayer for live videos" option
This commit is contained in:
@@ -87,6 +87,7 @@ extension Defaults.Keys {
|
||||
static let batteryNonCellularProfile = Key<QualityProfile.ID>("batteryNonCellularProfile", default: batteryNonCellularProfileDefault)
|
||||
static let chargingCellularProfile = Key<QualityProfile.ID>("chargingCellularProfile", default: chargingCellularProfileDefault)
|
||||
static let chargingNonCellularProfile = Key<QualityProfile.ID>("chargingNonCellularProfile", default: chargingNonCellularProfileDefault)
|
||||
static let forceAVPlayerForLiveStreams = Key<Bool>("forceAVPlayerForLiveStreams", default: true)
|
||||
|
||||
static let playerSidebar = Key<PlayerSidebarSetting>("playerSidebar", default: PlayerSidebarSetting.defaultValue)
|
||||
static let playerInstanceID = Key<Instance.ID?>("playerInstance")
|
||||
|
@@ -12,9 +12,10 @@ struct QualitySettings: View {
|
||||
@Default(.batteryNonCellularProfile) private var batteryNonCellularProfile
|
||||
@Default(.chargingCellularProfile) private var chargingCellularProfile
|
||||
@Default(.chargingNonCellularProfile) private var chargingNonCellularProfile
|
||||
@Default(.forceAVPlayerForLiveStreams) private var forceAVPlayerForLiveStreams
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
VStack(alignment: .leading) {
|
||||
#if os(macOS)
|
||||
sections
|
||||
|
||||
@@ -63,6 +64,8 @@ struct QualitySettings: View {
|
||||
Picker("Default", selection: $chargingNonCellularProfile) { profilePickerOptions }
|
||||
}
|
||||
#endif
|
||||
|
||||
forceAVPlayerForLiveStreamsToggle
|
||||
}
|
||||
.disabled(qualityProfiles.isEmpty)
|
||||
Section(header: SettingsHeader(text: "Profiles"), footer: profilesFooter) {
|
||||
@@ -103,6 +106,10 @@ struct QualitySettings: View {
|
||||
Picker("Charging", selection: $chargingNonCellularProfile) { profilePickerOptions }
|
||||
}
|
||||
|
||||
@ViewBuilder var forceAVPlayerForLiveStreamsToggle: some View {
|
||||
Toggle("Always use AVPlayer for live videos", isOn: $forceAVPlayerForLiveStreams)
|
||||
}
|
||||
|
||||
@ViewBuilder func profileControl(_ qualityProfile: QualityProfile) -> some View {
|
||||
#if os(tvOS)
|
||||
Button {
|
||||
|
Reference in New Issue
Block a user