Remove Enable DASH setting; make DASH a last-resort format

Drop the dashEnabled toggle and its plumbing. Stream auto-selection now
keeps DASH as a candidate but ranks it strictly below progressive and
HLS formats, so DASH is only chosen when it is the only format available
(including live-stream fallback after HLS). The manual quality selector
hides DASH entirely on iOS/tvOS/macOS. Reconciles BackendSwitcher, which
previously treated HLS/DASH equally, to use the same DASH-last ranking.
This commit is contained in:
Arkadiusz Fal
2026-05-20 07:14:31 +02:00
parent 88fafc5ada
commit 6dfa63c263
9 changed files with 39 additions and 59 deletions

View File

@@ -20,7 +20,6 @@ enum SettingsKey: String, CaseIterable {
case cellularQuality
case autoplay
case backgroundPlayback
case dashEnabled
case preferredAudioLanguage
case preferredSubtitlesLanguage
case resumeAction

View File

@@ -70,19 +70,6 @@ extension SettingsManager {
}
}
/// Whether DASH streams are enabled (MPV only).
/// Disabled by default as DASH can be unreliable with some Invidious instances.
var dashEnabled: Bool {
get {
if let cached = _dashEnabled { return cached }
return bool(for: .dashEnabled, default: false)
}
set {
_dashEnabled = newValue
set(newValue, for: .dashEnabled)
}
}
var allowSoftwareDecodedFormats: Bool {
get {
if let cached = _allowSoftwareDecodedFormats { return cached }

View File

@@ -34,7 +34,6 @@ final class SettingsManager {
var _preferredQuality: VideoQuality?
var _cellularQuality: VideoQuality?
var _backgroundPlaybackEnabled: Bool?
var _dashEnabled: Bool?
var _preferredAudioLanguage: String?
var _preferredSubtitlesLanguage: String?
var _playerVolume: Float?
@@ -415,7 +414,6 @@ final class SettingsManager {
_preferredQuality = nil
_cellularQuality = nil
_backgroundPlaybackEnabled = nil
_dashEnabled = nil
_preferredAudioLanguage = nil
_preferredSubtitlesLanguage = nil
_playerVolume = nil