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,7 +19,7 @@
19 19
     <script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
20 20
     <script src="libs/toastr.js?v=1"></script><!-- notifications lib -->
21 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 23
     <script src="analytics.js?v=1"></script><!-- google analytics plugin -->
24 24
     <link rel="stylesheet" href="css/font.css?v=7"/>
25 25
     <link rel="stylesheet" href="css/toastr.css?v=1">

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

@@ -12457,9 +12457,10 @@ StatsCollector.prototype.processAudioLevelReport = function ()
12457 12457
 
12458 12458
         var ssrc = getStatValue(now, 'ssrc');
12459 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 12464
             continue;
12464 12465
         }
12465 12466
 
@@ -16486,6 +16487,15 @@ module.exports = function(XMPP, eventEmitter) {
16486 16487
                 eventEmitter.emit(XMPPEvents.MUC_DESTROYED, reason);
16487 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 16499
             // Status code 110 indicates that this notification is "self-presence".
16490 16500
             if (!$(pres).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="110"]').length) {
16491 16501
                 delete this.members[from];

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

@@ -696,9 +696,10 @@ StatsCollector.prototype.processAudioLevelReport = function ()
696 696
 
697 697
         var ssrc = getStatValue(now, 'ssrc');
698 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 703
             continue;
703 704
         }
704 705
 

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

@@ -278,6 +278,15 @@ module.exports = function(XMPP, eventEmitter) {
278 278
                 eventEmitter.emit(XMPPEvents.MUC_DESTROYED, reason);
279 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 290
             // Status code 110 indicates that this notification is "self-presence".
282 291
             if (!$(pres).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="110"]').length) {
283 292
                 delete this.members[from];

Loading…
İptal
Kaydet