|
@@ -285,6 +285,20 @@ export default function JitsiConference(options) {
|
285
|
285
|
|
286
|
286
|
this._e2eEncryption = new E2EEncryption(this);
|
287
|
287
|
}
|
|
288
|
+
|
|
289
|
+ /**
|
|
290
|
+ * Flag set to <tt>true</tt> when Jicofo sends a presence message indicating that the max audio sender limit has
|
|
291
|
+ * been reached for the call. Once this is set, unmuting audio will be disabled from the client until it gets reset
|
|
292
|
+ * again by Jicofo.
|
|
293
|
+ */
|
|
294
|
+ this._audioSenderLimitReached = undefined;
|
|
295
|
+
|
|
296
|
+ /**
|
|
297
|
+ * Flag set to <tt>true</tt> when Jicofo sends a presence message indicating that the max video sender limit has
|
|
298
|
+ * been reached for the call. Once this is set, unmuting video will be disabled from the client until it gets reset
|
|
299
|
+ * again by Jicofo.
|
|
300
|
+ */
|
|
301
|
+ this._videoSenderLimitReached = undefined;
|
288
|
302
|
}
|
289
|
303
|
|
290
|
304
|
// FIXME convert JitsiConference to ES6 - ASAP !
|
|
@@ -3151,9 +3165,22 @@ JitsiConference.prototype._updateProperties = function(properties = {}) {
|
3151
|
3165
|
|
3152
|
3166
|
this.properties = properties;
|
3153
|
3167
|
if (changed) {
|
3154
|
|
- this.eventEmitter.emit(
|
3155
|
|
- JitsiConferenceEvents.PROPERTIES_CHANGED,
|
3156
|
|
- this.properties);
|
|
3168
|
+ this.eventEmitter.emit(JitsiConferenceEvents.PROPERTIES_CHANGED, this.properties);
|
|
3169
|
+
|
|
3170
|
+ const audioLimitReached = this.properties['audio-limit-reached'] === 'true';
|
|
3171
|
+ const videoLimitReached = this.properties['video-limit-reached'] === 'true';
|
|
3172
|
+
|
|
3173
|
+ if (this._audioSenderLimitReached !== audioLimitReached) {
|
|
3174
|
+ this._audioSenderLimitReached = audioLimitReached;
|
|
3175
|
+ this.eventEmitter.emit(JitsiConferenceEvents.AUDIO_UNMUTE_PERMISSIONS_CHANGED, audioLimitReached);
|
|
3176
|
+ logger.info(`Audio unmute permissions set by Jicofo to ${audioLimitReached}`);
|
|
3177
|
+ }
|
|
3178
|
+
|
|
3179
|
+ if (this._videoSenderLimitReached !== videoLimitReached) {
|
|
3180
|
+ this._videoSenderLimitReached = videoLimitReached;
|
|
3181
|
+ this.eventEmitter.emit(JitsiConferenceEvents.VIDEO_UNMUTE_PERMISSIONS_CHANGED, videoLimitReached);
|
|
3182
|
+ logger.info(`Video unmute permissions set by Jicofo to ${videoLimitReached}`);
|
|
3183
|
+ }
|
3157
|
3184
|
|
3158
|
3185
|
// Some of the properties need to be added to analytics events.
|
3159
|
3186
|
const analyticsKeys = [
|