|
|
@@ -25,6 +25,10 @@ function JitsiRemoteTrack(conference, ownerJid, stream, track, mediaType, videoT
|
|
25
|
25
|
this.conference = conference;
|
|
26
|
26
|
this.peerjid = ownerJid;
|
|
27
|
27
|
this.muted = muted;
|
|
|
28
|
+ // we want to mark whether the track has been ever muted
|
|
|
29
|
+ // to detect ttfm events for startmuted conferences, as it can significantly
|
|
|
30
|
+ // increase ttfm values
|
|
|
31
|
+ this.hasBeenMuted = muted;
|
|
28
|
32
|
}
|
|
29
|
33
|
|
|
30
|
34
|
JitsiRemoteTrack.prototype = Object.create(JitsiTrack.prototype);
|
|
|
@@ -38,6 +42,9 @@ JitsiRemoteTrack.prototype.setMute = function (value) {
|
|
38
|
42
|
if(this.muted === value)
|
|
39
|
43
|
return;
|
|
40
|
44
|
|
|
|
45
|
+ if(value)
|
|
|
46
|
+ this.hasBeenMuted = true;
|
|
|
47
|
+
|
|
41
|
48
|
// we can have a fake video stream
|
|
42
|
49
|
if(this.stream)
|
|
43
|
50
|
this.stream.muted = value;
|
|
|
@@ -120,7 +127,10 @@ JitsiRemoteTrack.prototype._attachTTFMTracker = function (container) {
|
|
120
|
127
|
- this.conference.getConnectionTimes()["muc.joined"]);
|
|
121
|
128
|
this.conference.getConnectionTimes()[type + ".ttfm"] = ttfm;
|
|
122
|
129
|
console.log("(TIME) TTFM " + type + ":\t", ttfm);
|
|
123
|
|
- Statistics.analytics.sendEvent(type +'.ttfm', ttfm);
|
|
|
130
|
+ var eventName = type +'.ttfm';
|
|
|
131
|
+ if(this.hasBeenMuted)
|
|
|
132
|
+ eventName += '.muted';
|
|
|
133
|
+ Statistics.analytics.sendEvent(eventName, ttfm);
|
|
124
|
134
|
}.bind(this));
|
|
125
|
135
|
};
|
|
126
|
136
|
|