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

@@ -667,12 +667,11 @@ private struct PlayerSheetsModifier: ViewModifier {
private var qualitySelectorSheet: some View {
if let playerService {
let supportedFormats = playerService.currentBackendType.supportedFormats
let dashEnabled = appEnvironment?.settingsManager.dashEnabled ?? false
QualitySelectorView(
streams: playerService.availableStreams.filter { stream in
let format = StreamFormat.detect(from: stream)
// Filter out DASH streams if disabled in settings
if format == .dash && !dashEnabled {
// DASH is never offered for manual selection
if format == .dash {
return false
}
return supportedFormats.contains(format)

View File

@@ -143,13 +143,13 @@ struct TVPlayerView: View {
@ViewBuilder
private var qualityPanelContent: some View {
if let playerService {
let dashEnabled = appEnvironment?.settingsManager.dashEnabled ?? false
let supportedFormats = playerService.currentBackendType.supportedFormats
QualitySelectorView(
streams: playerService.availableStreams.filter { stream in
let format = StreamFormat.detect(from: stream)
if format == .dash && !dashEnabled {
// DASH is never offered for manual selection
if format == .dash {
return false
}
return supportedFormats.contains(format)