yattee/Shared/Player/Controls/PlaybackStatsView.swift

38 lines
1.1 KiB
Swift
Raw Permalink Normal View History

2022-09-01 23:19:15 +00:00
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) {
2022-09-27 13:22:40 +00:00
mpvPlaybackStatRow("Hardware decoder".localized(), player.mpvBackend.hwDecoder)
mpvPlaybackStatRow("Dropped frames".localized(), String(player.mpvBackend.frameDropCount))
2022-11-10 17:11:28 +00:00
mpvPlaybackStatRow("Stream FPS".localized(), player.mpvBackend.formattedOutputFps)
2022-12-21 20:20:54 +00:00
mpvPlaybackStatRow("Cached time".localized(), String(format: "%.2fs", networkState.cacheDuration))
2022-09-01 23:19:15 +00:00
}
.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()
}
}