diff --git a/libs/colibri/colibri.focus.js b/libs/colibri/colibri.focus.js index 084c98dfa..a21d85f11 100644 --- a/libs/colibri/colibri.focus.js +++ b/libs/colibri/colibri.focus.js @@ -492,22 +492,15 @@ ColibriFocus.prototype.createdConference = function (result) { tmp = $(this.mychannel[channel]).find('>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]'); // FIXME: check rtp-level-relay-type - var isData = bridgeSDP.media[channel].indexOf('application') !== -1; - if (!isData && tmp.length) - { - bridgeSDP.media[channel] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'cname:mixed' + '\r\n'; - bridgeSDP.media[channel] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'label:mixedlabela0' + '\r\n'; - bridgeSDP.media[channel] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'msid:mixedmslabel mixedlabela0' + '\r\n'; - bridgeSDP.media[channel] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'mslabel:mixedmslabel' + '\r\n'; - } - else if (!isData) - { + var name = bridgeSDP.media[channel].split(" ")[0].substr(2); // 'm=audio ...' + if (name === 'audio' || name === 'video') { // make chrome happy... '3735928559' == 0xDEADBEEF - // FIXME: this currently appears as two streams, should be one - bridgeSDP.media[channel] += 'a=ssrc:' + '3735928559' + ' ' + 'cname:mixed' + '\r\n'; - bridgeSDP.media[channel] += 'a=ssrc:' + '3735928559' + ' ' + 'label:mixedlabelv0' + '\r\n'; - bridgeSDP.media[channel] += 'a=ssrc:' + '3735928559' + ' ' + 'msid:mixedmslabel mixedlabelv0' + '\r\n'; - bridgeSDP.media[channel] += 'a=ssrc:' + '3735928559' + ' ' + 'mslabel:mixedmslabel' + '\r\n'; + var ssrc = tmp.length ? tmp.attr('ssrc') : '3735928559'; + + bridgeSDP.media[channel] += 'a=ssrc:' + ssrc + ' cname:mixed\r\n'; + bridgeSDP.media[channel] += 'a=ssrc:' + ssrc + ' label:mixedlabel' + name + '0\r\n'; + bridgeSDP.media[channel] += 'a=ssrc:' + ssrc + ' msid:mixedmslabel mixedlabel' + name + '0\r\n'; + bridgeSDP.media[channel] += 'a=ssrc:' + ssrc + ' mslabel:mixedmslabel\r\n'; } // FIXME: should take code from .fromJingle @@ -683,20 +676,16 @@ ColibriFocus.prototype.initiate = function (peer, isInitiator) { console.log('channel id', chan.attr('id')); tmp = chan.find('>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]'); - if (tmp.length) { - sdp.media[j] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'cname:mixed' + '\r\n'; - sdp.media[j] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'label:mixedlabela0' + '\r\n'; - sdp.media[j] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'msid:mixedmslabel mixedlabela0' + '\r\n'; - sdp.media[j] += 'a=ssrc:' + tmp.attr('ssrc') + ' ' + 'mslabel:mixedmslabel' + '\r\n'; - } - // No SSRCs for 'data', comes when j == 2 - else if (j < 2) - { + + var name = sdp.media[j].split(" ")[0].substr(2); // 'm=audio ...' + if (name === 'audio' || name === 'video') { // make chrome happy... '3735928559' == 0xDEADBEEF - sdp.media[j] += 'a=ssrc:' + '3735928559' + ' ' + 'cname:mixed' + '\r\n'; - sdp.media[j] += 'a=ssrc:' + '3735928559' + ' ' + 'label:mixedlabelv0' + '\r\n'; - sdp.media[j] += 'a=ssrc:' + '3735928559' + ' ' + 'msid:mixedmslabel mixedlabelv0' + '\r\n'; - sdp.media[j] += 'a=ssrc:' + '3735928559' + ' ' + 'mslabel:mixedmslabel' + '\r\n'; + var ssrc = tmp.length ? tmp.attr('ssrc') : '3735928559'; + + sdp.media[j] += 'a=ssrc:' + ssrc + ' cname:mixed\r\n'; + sdp.media[j] += 'a=ssrc:' + ssrc + ' label:mixedlabel' + name + '0\r\n'; + sdp.media[j] += 'a=ssrc:' + ssrc + ' msid:mixedmslabel mixedlabel' + name + '0\r\n'; + sdp.media[j] += 'a=ssrc:' + ssrc + ' mslabel:mixedmslabel\r\n'; } // In the case of bundle, we add each candidate to all m= lines/jingle contents,