mirror of
https://github.com/yattee/yattee.git
synced 2024-12-22 13:33:42 +00:00
Add buffering and cache length to stats
This commit is contained in:
parent
c35015e73f
commit
b88adca781
@ -80,6 +80,14 @@ final class MPVBackend: PlayerBackend {
|
||||
client?.hwDecoder ?? "unknown"
|
||||
}
|
||||
|
||||
var bufferingState: Double {
|
||||
client?.bufferingState ?? 0
|
||||
}
|
||||
|
||||
var cacheDuration: Double {
|
||||
client?.cacheDuration ?? 0
|
||||
}
|
||||
|
||||
init(model: PlayerModel, controls: PlayerControlsModel? = nil) {
|
||||
self.model = model
|
||||
self.controls = controls
|
||||
|
@ -155,6 +155,14 @@ final class MPVClient: ObservableObject {
|
||||
mpv.isNil ? "unknown" : (getString("hwdec-current") ?? "unknown")
|
||||
}
|
||||
|
||||
var bufferingState: Double {
|
||||
mpv.isNil ? 0.0 : getDouble("cache-buffering-state")
|
||||
}
|
||||
|
||||
var cacheDuration: Double {
|
||||
mpv.isNil ? 0.0 : getDouble("demuxer-cache-duration")
|
||||
}
|
||||
|
||||
var duration: CMTime {
|
||||
CMTime.secondsInDefaultTimescale(mpv.isNil ? -1 : getDouble("duration"))
|
||||
}
|
||||
|
@ -115,7 +115,9 @@ struct PlayerControls: View {
|
||||
Group {
|
||||
Text("hw decoder: \(player.mpvBackend.hwDecoder)")
|
||||
Text("dropped: \(player.mpvBackend.frameDropCount)")
|
||||
Text("output fps: \(player.mpvBackend.outputFps)")
|
||||
Text("video: \(String(format: "%.2ffps", player.mpvBackend.outputFps))")
|
||||
Text("buffering: \(String(format: "%.0f%%", player.mpvBackend.bufferingState))")
|
||||
Text("cache: \(String(format: "%.2fs", player.mpvBackend.cacheDuration))")
|
||||
}
|
||||
.padding(4)
|
||||
#if os(macOS)
|
||||
|
Loading…
Reference in New Issue
Block a user