浏览代码

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

module.
release-8443
Boris Grozev 10 年前
父节点
当前提交
742a0bc6ac

+ 5
- 3
modules/connectionquality/connectionquality.js 查看文件

3
 var eventEmitter = new EventEmitter();
3
 var eventEmitter = new EventEmitter();
4
 var CQEvents = require("../../service/connectionquality/CQEvents");
4
 var CQEvents = require("../../service/connectionquality/CQEvents");
5
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
5
 var XMPPEvents = require("../../service/xmpp/XMPPEvents");
6
+var StatisticsEvents = require("../../service/statistics/Events");
6
 
7
 
7
 /**
8
 /**
8
  * local stats
9
  * local stats
96
 var ConnectionQuality = {
97
 var ConnectionQuality = {
97
     init: function () {
98
     init: function () {
98
         APP.xmpp.addListener(XMPPEvents.REMOTE_STATS, this.updateRemoteStats);
99
         APP.xmpp.addListener(XMPPEvents.REMOTE_STATS, this.updateRemoteStats);
99
-        APP.statistics.addConnectionStatsListener(this.updateLocalStats);
100
-        APP.statistics.addRemoteStatsStopListener(this.stopSendingStats);
101
-
100
+        APP.statistics.addListener(StatisticsEvents.CONNECTION_STATS,
101
+                                   this.updateLocalStats);
102
+        APP.statistics.addListener(StatisticsEvents.STOP,
103
+                                   this.stopSendingStats);
102
     },
104
     },
103
 
105
 
104
     /**
106
     /**

+ 3
- 2
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
 var LOCAL_JID = require("../../service/statistics/constants").LOCAL_JID;
9
 var LOCAL_JID = require("../../service/statistics/constants").LOCAL_JID;
9
 
10
 
106
             if (audioLevel != self.audioLevel) {
107
             if (audioLevel != self.audioLevel) {
107
                 self.audioLevel = animateLevel(audioLevel, self.audioLevel);
108
                 self.audioLevel = animateLevel(audioLevel, self.audioLevel);
108
                 self.eventEmitter.emit(
109
                 self.eventEmitter.emit(
109
-                    "statistics.audioLevel",
110
-                    LOCAL_JID,
110
+                    StatisticsEvents.AUDIO_LEVEL,
111
+                    self.statisticsService.LOCAL_JID,
111
                     self.audioLevel);
112
                     self.audioLevel);
112
             }
113
             }
113
         },
114
         },

+ 4
- 2
modules/statistics/RTPStatsCollector.js 查看文件

3
 
3
 
4
 var logger = require("jitsi-meet-logger").getLogger(__filename);
4
 var logger = require("jitsi-meet-logger").getLogger(__filename);
5
 var RTCBrowserType = require("../RTC/RTCBrowserType");
5
 var RTCBrowserType = require("../RTC/RTCBrowserType");
6
+var StatisticsEvents = require("../../service/statistics/Events");
6
 
7
 
7
 /* Whether we support the browser we are running into for logging statistics */
8
 /* Whether we support the browser we are running into for logging statistics */
8
 var browserSupported = RTCBrowserType.isChrome() ||
9
 var browserSupported = RTCBrowserType.isChrome() ||
649
         upload:
650
         upload:
650
             calculatePacketLoss(lostPackets.upload, totalPackets.upload)
651
             calculatePacketLoss(lostPackets.upload, totalPackets.upload)
651
     };
652
     };
652
-    this.eventEmitter.emit("statistics.connectionstats",
653
+    this.eventEmitter.emit(StatisticsEvents.CONNECTION_STATS,
653
         {
654
         {
654
             "bitrate": this.conferenceStats.bitrate,
655
             "bitrate": this.conferenceStats.bitrate,
655
             "packetLoss": this.conferenceStats.packetLoss,
656
             "packetLoss": this.conferenceStats.packetLoss,
715
             // but it seems to vary between 0 and around 32k.
716
             // but it seems to vary between 0 and around 32k.
716
             audioLevel = audioLevel / 32767;
717
             audioLevel = audioLevel / 32767;
717
             ssrcStats.setSsrcAudioLevel(ssrc, audioLevel);
718
             ssrcStats.setSsrcAudioLevel(ssrc, audioLevel);
718
-            this.eventEmitter.emit("statistics.audioLevel", ssrc, audioLevel);
719
+            this.eventEmitter.emit(
720
+                StatisticsEvents.AUDIO_LEVEL, ssrc, audioLevel);
719
         }
721
         }
720
     }
722
     }
721
 };
723
 };

+ 4
- 3
modules/statistics/statistics.js 查看文件

2
 var LocalStats = require("./LocalStatsCollector.js");
2
 var LocalStats = require("./LocalStatsCollector.js");
3
 var RTPStats = require("./RTPStatsCollector.js");
3
 var RTPStats = require("./RTPStatsCollector.js");
4
 var EventEmitter = require("events");
4
 var EventEmitter = require("events");
5
+var StatisticsEvents = require("../../service/statistics/Events");
5
 //var StreamEventTypes = require("../../service/RTC/StreamEventTypes.js");
6
 //var StreamEventTypes = require("../../service/RTC/StreamEventTypes.js");
6
 //var XMPPEvents = require("../../service/xmpp/XMPPEvents");
7
 //var XMPPEvents = require("../../service/xmpp/XMPPEvents");
7
 //var CallStats = require("./CallStats");
8
 //var CallStats = require("./CallStats");
43
 
44
 
44
 Statistics.prototype.addAudioLevelListener = function(listener)
45
 Statistics.prototype.addAudioLevelListener = function(listener)
45
 {
46
 {
46
-    this.eventEmitter.on("statistics.audioLevel", listener);
47
+    this.eventEmitter.on(StatisticsEvents.AUDIO_LEVEL, listener);
47
 }
48
 }
48
 
49
 
49
 Statistics.prototype.removeAudioLevelListener = function(listener)
50
 Statistics.prototype.removeAudioLevelListener = function(listener)
50
 {
51
 {
51
-    this.eventEmitter.removeListener("statistics.audioLevel", listener);
52
+    this.eventEmitter.removeListener(StatisticsEvents.AUDIO_LEVEL, listener);
52
 }
53
 }
53
 
54
 
54
 Statistics.prototype.dispose = function () {
55
 Statistics.prototype.dispose = function () {
71
 Statistics.prototype.stopRemote = function () {
72
 Statistics.prototype.stopRemote = function () {
72
     if (this.rtpStats) {
73
     if (this.rtpStats) {
73
         this.rtpStats.stop();
74
         this.rtpStats.stop();
74
-        this.eventEmitter.emit("statistics.stop");
75
+        this.eventEmitter.emit(StatisticsEvents.STOP);
75
         this.rtpStats = null;
76
         this.rtpStats = null;
76
     }
77
     }
77
 }
78
 }

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

正在加载...
取消
保存