From 3742b51d58ae28c6b05a097912bf5a05811a69e5 Mon Sep 17 00:00:00 2001 From: 21pages Date: Sat, 22 Jun 2024 09:39:02 +0800 Subject: [PATCH] quality monitor, delay displays as 0 when fps is 0 (#8441) Signed-off-by: 21pages --- flutter/lib/common/widgets/overlay.dart | 4 +++- src/ui/remote.tis | 12 ++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/flutter/lib/common/widgets/overlay.dart b/flutter/lib/common/widgets/overlay.dart index 886e9b117..b16b4d9ad 100644 --- a/flutter/lib/common/widgets/overlay.dart +++ b/flutter/lib/common/widgets/overlay.dart @@ -498,8 +498,10 @@ class QualityMonitor extends StatelessWidget { children: [ _row("Speed", qualityMonitorModel.data.speed ?? '-'), _row("FPS", qualityMonitorModel.data.fps ?? '-'), + // let delay be 0 if fps is 0 _row( - "Delay", "${qualityMonitorModel.data.delay ?? '-'}ms", + "Delay", + "${qualityMonitorModel.data.delay == null ? '-' : (qualityMonitorModel.data.fps ?? "").replaceAll(' ', '').replaceAll('0', '').isEmpty ? 0 : qualityMonitorModel.data.delay}ms", rightColor: Colors.green), _row("Target Bitrate", "${qualityMonitorModel.data.targetBitrate ?? '-'}kb"), diff --git a/src/ui/remote.tis b/src/ui/remote.tis index 8f106e78e..00dceac5b 100644 --- a/src/ui/remote.tis +++ b/src/ui/remote.tis @@ -519,12 +519,12 @@ class QualityMonitor: Reactor.Component $(#quality-monitor).content(); handler.updateQualityStatus = function(speed, fps, delay, bitrate, codec_format, chroma) { - speed ? qualityMonitorData[0] = speed:null; - fps ? qualityMonitorData[1] = fps:null; - delay ? qualityMonitorData[2] = delay:null; - bitrate ? qualityMonitorData[3] = bitrate:null; - codec_format ? qualityMonitorData[4] = codec_format:null; - chroma ? qualityMonitorData[5] = chroma:null; + if (speed !== null) qualityMonitorData[0] = speed; + if (fps !== null) qualityMonitorData[1] = fps; + if (delay !== null) qualityMonitorData[2] = qualityMonitorData[1] === 0 ? 0 : delay; + if (bitrate !== null) qualityMonitorData[3] = bitrate; + if (codec_format !== null) qualityMonitorData[4] = codec_format; + if (chroma !== null) qualityMonitorData[5] = chroma; qualityMonitor.update(); }