|
@@ -360,13 +360,17 @@ $(document).bind('setLocalDescription.jingle', function (event, sid) {
|
360
|
360
|
// put our ssrcs into presence so other clients can identify our stream
|
361
|
361
|
var sess = connection.jingle.sessions[sid];
|
362
|
362
|
var newssrcs = {};
|
|
363
|
+ var directions = {};
|
363
|
364
|
var localSDP = new SDP(sess.peerconnection.localDescription.sdp);
|
364
|
365
|
localSDP.media.forEach(function (media) {
|
365
|
366
|
var type = SDPUtil.parse_mline(media.split('\r\n')[0]).media;
|
|
367
|
+
|
366
|
368
|
if (SDPUtil.find_line(media, 'a=ssrc:')) {
|
367
|
|
- var ssrc = SDPUtil.find_line(media, 'a=ssrc:').substring(7).split(' ')[0];
|
368
|
369
|
// assumes a single local ssrc
|
|
370
|
+ var ssrc = SDPUtil.find_line(media, 'a=ssrc:').substring(7).split(' ')[0];
|
369
|
371
|
newssrcs[type] = ssrc;
|
|
372
|
+
|
|
373
|
+ 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);
|
370
|
374
|
}
|
371
|
375
|
});
|
372
|
376
|
console.log('new ssrcs', newssrcs);
|
|
@@ -374,7 +378,7 @@ $(document).bind('setLocalDescription.jingle', function (event, sid) {
|
374
|
378
|
var i = 0;
|
375
|
379
|
Object.keys(newssrcs).forEach(function (mtype) {
|
376
|
380
|
i++;
|
377
|
|
- connection.emuc.addMediaToPresence(i, mtype, newssrcs[mtype]);
|
|
381
|
+ connection.emuc.addMediaToPresence(i, mtype, newssrcs[mtype], directions[mtype]);
|
378
|
382
|
});
|
379
|
383
|
if (i > 0) {
|
380
|
384
|
connection.emuc.sendPresence();
|