|
@@ -492,22 +492,15 @@ ColibriFocus.prototype.createdConference = function (result) {
|
492
|
492
|
tmp = $(this.mychannel[channel]).find('>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');
|
493
|
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
|
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
|
506
|
// FIXME: should take code from .fromJingle
|
|
@@ -683,20 +676,16 @@ ColibriFocus.prototype.initiate = function (peer, isInitiator) {
|
683
|
676
|
console.log('channel id', chan.attr('id'));
|
684
|
677
|
|
685
|
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
|
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
|
691
|
// In the case of bundle, we add each candidate to all m= lines/jingle contents,
|