Bladeren bron

Use different "label" for the audio and video SSRCs of the bridge.

j8
Boris Grozev 11 jaren geleden
bovenliggende
commit
8e3f1c9c8b
1 gewijzigde bestanden met toevoegingen van 17 en 28 verwijderingen
  1. 17
    28
      libs/colibri/colibri.focus.js

+ 17
- 28
libs/colibri/colibri.focus.js Bestand weergeven

492
         tmp = $(this.mychannel[channel]).find('>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');
492
         tmp = $(this.mychannel[channel]).find('>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');
493
         // FIXME: check rtp-level-relay-type
493
         // FIXME: check rtp-level-relay-type
494
 
494
 
495
-        var isData = bridgeSDP.media[channel].indexOf('application') !== -1;
496
-        if (!isData && tmp.length)
497
-        {
498
-            bridgeSDP.media[channel] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'cname:mixed' + '\r\n';
499
-            bridgeSDP.media[channel] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'label:mixedlabela0' + '\r\n';
500
-            bridgeSDP.media[channel] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'msid:mixedmslabel mixedlabela0' + '\r\n';
501
-            bridgeSDP.media[channel] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'mslabel:mixedmslabel' + '\r\n';
502
-        }
503
-        else if (!isData)
504
-        {
495
+        var name = bridgeSDP.media[channel].split(" ")[0].substr(2); // 'm=audio ...'
496
+        if (name === 'audio' || name === 'video') {
505
             // make chrome happy... '3735928559' == 0xDEADBEEF
497
             // make chrome happy... '3735928559' == 0xDEADBEEF
506
-            // FIXME: this currently appears as two streams, should be one
507
-            bridgeSDP.media[channel] += 'a=ssrc:' + '3735928559' + ' ' + 'cname:mixed' + '\r\n';
508
-            bridgeSDP.media[channel] += 'a=ssrc:' + '3735928559' + ' ' + 'label:mixedlabelv0' + '\r\n';
509
-            bridgeSDP.media[channel] += 'a=ssrc:' + '3735928559' + ' ' + 'msid:mixedmslabel mixedlabelv0' + '\r\n';
510
-            bridgeSDP.media[channel] += 'a=ssrc:' + '3735928559' + ' ' + 'mslabel:mixedmslabel' + '\r\n';
498
+            var ssrc = tmp.length ? tmp.attr('ssrc') : '3735928559';
499
+
500
+            bridgeSDP.media[channel] += 'a=ssrc:' + ssrc + ' cname:mixed\r\n';
501
+            bridgeSDP.media[channel] += 'a=ssrc:' + ssrc + ' label:mixedlabel' + name + '0\r\n';
502
+            bridgeSDP.media[channel] += 'a=ssrc:' + ssrc + ' msid:mixedmslabel mixedlabel' + name + '0\r\n';
503
+            bridgeSDP.media[channel] += 'a=ssrc:' + ssrc + ' mslabel:mixedmslabel\r\n';
511
         }
504
         }
512
 
505
 
513
         // FIXME: should take code from .fromJingle
506
         // FIXME: should take code from .fromJingle
683
         console.log('channel id', chan.attr('id'));
676
         console.log('channel id', chan.attr('id'));
684
 
677
 
685
         tmp = chan.find('>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');
678
         tmp = chan.find('>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');
686
-        if (tmp.length) {
687
-            sdp.media[j] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'cname:mixed' + '\r\n';
688
-            sdp.media[j] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'label:mixedlabela0' + '\r\n';
689
-            sdp.media[j] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'msid:mixedmslabel mixedlabela0' + '\r\n';
690
-            sdp.media[j] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'mslabel:mixedmslabel' + '\r\n';
691
-        }
692
-        // No SSRCs for 'data', comes when j == 2
693
-        else if (j < 2)
694
-        {
679
+
680
+        var name = sdp.media[j].split(" ")[0].substr(2); // 'm=audio ...'
681
+        if (name === 'audio' || name === 'video') {
695
             // make chrome happy... '3735928559' == 0xDEADBEEF
682
             // make chrome happy... '3735928559' == 0xDEADBEEF
696
-            sdp.media[j] += 'a=ssrc:' + '3735928559' + ' ' + 'cname:mixed' + '\r\n';
697
-            sdp.media[j] += 'a=ssrc:' + '3735928559' + ' ' + 'label:mixedlabelv0' + '\r\n';
698
-            sdp.media[j] += 'a=ssrc:' + '3735928559' + ' ' + 'msid:mixedmslabel mixedlabelv0' + '\r\n';
699
-            sdp.media[j] += 'a=ssrc:' + '3735928559' + ' ' + 'mslabel:mixedmslabel' + '\r\n';
683
+            var ssrc = tmp.length ? tmp.attr('ssrc') : '3735928559';
684
+
685
+            sdp.media[j] += 'a=ssrc:' + ssrc + ' cname:mixed\r\n';
686
+            sdp.media[j] += 'a=ssrc:' + ssrc + ' label:mixedlabel' + name + '0\r\n';
687
+            sdp.media[j] += 'a=ssrc:' + ssrc + ' msid:mixedmslabel mixedlabel' + name + '0\r\n';
688
+            sdp.media[j] += 'a=ssrc:' + ssrc + ' mslabel:mixedmslabel\r\n';
700
         }
689
         }
701
 
690
 
702
         // In the case of bundle, we add each candidate to all m= lines/jingle contents,
691
         // In the case of bundle, we add each candidate to all m= lines/jingle contents,

Laden…
Annuleren
Opslaan