import SwiftUI struct PlaybackStatsView: View { @ObservedObject private var networkState = NetworkStateModel.shared private var player: PlayerModel { .shared } var body: some View { VStack(alignment: .leading, spacing: 6) { mpvPlaybackStatRow("Hardware decoder".localized(), player.mpvBackend.hwDecoder) mpvPlaybackStatRow("Dropped frames".localized(), String(player.mpvBackend.frameDropCount)) mpvPlaybackStatRow("Stream FPS".localized(), player.mpvBackend.formattedOutputFps) mpvPlaybackStatRow("Cached time".localized(), String(format: "%.2fs", networkState.cacheDuration)) } .padding(.top, 2) #if os(tvOS) .font(.system(size: 20)) #else .font(.system(size: 11)) #endif } func mpvPlaybackStatRow(_ label: String, _ value: String) -> some View { HStack { Text(label) .foregroundColor(.secondary) Spacer() Text(value) } } } struct PlaybackStatsView_Previews: PreviewProvider { static var previews: some View { PlaybackStatsView() } }