瀏覽代碼

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).
master
Boris Grozev 10 年之前
父節點
當前提交
47bb9439db
共有 1 個檔案被更改,包括 21 行新增37 行删除
  1. 21
    37
      modules/statistics/RTPStatsCollector.js

+ 21
- 37
modules/statistics/RTPStatsCollector.js 查看文件

514
 
514
 
515
         var isDownloadStream = true;
515
         var isDownloadStream = true;
516
         var key = 'packetsReceived';
516
         var key = 'packetsReceived';
517
-        if (!getStatValue(now, key))
518
-        {
517
+        var packetsNow = getStatValue(now, key);
518
+        if (typeof packetsNow === 'undefined' || packetsNow === null) {
519
             isDownloadStream = false;
519
             isDownloadStream = false;
520
             key = 'packetsSent';
520
             key = 'packetsSent';
521
-            if (!getStatValue(now, key))
522
-            {
523
-                console.warn("No packetsReceived nor packetSent stat found");
521
+            packetsNow = getStatValue(now, key);
522
+            if (typeof packetsNow === 'undefined' || packetsNow === null) {
523
+                console.warn("No packetsReceived nor packetsSent stat found");
524
                 continue;
524
                 continue;
525
             }
525
             }
526
         }
526
         }
527
-        var packetsNow = getStatValue(now, key);
528
-        if(!packetsNow || packetsNow < 0)
527
+        if (!packetsNow || packetsNow < 0)
529
             packetsNow = 0;
528
             packetsNow = 0;
530
 
529
 
531
         var packetsBefore = getStatValue(before, key);
530
         var packetsBefore = getStatValue(before, key);
532
-        if(!packetsBefore || packetsBefore < 0)
531
+        if (!packetsBefore || packetsBefore < 0)
533
             packetsBefore = 0;
532
             packetsBefore = 0;
534
         var packetRate = packetsNow - packetsBefore;
533
         var packetRate = packetsNow - packetsBefore;
535
-        if(!packetRate || packetRate < 0)
534
+        if (!packetRate || packetRate < 0)
536
             packetRate = 0;
535
             packetRate = 0;
537
         var currentLoss = getStatValue(now, 'packetsLost');
536
         var currentLoss = getStatValue(now, 'packetsLost');
538
-        if(!currentLoss || currentLoss < 0)
537
+        if (!currentLoss || currentLoss < 0)
539
             currentLoss = 0;
538
             currentLoss = 0;
540
         var previousLoss = getStatValue(before, 'packetsLost');
539
         var previousLoss = getStatValue(before, 'packetsLost');
541
-        if(!previousLoss || previousLoss < 0)
540
+        if (!previousLoss || previousLoss < 0)
542
             previousLoss = 0;
541
             previousLoss = 0;
543
         var lossRate = currentLoss - previousLoss;
542
         var lossRate = currentLoss - previousLoss;
544
-        if(!lossRate || lossRate < 0)
543
+        if (!lossRate || lossRate < 0)
545
             lossRate = 0;
544
             lossRate = 0;
546
         var packetsTotal = (packetRate + lossRate);
545
         var packetsTotal = (packetRate + lossRate);
547
 
546
 
552
 
551
 
553
 
552
 
554
         var bytesReceived = 0, bytesSent = 0;
553
         var bytesReceived = 0, bytesSent = 0;
555
-        if(getStatValue(now, "bytesReceived"))
556
-        {
554
+        if(getStatValue(now, "bytesReceived")) {
557
             bytesReceived = getStatValue(now, "bytesReceived") -
555
             bytesReceived = getStatValue(now, "bytesReceived") -
558
                 getStatValue(before, "bytesReceived");
556
                 getStatValue(before, "bytesReceived");
559
         }
557
         }
560
 
558
 
561
-        if(getStatValue(now, "bytesSent"))
562
-        {
559
+        if(getStatValue(now, "bytesSent")) {
563
             bytesSent = getStatValue(now, "bytesSent") -
560
             bytesSent = getStatValue(now, "bytesSent") -
564
                 getStatValue(before, "bytesSent");
561
                 getStatValue(before, "bytesSent");
565
         }
562
         }
566
 
563
 
567
         var time = Math.round((now.timestamp - before.timestamp) / 1000);
564
         var time = Math.round((now.timestamp - before.timestamp) / 1000);
568
-        if(bytesReceived <= 0 || time <= 0)
569
-        {
565
+        if(bytesReceived <= 0 || time <= 0) {
570
             bytesReceived = 0;
566
             bytesReceived = 0;
571
-        }
572
-        else
573
-        {
567
+        } else {
574
             bytesReceived = Math.round(((bytesReceived * 8) / time) / 1000);
568
             bytesReceived = Math.round(((bytesReceived * 8) / time) / 1000);
575
         }
569
         }
576
 
570
 
577
-        if(bytesSent <= 0 || time <= 0)
578
-        {
571
+        if(bytesSent <= 0 || time <= 0) {
579
             bytesSent = 0;
572
             bytesSent = 0;
580
-        }
581
-        else
582
-        {
573
+        } else {
583
             bytesSent = Math.round(((bytesSent * 8) / time) / 1000);
574
             bytesSent = Math.round(((bytesSent * 8) / time) / 1000);
584
         }
575
         }
585
 
576
 
602
         }
593
         }
603
         catch(e){/*not supported*/}
594
         catch(e){/*not supported*/}
604
 
595
 
605
-        if(resolution.height && resolution.width)
606
-        {
596
+        if(resolution.height && resolution.width) {
607
             jidStats.setSsrcResolution(ssrc, resolution);
597
             jidStats.setSsrcResolution(ssrc, resolution);
608
-        }
609
-        else
610
-        {
598
+        } else {
611
             jidStats.setSsrcResolution(ssrc, null);
599
             jidStats.setSsrcResolution(ssrc, null);
612
         }
600
         }
613
-
614
-
615
     }
601
     }
616
 
602
 
617
     var self = this;
603
     var self = this;
622
     var bitrateUpload = 0;
608
     var bitrateUpload = 0;
623
     var resolutions = {};
609
     var resolutions = {};
624
     Object.keys(this.jid2stats).forEach(
610
     Object.keys(this.jid2stats).forEach(
625
-        function (jid)
626
-        {
611
+        function (jid) {
627
             Object.keys(self.jid2stats[jid].ssrc2Loss).forEach(
612
             Object.keys(self.jid2stats[jid].ssrc2Loss).forEach(
628
-                function (ssrc)
629
-                {
613
+                function (ssrc) {
630
                     var type = "upload";
614
                     var type = "upload";
631
                     if(self.jid2stats[jid].ssrc2Loss[ssrc].isDownloadStream)
615
                     if(self.jid2stats[jid].ssrc2Loss[ssrc].isDownloadStream)
632
                         type = "download";
616
                         type = "download";

Loading…
取消
儲存