mirror of
				https://github.com/yattee/yattee.git
				synced 2025-11-03 22:22:02 +00:00 
			
		
		
		
	Add buffering and cache length to stats
This commit is contained in:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user