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(); }