|
@@ -202,6 +202,20 @@ class RecordingManager {
|
202
|
202
|
return;
|
203
|
203
|
}
|
204
|
204
|
|
|
205
|
+ // Jicofo sends updates via presence, and any extension in presence
|
|
206
|
+ // is sent until it is explicitly removed. It's difficult for
|
|
207
|
+ // Jicofo to know when a presence has been sent once, so it won't
|
|
208
|
+ // remove jibri status extension. This means we may receive the same
|
|
209
|
+ // status update more than once, so check for that here
|
|
210
|
+ if (session
|
|
211
|
+ && session.getStatus() === status
|
|
212
|
+ && session.getError() === error) {
|
|
213
|
+ logger.warn('Ignoring duplicate presence update: ',
|
|
214
|
+ JSON.stringify(jibriStatus));
|
|
215
|
+
|
|
216
|
+ return;
|
|
217
|
+ }
|
|
218
|
+
|
205
|
219
|
if (!session) {
|
206
|
220
|
session = this._createSession(sessionID, status, recordingMode);
|
207
|
221
|
}
|