signal direction in issue #41
This commit is contained in:
parent
69dc3b4ea1
commit
cf1dbfbe66
8
app.js
8
app.js
|
@ -360,13 +360,17 @@ $(document).bind('setLocalDescription.jingle', function (event, sid) {
|
||||||
// put our ssrcs into presence so other clients can identify our stream
|
// put our ssrcs into presence so other clients can identify our stream
|
||||||
var sess = connection.jingle.sessions[sid];
|
var sess = connection.jingle.sessions[sid];
|
||||||
var newssrcs = {};
|
var newssrcs = {};
|
||||||
|
var directions = {};
|
||||||
var localSDP = new SDP(sess.peerconnection.localDescription.sdp);
|
var localSDP = new SDP(sess.peerconnection.localDescription.sdp);
|
||||||
localSDP.media.forEach(function (media) {
|
localSDP.media.forEach(function (media) {
|
||||||
var type = SDPUtil.parse_mline(media.split('\r\n')[0]).media;
|
var type = SDPUtil.parse_mline(media.split('\r\n')[0]).media;
|
||||||
|
|
||||||
if (SDPUtil.find_line(media, 'a=ssrc:')) {
|
if (SDPUtil.find_line(media, 'a=ssrc:')) {
|
||||||
var ssrc = SDPUtil.find_line(media, 'a=ssrc:').substring(7).split(' ')[0];
|
|
||||||
// assumes a single local ssrc
|
// assumes a single local ssrc
|
||||||
|
var ssrc = SDPUtil.find_line(media, 'a=ssrc:').substring(7).split(' ')[0];
|
||||||
newssrcs[type] = ssrc;
|
newssrcs[type] = ssrc;
|
||||||
|
|
||||||
|
directions[type] = (SDPUtil.find_line(media, 'a=sendrecv') || SDPUtil.find_line(media, 'a=recvonly') || SDPUtil.find_line('a=sendonly') || SDPUtil.find_line('a=inactive') || 'a=sendrecv').substr(2);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
console.log('new ssrcs', newssrcs);
|
console.log('new ssrcs', newssrcs);
|
||||||
|
@ -374,7 +378,7 @@ $(document).bind('setLocalDescription.jingle', function (event, sid) {
|
||||||
var i = 0;
|
var i = 0;
|
||||||
Object.keys(newssrcs).forEach(function (mtype) {
|
Object.keys(newssrcs).forEach(function (mtype) {
|
||||||
i++;
|
i++;
|
||||||
connection.emuc.addMediaToPresence(i, mtype, newssrcs[mtype]);
|
connection.emuc.addMediaToPresence(i, mtype, newssrcs[mtype], directions[mtype]);
|
||||||
});
|
});
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
connection.emuc.sendPresence();
|
connection.emuc.sendPresence();
|
||||||
|
|
9
muc.js
9
muc.js
|
@ -210,10 +210,12 @@ Strophe.addConnectionPlugin('emuc', {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (sourceNumber > 0)
|
if (sourceNumber > 0)
|
||||||
for (var i = 1; i <= sourceNumber/2; i ++) {
|
for (var i = 1; i <= sourceNumber/3; i ++) {
|
||||||
pres.c('source',
|
pres.c('source',
|
||||||
{type: this.presMap['source' + i + '_type'],
|
{type: this.presMap['source' + i + '_type'],
|
||||||
ssrc: this.presMap['source' + i + '_ssrc']}).up();
|
ssrc: this.presMap['source' + i + '_ssrc'],
|
||||||
|
direction: this.presMap['source'+ i + '_direction'] || 'sendrecv' }
|
||||||
|
).up();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pres.up();
|
pres.up();
|
||||||
|
@ -222,12 +224,13 @@ Strophe.addConnectionPlugin('emuc', {
|
||||||
addDisplayNameToPresence: function (displayName) {
|
addDisplayNameToPresence: function (displayName) {
|
||||||
this.presMap['displayName'] = displayName;
|
this.presMap['displayName'] = displayName;
|
||||||
},
|
},
|
||||||
addMediaToPresence: function (sourceNumber, mtype, ssrcs) {
|
addMediaToPresence: function (sourceNumber, mtype, ssrcs, direction) {
|
||||||
if (!this.presMap['medians'])
|
if (!this.presMap['medians'])
|
||||||
this.presMap['medians'] = 'http://estos.de/ns/mjs';
|
this.presMap['medians'] = 'http://estos.de/ns/mjs';
|
||||||
|
|
||||||
this.presMap['source' + sourceNumber + '_type'] = mtype;
|
this.presMap['source' + sourceNumber + '_type'] = mtype;
|
||||||
this.presMap['source' + sourceNumber + '_ssrc'] = ssrcs;
|
this.presMap['source' + sourceNumber + '_ssrc'] = ssrcs;
|
||||||
|
this.presMap['source' + sourceNumber + '_direction'] = direction;
|
||||||
},
|
},
|
||||||
addPreziToPresence: function (url, currentSlide) {
|
addPreziToPresence: function (url, currentSlide) {
|
||||||
this.presMap['prezins'] = 'http://jitsi.org/jitmeet/prezi';
|
this.presMap['prezins'] = 'http://jitsi.org/jitmeet/prezi';
|
||||||
|
|
Loading…
Reference in New Issue