Kaynağa Gözat

Fixes issue with not removed ssrcs after the participant left the room.

j8
hristoterezov 10 yıl önce
ebeveyn
işleme
835e199135

+ 1
- 1
index.html Dosyayı Görüntüle

19
     <script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
19
     <script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
20
     <script src="libs/toastr.js?v=1"></script><!-- notifications lib -->
20
     <script src="libs/toastr.js?v=1"></script><!-- notifications lib -->
21
     <script src="interface_config.js?v=5"></script>
21
     <script src="interface_config.js?v=5"></script>
22
-    <script src="libs/app.bundle.js?v=74"></script>
22
+    <script src="libs/app.bundle.js?v=75"></script>
23
     <script src="analytics.js?v=1"></script><!-- google analytics plugin -->
23
     <script src="analytics.js?v=1"></script><!-- google analytics plugin -->
24
     <link rel="stylesheet" href="css/font.css?v=7"/>
24
     <link rel="stylesheet" href="css/font.css?v=7"/>
25
     <link rel="stylesheet" href="css/toastr.css?v=1">
25
     <link rel="stylesheet" href="css/toastr.css?v=1">

+ 12
- 2
libs/app.bundle.js Dosyayı Görüntüle

12457
 
12457
 
12458
         var ssrc = getStatValue(now, 'ssrc');
12458
         var ssrc = getStatValue(now, 'ssrc');
12459
         var jid = APP.xmpp.getJidFromSSRC(ssrc);
12459
         var jid = APP.xmpp.getJidFromSSRC(ssrc);
12460
-        if (!jid && (Date.now() - now.timestamp) < 3000)
12460
+        if (!jid)
12461
         {
12461
         {
12462
-            console.warn("No jid for ssrc: " + ssrc);
12462
+            if((Date.now() - now.timestamp) < 3000)
12463
+                console.warn("No jid for ssrc: " + ssrc);
12463
             continue;
12464
             continue;
12464
         }
12465
         }
12465
 
12466
 
16486
                 eventEmitter.emit(XMPPEvents.MUC_DESTROYED, reason);
16487
                 eventEmitter.emit(XMPPEvents.MUC_DESTROYED, reason);
16487
                 return true;
16488
                 return true;
16488
             }
16489
             }
16490
+
16491
+            var self = this;
16492
+            // Remove old ssrcs coming from the jid
16493
+            Object.keys(this.ssrc2jid).forEach(function (ssrc) {
16494
+                if (self.ssrc2jid[ssrc] == from) {
16495
+                    delete self.ssrc2jid[ssrc];
16496
+                }
16497
+            });
16498
+
16489
             // Status code 110 indicates that this notification is "self-presence".
16499
             // Status code 110 indicates that this notification is "self-presence".
16490
             if (!$(pres).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="110"]').length) {
16500
             if (!$(pres).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="110"]').length) {
16491
                 delete this.members[from];
16501
                 delete this.members[from];

+ 3
- 2
modules/statistics/RTPStatsCollector.js Dosyayı Görüntüle

696
 
696
 
697
         var ssrc = getStatValue(now, 'ssrc');
697
         var ssrc = getStatValue(now, 'ssrc');
698
         var jid = APP.xmpp.getJidFromSSRC(ssrc);
698
         var jid = APP.xmpp.getJidFromSSRC(ssrc);
699
-        if (!jid && (Date.now() - now.timestamp) < 3000)
699
+        if (!jid)
700
         {
700
         {
701
-            console.warn("No jid for ssrc: " + ssrc);
701
+            if((Date.now() - now.timestamp) < 3000)
702
+                console.warn("No jid for ssrc: " + ssrc);
702
             continue;
703
             continue;
703
         }
704
         }
704
 
705
 

+ 9
- 0
modules/xmpp/strophe.emuc.js Dosyayı Görüntüle

278
                 eventEmitter.emit(XMPPEvents.MUC_DESTROYED, reason);
278
                 eventEmitter.emit(XMPPEvents.MUC_DESTROYED, reason);
279
                 return true;
279
                 return true;
280
             }
280
             }
281
+
282
+            var self = this;
283
+            // Remove old ssrcs coming from the jid
284
+            Object.keys(this.ssrc2jid).forEach(function (ssrc) {
285
+                if (self.ssrc2jid[ssrc] == from) {
286
+                    delete self.ssrc2jid[ssrc];
287
+                }
288
+            });
289
+
281
             // Status code 110 indicates that this notification is "self-presence".
290
             // Status code 110 indicates that this notification is "self-presence".
282
             if (!$(pres).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="110"]').length) {
291
             if (!$(pres).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="110"]').length) {
283
                 delete this.members[from];
292
                 delete this.members[from];

Loading…
İptal
Kaydet