Ver código fonte

Removes hard-coded constants and uses the events API in the statistics

module.
master
Boris Grozev 9 anos atrás
pai
commit
506d0722bd

+ 3
- 1
modules/UI/UI.js Ver arquivo

@@ -30,6 +30,7 @@ var RTCEvents = require("../../service/RTC/RTCEvents");
30 30
 var RTCBrowserType = require("../RTC/RTCBrowserType");
31 31
 var StreamEventTypes = require("../../service/RTC/StreamEventTypes");
32 32
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
33
+var StatisticsEvents = require("../../service/statistics/Events");
33 34
 var UIEvents = require("../../service/UI/UIEvents");
34 35
 var MemberEvents = require("../../service/members/Events");
35 36
 
@@ -180,7 +181,8 @@ function registerListeners() {
180 181
         var userResource = APP.UI.getLargeVideoResource();
181 182
         eventEmitter.emit(UIEvents.SELECTED_ENDPOINT, userResource);
182 183
     });
183
-    APP.statistics.addAudioLevelListener(function(jid, audioLevel) {
184
+    APP.statistics.addListener(StatisticsEvents.AUDIO_LEVEL,
185
+        function(jid, audioLevel) {
184 186
         var resourceJid;
185 187
         if(jid === APP.statistics.LOCAL_JID) {
186 188
             resourceJid = AudioLevels.LOCAL_LEVEL;

+ 5
- 3
modules/connectionquality/connectionquality.js Ver arquivo

@@ -4,6 +4,7 @@ var EventEmitter = require("events");
4 4
 var eventEmitter = new EventEmitter();
5 5
 var CQEvents = require("../../service/connectionquality/CQEvents");
6 6
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
7
+var StatisticsEvents = require("../../service/statistics/Events");
7 8
 
8 9
 /**
9 10
  * local stats
@@ -76,9 +77,10 @@ function parseMUCStats(stats) {
76 77
 var ConnectionQuality = {
77 78
     init: function () {
78 79
         APP.xmpp.addListener(XMPPEvents.REMOTE_STATS, this.updateRemoteStats);
79
-        APP.statistics.addConnectionStatsListener(this.updateLocalStats);
80
-        APP.statistics.addRemoteStatsStopListener(this.stopSendingStats);
81
-
80
+        APP.statistics.addListener(StatisticsEvents.CONNECTION_STATS,
81
+                                   this.updateLocalStats);
82
+        APP.statistics.addListener(StatisticsEvents.STOP,
83
+                                   this.stopSendingStats);
82 84
     },
83 85
 
84 86
     /**

+ 2
- 1
modules/statistics/LocalStatsCollector.js Ver arquivo

@@ -4,6 +4,7 @@
4 4
  */
5 5
 
6 6
 var RTCBrowserType = require('../RTC/RTCBrowserType');
7
+var StatisticsEvents = require('../../service/statistics/Events');
7 8
 
8 9
 /**
9 10
  * Size of the webaudio analyzer buffer.
@@ -105,7 +106,7 @@ LocalStatsCollector.prototype.start = function () {
105 106
             if (audioLevel != self.audioLevel) {
106 107
                 self.audioLevel = animateLevel(audioLevel, self.audioLevel);
107 108
                 self.eventEmitter.emit(
108
-                    "statistics.audioLevel",
109
+                    StatisticsEvents.AUDIO_LEVEL,
109 110
                     self.statisticsService.LOCAL_JID,
110 111
                     self.audioLevel);
111 112
             }

+ 6
- 3
modules/statistics/RTPStatsCollector.js Ver arquivo

@@ -2,6 +2,7 @@
2 2
 /* jshint -W117 */
3 3
 /* jshint -W101 */
4 4
 var RTCBrowserType = require("../RTC/RTCBrowserType");
5
+var StatisticsEvents = require("../../service/statistics/Events");
5 6
 
6 7
 /* Whether we support the browser we are running into for logging statistics */
7 8
 var browserSupported = RTCBrowserType.isChrome() ||
@@ -646,7 +647,7 @@ StatsCollector.prototype.processStatsReport = function () {
646 647
         upload:
647 648
             calculatePacketLoss(lostPackets.upload, totalPackets.upload)
648 649
     };
649
-    this.eventEmitter.emit("statistics.connectionstats",
650
+    this.eventEmitter.emit(StatisticsEvents.CONNECTION_STATS,
650 651
         {
651 652
             "bitrate": PeerStats.bitrate,
652 653
             "packetLoss": PeerStats.packetLoss,
@@ -712,8 +713,10 @@ StatsCollector.prototype.processAudioLevelReport = function () {
712 713
             // but it seems to vary between 0 and around 32k.
713 714
             audioLevel = audioLevel / 32767;
714 715
             jidStats.setSsrcAudioLevel(ssrc, audioLevel);
715
-            if(jid != APP.xmpp.myJid())
716
-                this.eventEmitter.emit("statistics.audioLevel", jid, audioLevel);
716
+            if (jid != APP.xmpp.myJid()) {
717
+                this.eventEmitter.emit(
718
+                    StatisticsEvents.AUDIO_LEVEL, jid, audioLevel);
719
+            }
717 720
         }
718 721
     }
719 722
 };

+ 6
- 32
modules/statistics/statistics.js Ver arquivo

@@ -9,6 +9,7 @@ var StreamEventTypes = require("../../service/RTC/StreamEventTypes.js");
9 9
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
10 10
 var CallStats = require("./CallStats");
11 11
 var RTCEvents = require("../../service/RTC/RTCEvents");
12
+var StatisticsEvents = require("../../service/statistics/Events");
12 13
 
13 14
 var eventEmitter = new EventEmitter();
14 15
 
@@ -26,7 +27,7 @@ function stopLocal() {
26 27
 function stopRemote() {
27 28
     if (rtpStats) {
28 29
         rtpStats.stop();
29
-        eventEmitter.emit("statistics.stop");
30
+        eventEmitter.emit(StatisticsEvents.STOP);
30 31
         rtpStats = null;
31 32
     }
32 33
 }
@@ -66,37 +67,12 @@ var statistics = {
66 67
      */
67 68
     LOCAL_JID: 'local',
68 69
 
69
-    addAudioLevelListener: function(listener)
70
-    {
71
-        eventEmitter.on("statistics.audioLevel", listener);
72
-    },
73
-
74
-    removeAudioLevelListener: function(listener)
75
-    {
76
-        eventEmitter.removeListener("statistics.audioLevel", listener);
77
-    },
78
-
79
-    addConnectionStatsListener: function(listener)
80
-    {
81
-        eventEmitter.on("statistics.connectionstats", listener);
70
+    addListener: function(type, listener) {
71
+        eventEmitter.on(type, listener);
82 72
     },
83
-
84
-    removeConnectionStatsListener: function(listener)
85
-    {
86
-        eventEmitter.removeListener("statistics.connectionstats", listener);
73
+    removeListener: function (type, listener) {
74
+        eventEmitter.removeListener(type, listener);
87 75
     },
88
-
89
-
90
-    addRemoteStatsStopListener: function(listener)
91
-    {
92
-        eventEmitter.on("statistics.stop", listener);
93
-    },
94
-
95
-    removeRemoteStatsStopListener: function(listener)
96
-    {
97
-        eventEmitter.removeListener("statistics.stop", listener);
98
-    },
99
-
100 76
     stop: function () {
101 77
         stopLocal();
102 78
         stopRemote();
@@ -105,12 +81,10 @@ var statistics = {
105 81
             eventEmitter.removeAllListeners();
106 82
         }
107 83
     },
108
-
109 84
     stopRemoteStatistics: function()
110 85
     {
111 86
         stopRemote();
112 87
     },
113
-
114 88
     start: function () {
115 89
         APP.RTC.addStreamListener(onStreamCreated,
116 90
             StreamEventTypes.EVENT_TYPE_LOCAL_CREATED);

+ 14
- 0
service/statistics/Events.js Ver arquivo

@@ -0,0 +1,14 @@
1
+module.exports = {
2
+    /**
3
+     * An event carrying connection statistics.
4
+     */
5
+    CONNECTION_STATS: "statistics.connectionstats",
6
+    /**
7
+     * FIXME: needs documentation.
8
+     */
9
+    AUDIO_LEVEL: "statistics.audioLevel",
10
+    /**
11
+     * FIXME: needs documentation.
12
+     */
13
+    STOP: "statistics.stop"
14
+};

Carregando…
Cancelar
Salvar