import Foundation /// Was bei der Wiedergabe erlaubt ist. /// /// Das ist die Stellschraube, an der Phase 2 andockt: heute steht /// `allowsTranscoding` auf `false` und der Decider kommt zwangsläufig immer /// bei DirectPlay heraus. Sobald der Transcoder steht, wird hier umgelegt — /// die Views merken davon nichts. public struct PlaybackPolicy: Sendable, Equatable { /// Darf der Server umrechnen? public var allowsTranscoding: Bool /// Darf VLCKit einspringen? public var allowsFallbackEngine: Bool /// Obergrenze in Kilobit pro Sekunde. `nil` heißt unbegrenzt — der /// Normalfall im heimischen WLAN. public var maximumBitrate: Int? public init( allowsTranscoding: Bool, allowsFallbackEngine: Bool = true, maximumBitrate: Int? = nil ) { self.allowsTranscoding = allowsTranscoding self.allowsFallbackEngine = allowsFallbackEngine self.maximumBitrate = maximumBitrate } /// Phase 1: alles direkt, nichts umrechnen. public static let directPlayOnly = PlaybackPolicy(allowsTranscoding: false) }