Преглед на файлове

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

module.
master
Boris Grozev преди 9 години
родител
ревизия
506d0722bd

+ 3
- 1
modules/UI/UI.js Целия файл

30
 var RTCBrowserType = require("../RTC/RTCBrowserType");
30
 var RTCBrowserType = require("../RTC/RTCBrowserType");
31
 var StreamEventTypes = require("../../service/RTC/StreamEventTypes");
31
 var StreamEventTypes = require("../../service/RTC/StreamEventTypes");
32
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
32
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
33
+var StatisticsEvents = require("../../service/statistics/Events");
33
 var UIEvents = require("../../service/UI/UIEvents");
34
 var UIEvents = require("../../service/UI/UIEvents");
34
 var MemberEvents = require("../../service/members/Events");
35
 var MemberEvents = require("../../service/members/Events");
35
 
36
 
180
         var userResource = APP.UI.getLargeVideoResource();
181
         var userResource = APP.UI.getLargeVideoResource();
181
         eventEmitter.emit(UIEvents.SELECTED_ENDPOINT, userResource);
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
         var resourceJid;
186
         var resourceJid;
185
         if(jid === APP.statistics.LOCAL_JID) {
187
         if(jid === APP.statistics.LOCAL_JID) {
186
             resourceJid = AudioLevels.LOCAL_LEVEL;
188
             resourceJid = AudioLevels.LOCAL_LEVEL;

+ 5
- 3
modules/connectionquality/connectionquality.js Целия файл

4
 var eventEmitter = new EventEmitter();
4
 var eventEmitter = new EventEmitter();
5
 var CQEvents = require("../../service/connectionquality/CQEvents");
5
 var CQEvents = require("../../service/connectionquality/CQEvents");
6
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
6
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
7
+var StatisticsEvents = require("../../service/statistics/Events");
7
 
8
 
8
 /**
9
 /**
9
  * local stats
10
  * local stats
76
 var ConnectionQuality = {
77
 var ConnectionQuality = {
77
     init: function () {
78
     init: function () {
78
         APP.xmpp.addListener(XMPPEvents.REMOTE_STATS, this.updateRemoteStats);
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 Целия файл

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

+ 6
- 3
modules/statistics/RTPStatsCollector.js Целия файл

2
 /* jshint -W117 */
2
 /* jshint -W117 */
3
 /* jshint -W101 */
3
 /* jshint -W101 */
4
 var RTCBrowserType = require("../RTC/RTCBrowserType");
4
 var RTCBrowserType = require("../RTC/RTCBrowserType");
5
+var StatisticsEvents = require("../../service/statistics/Events");
5
 
6
 
6
 /* Whether we support the browser we are running into for logging statistics */
7
 /* Whether we support the browser we are running into for logging statistics */
7
 var browserSupported = RTCBrowserType.isChrome() ||
8
 var browserSupported = RTCBrowserType.isChrome() ||
646
         upload:
647
         upload:
647
             calculatePacketLoss(lostPackets.upload, totalPackets.upload)
648
             calculatePacketLoss(lostPackets.upload, totalPackets.upload)
648
     };
649
     };
649
-    this.eventEmitter.emit("statistics.connectionstats",
650
+    this.eventEmitter.emit(StatisticsEvents.CONNECTION_STATS,
650
         {
651
         {
651
             "bitrate": PeerStats.bitrate,
652
             "bitrate": PeerStats.bitrate,
652
             "packetLoss": PeerStats.packetLoss,
653
             "packetLoss": PeerStats.packetLoss,
712
             // but it seems to vary between 0 and around 32k.
713
             // but it seems to vary between 0 and around 32k.
713
             audioLevel = audioLevel / 32767;
714
             audioLevel = audioLevel / 32767;
714
             jidStats.setSsrcAudioLevel(ssrc, audioLevel);
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 Целия файл

9
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
9
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
10
 var CallStats = require("./CallStats");
10
 var CallStats = require("./CallStats");
11
 var RTCEvents = require("../../service/RTC/RTCEvents");
11
 var RTCEvents = require("../../service/RTC/RTCEvents");
12
+var StatisticsEvents = require("../../service/statistics/Events");
12
 
13
 
13
 var eventEmitter = new EventEmitter();
14
 var eventEmitter = new EventEmitter();
14
 
15
 
26
 function stopRemote() {
27
 function stopRemote() {
27
     if (rtpStats) {
28
     if (rtpStats) {
28
         rtpStats.stop();
29
         rtpStats.stop();
29
-        eventEmitter.emit("statistics.stop");
30
+        eventEmitter.emit(StatisticsEvents.STOP);
30
         rtpStats = null;
31
         rtpStats = null;
31
     }
32
     }
32
 }
33
 }
66
      */
67
      */
67
     LOCAL_JID: 'local',
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
     stop: function () {
76
     stop: function () {
101
         stopLocal();
77
         stopLocal();
102
         stopRemote();
78
         stopRemote();
105
             eventEmitter.removeAllListeners();
81
             eventEmitter.removeAllListeners();
106
         }
82
         }
107
     },
83
     },
108
-
109
     stopRemoteStatistics: function()
84
     stopRemoteStatistics: function()
110
     {
85
     {
111
         stopRemote();
86
         stopRemote();
112
     },
87
     },
113
-
114
     start: function () {
88
     start: function () {
115
         APP.RTC.addStreamListener(onStreamCreated,
89
         APP.RTC.addStreamListener(onStreamCreated,
116
             StreamEventTypes.EVENT_TYPE_LOCAL_CREATED);
90
             StreamEventTypes.EVENT_TYPE_LOCAL_CREATED);

+ 14
- 0
service/statistics/Events.js Целия файл

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
+};

Loading…
Отказ
Запис