| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview | 6 * @fileoverview |
| 7 * Module to support debug overlay window with connection stats. | 7 * Module to support debug overlay window with connection stats. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 'use strict'; | 10 'use strict'; |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 } | 120 } |
| 121 } | 121 } |
| 122 | 122 |
| 123 /** | 123 /** |
| 124 * @param {number} value | 124 * @param {number} value |
| 125 * @param {string} units | 125 * @param {string} units |
| 126 * @param {number} digits | 126 * @param {number} digits |
| 127 * @return {string} Formatted number. | 127 * @return {string} Formatted number. |
| 128 */ | 128 */ |
| 129 function formatStatNumber(value, units, digits) { | 129 function formatStatNumber(value, units, digits) { |
| 130 if (value != undefined) { | 130 return value.toFixed(digits) + ' ' + units; |
| 131 return value.toFixed(digits) + ' ' + units; | |
| 132 } else { | |
| 133 return "n/a"; | |
| 134 } | |
| 135 } | 131 } |
| 136 | 132 |
| 137 /** | 133 /** |
| 138 * @param {string} type | 134 * @param {string} type |
| 139 * @param {number} avg | 135 * @param {number} avg |
| 140 * @param {number} max | 136 * @param {number} max |
| 141 * @return {string} "type: avg, max; " e.g. "RTT: 8.0, 13; " | 137 * @return {string} "type: avg, max; " e.g. "RTT: 8.0, 13; " |
| 142 */ | 138 */ |
| 143 function formatStat(type, avg, max) { | 139 function formatStat(type, avg, max) { |
| 144 var avgStr = (avg == undefined) ? 'n/a' : avg.toFixed(1); | 140 return type + ': ' + avg.toFixed(1) + ', ' + max + '; '; |
| 145 return type + ': ' + avgStr + ', ' + max + '; '; | |
| 146 } | 141 } |
| 147 | 142 |
| 148 var statistics = document.getElementById('statistics'); | 143 var statistics = document.getElementById('statistics'); |
| 149 this.statsElement_.innerText = ( | 144 this.statsElement_.innerText = ( |
| 150 '(avg, max in ms) ' + | 145 '(avg, max in ms) ' + |
| 151 formatStat('Capture', stats.captureLatency, stats.maxCaptureLatency) + | 146 formatStat('Capture', stats.captureLatency, stats.maxCaptureLatency) + |
| 152 formatStat('Encode', stats.encodeLatency, stats.maxEncodeLatency) + | 147 formatStat('Encode', stats.encodeLatency, stats.maxEncodeLatency) + |
| 153 formatStat('Decode', stats.decodeLatency, stats.maxDecodeLatency) + | 148 formatStat('Decode', stats.decodeLatency, stats.maxDecodeLatency) + |
| 154 formatStat('Render', stats.renderLatency, stats.maxRenderLatency) + | 149 formatStat('Render', stats.renderLatency, stats.maxRenderLatency) + |
| 155 formatStat('RTT', stats.roundtripLatency, stats.maxRoundtripLatency) + | 150 formatStat('RTT', stats.roundtripLatency, stats.maxRoundtripLatency) + |
| 156 'Bandwidth: ' + formatStatNumber(videoBandwidth, units, 2) + '; ' + | 151 'Bandwidth: ' + formatStatNumber(videoBandwidth, units, 2) + '; ' + |
| 157 'Frame Rate: ' + formatStatNumber(stats.videoFrameRate, 'fps', 1) | 152 'Frame Rate: ' + formatStatNumber(stats.videoFrameRate, 'fps', 1) |
| 158 ); | 153 ); |
| 159 }; | 154 }; |
| OLD | NEW |