Преглед изворни кода

signal direction in issue #41

j8
Philipp Hancke пре 11 година
родитељ
комит
cf1dbfbe66
2 измењених фајлова са 12 додато и 5 уклоњено
  1. 6
    2
      app.js
  2. 6
    3
      muc.js

+ 6
- 2
app.js Прегледај датотеку

@@ -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();

+ 6
- 3
muc.js Прегледај датотеку

@@ -210,10 +210,12 @@ Strophe.addConnectionPlugin('emuc', {
210 210
                 }
211 211
             });
212 212
             if (sourceNumber > 0)
213
-                for (var i = 1; i <= sourceNumber/2; i ++) {
213
+                for (var i = 1; i <= sourceNumber/3; i ++) {
214 214
                     pres.c('source',
215 215
                            {type: this.presMap['source' + i + '_type'],
216
-                           ssrc: this.presMap['source' + i + '_ssrc']}).up();
216
+                           ssrc: this.presMap['source' + i + '_ssrc'],
217
+                           direction: this.presMap['source'+ i + '_direction'] || 'sendrecv' }
218
+                    ).up();
217 219
                 }
218 220
         }
219 221
         pres.up();
@@ -222,12 +224,13 @@ Strophe.addConnectionPlugin('emuc', {
222 224
     addDisplayNameToPresence: function (displayName) {
223 225
         this.presMap['displayName'] = displayName;
224 226
     },
225
-    addMediaToPresence: function (sourceNumber, mtype, ssrcs) {
227
+    addMediaToPresence: function (sourceNumber, mtype, ssrcs, direction) {
226 228
         if (!this.presMap['medians'])
227 229
             this.presMap['medians'] = 'http://estos.de/ns/mjs';
228 230
 
229 231
         this.presMap['source' + sourceNumber + '_type'] = mtype;
230 232
         this.presMap['source' + sourceNumber + '_ssrc'] = ssrcs;
233
+        this.presMap['source' + sourceNumber + '_direction'] = direction;
231 234
     },
232 235
     addPreziToPresence: function (url, currentSlide) {
233 236
         this.presMap['prezins'] = 'http://jitsi.org/jitmeet/prezi';

Loading…
Откажи
Сачувај