Don't treat 0 as false (avoid a warning when the receivedPackets or

sentPackets stat is 0, and possibly fixes misinterpreting a remove
stream as a local).
pull/350/head^2
Boris Grozev 10 years ago
parent ff199a4d78
commit 47bb9439db
  1. 46
      modules/statistics/RTPStatsCollector.js

@ -514,17 +514,16 @@ StatsCollector.prototype.processStatsReport = function () {
var isDownloadStream = true;
var key = 'packetsReceived';
if (!getStatValue(now, key))
{
var packetsNow = getStatValue(now, key);
if (typeof packetsNow === 'undefined' || packetsNow === null) {
isDownloadStream = false;
key = 'packetsSent';
if (!getStatValue(now, key))
{
console.warn("No packetsReceived nor packetSent stat found");
packetsNow = getStatValue(now, key);
if (typeof packetsNow === 'undefined' || packetsNow === null) {
console.warn("No packetsReceived nor packetsSent stat found");
continue;
}
}
var packetsNow = getStatValue(now, key);
if (!packetsNow || packetsNow < 0)
packetsNow = 0;
@ -552,34 +551,26 @@ StatsCollector.prototype.processStatsReport = function () {
var bytesReceived = 0, bytesSent = 0;
if(getStatValue(now, "bytesReceived"))
{
if(getStatValue(now, "bytesReceived")) {
bytesReceived = getStatValue(now, "bytesReceived") -
getStatValue(before, "bytesReceived");
}
if(getStatValue(now, "bytesSent"))
{
if(getStatValue(now, "bytesSent")) {
bytesSent = getStatValue(now, "bytesSent") -
getStatValue(before, "bytesSent");
}
var time = Math.round((now.timestamp - before.timestamp) / 1000);
if(bytesReceived <= 0 || time <= 0)
{
if(bytesReceived <= 0 || time <= 0) {
bytesReceived = 0;
}
else
{
} else {
bytesReceived = Math.round(((bytesReceived * 8) / time) / 1000);
}
if(bytesSent <= 0 || time <= 0)
{
if(bytesSent <= 0 || time <= 0) {
bytesSent = 0;
}
else
{
} else {
bytesSent = Math.round(((bytesSent * 8) / time) / 1000);
}
@ -602,16 +593,11 @@ StatsCollector.prototype.processStatsReport = function () {
}
catch(e){/*not supported*/}
if(resolution.height && resolution.width)
{
if(resolution.height && resolution.width) {
jidStats.setSsrcResolution(ssrc, resolution);
}
else
{
} else {
jidStats.setSsrcResolution(ssrc, null);
}
}
var self = this;
@ -622,11 +608,9 @@ StatsCollector.prototype.processStatsReport = function () {
var bitrateUpload = 0;
var resolutions = {};
Object.keys(this.jid2stats).forEach(
function (jid)
{
function (jid) {
Object.keys(self.jid2stats[jid].ssrc2Loss).forEach(
function (ssrc)
{
function (ssrc) {
var type = "upload";
if(self.jid2stats[jid].ssrc2Loss[ssrc].isDownloadStream)
type = "download";

Loading…
Cancel
Save