[feat] add mobile codec status and scrolling codec names

This commit is contained in:
dijunkun
2026-10-27 04:16:41 +08:00
parent 1687816bde
commit e123d5f2cc
20 changed files with 241 additions and 48 deletions
@@ -16,6 +16,7 @@ struct RemoteNetworkReport {
var mode: Mode = .unknown
var srtpActive = false
var rttMilliseconds: Double = -1
var localVideoDecoder = ""
}
struct RemoteNetworkSnapshot {
@@ -23,6 +24,8 @@ struct RemoteNetworkSnapshot {
var framesPerSecond = 0
var videoLatencyMilliseconds: Double?
var rttMilliseconds: Double?
var remoteVideoEncoder = ""
var localVideoDecoder = ""
var connectionMode: String {
switch report?.mode {
@@ -66,6 +69,11 @@ struct RemoteNetworkStatistics {
private var frames: [(time: TimeInterval, latency: Double?)] = []
private var displayedSnapshot = RemoteNetworkSnapshot()
private var displayTime: TimeInterval?
private var remoteVideoEncoder = ""
mutating func receiveRemoteVideoEncoder(_ encoder: String) {
remoteVideoEncoder = encoder
}
mutating func receive(_ report: RemoteNetworkReport, at now: TimeInterval) {
self.report = report
@@ -117,7 +125,9 @@ struct RemoteNetworkStatistics {
report: now - reportTime < 3 ? report : nil,
framesPerSecond: recentFrames.count,
videoLatencyMilliseconds: delays.isEmpty ? nil : delays.reduce(0, +) / Double(delays.count),
rttMilliseconds: now - rttTime < 3 ? averageRTT : nil
rttMilliseconds: now - rttTime < 3 ? averageRTT : nil,
remoteVideoEncoder: remoteVideoEncoder,
localVideoDecoder: report?.localVideoDecoder ?? ""
)
}
}