mirror of
https://github.com/yattee/yattee.git
synced 2024-12-22 21:43:41 +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"
|
client?.hwDecoder ?? "unknown"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var bufferingState: Double {
|
||||||
|
client?.bufferingState ?? 0
|
||||||
|
}
|
||||||
|
|
||||||
|
var cacheDuration: Double {
|
||||||
|
client?.cacheDuration ?? 0
|
||||||
|
}
|
||||||
|
|
||||||
init(model: PlayerModel, controls: PlayerControlsModel? = nil) {
|
init(model: PlayerModel, controls: PlayerControlsModel? = nil) {
|
||||||
self.model = model
|
self.model = model
|
||||||
self.controls = controls
|
self.controls = controls
|
||||||
|
@ -155,6 +155,14 @@ final class MPVClient: ObservableObject {
|
|||||||
mpv.isNil ? "unknown" : (getString("hwdec-current") ?? "unknown")
|
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 {
|
var duration: CMTime {
|
||||||
CMTime.secondsInDefaultTimescale(mpv.isNil ? -1 : getDouble("duration"))
|
CMTime.secondsInDefaultTimescale(mpv.isNil ? -1 : getDouble("duration"))
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,9 @@ struct PlayerControls: View {
|
|||||||
Group {
|
Group {
|
||||||
Text("hw decoder: \(player.mpvBackend.hwDecoder)")
|
Text("hw decoder: \(player.mpvBackend.hwDecoder)")
|
||||||
Text("dropped: \(player.mpvBackend.frameDropCount)")
|
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)
|
.padding(4)
|
||||||
#if os(macOS)
|
#if os(macOS)
|
||||||
|
Loading…
Reference in New Issue
Block a user