Trim comments and hoist settings read in stream filtering

Drop comments restating what the code shows; hoist allowSoftwareDecodedFormats
out of the recommendedVideoStreams filter closure so the bridge property is
read once per render instead of once per stream.
This commit is contained in:
Arkadiusz Fal
2026-05-07 18:03:34 +02:00
parent 16477641ab
commit 158d518e3a
4 changed files with 5 additions and 15 deletions

View File

@@ -91,19 +91,16 @@ extension QualitySelectorView {
return downloadedStreams + onlineVideoStreams
}
/// Recommended video streams (hardware-decodable codecs).
/// When `allowSoftwareDecodedFormats` is ON, all video streams are considered recommended.
var recommendedVideoStreams: [Stream] {
videoStreams.filter { (stream: Stream) -> Bool in
let allowSoftware = allowSoftwareDecodedFormats
return videoStreams.filter { (stream: Stream) -> Bool in
if stream.url.isFileURL { return true }
if stream.isMuxed { return true }
if allowSoftwareDecodedFormats { return true }
if allowSoftware { return true }
return !requiresSoftwareDecode(stream.videoCodec)
}
}
/// Other video streams (software decode required).
/// Empty when `allowSoftwareDecodedFormats` is ON those streams are now recommended.
var otherVideoStreams: [Stream] {
if allowSoftwareDecodedFormats { return [] }
return videoStreams.filter { (stream: Stream) -> Bool in

View File

@@ -71,8 +71,6 @@ struct QualitySelectorView: View {
appEnvironment?.settingsManager.showAdvancedStreamDetails ?? false
}
/// Whether the user has opted in to software-decoded formats during auto-selection.
/// When enabled, software-decoded streams are treated as recommended (no split).
var allowSoftwareDecodedFormats: Bool {
appEnvironment?.settingsManager.allowSoftwareDecodedFormats ?? false
}