|
|
@@ -2,7 +2,8 @@
|
|
2
|
2
|
/* application specific logic */
|
|
3
|
3
|
var connection = null;
|
|
4
|
4
|
var focus = null;
|
|
5
|
|
-var RTC;
|
|
|
5
|
+var activecall = null;
|
|
|
6
|
+var RTC = null;
|
|
6
|
7
|
var RTCPeerConnection = null;
|
|
7
|
8
|
var nickname = null;
|
|
8
|
9
|
var sharedKey = '';
|
|
|
@@ -336,11 +337,16 @@ function muteVideo(pc, unmute) {
|
|
336
|
337
|
|
|
337
|
338
|
$(document).bind('callincoming.jingle', function (event, sid) {
|
|
338
|
339
|
var sess = connection.jingle.sessions[sid];
|
|
|
340
|
+
|
|
|
341
|
+ // TODO: do we check activecall == null?
|
|
|
342
|
+ activecall = sess;
|
|
|
343
|
+
|
|
339
|
344
|
// TODO: check affiliation and/or role
|
|
340
|
345
|
console.log('emuc data for', sess.peerjid, connection.emuc.members[sess.peerjid]);
|
|
341
|
346
|
sess.usedrip = true; // not-so-naive trickle ice
|
|
342
|
347
|
sess.sendAnswer();
|
|
343
|
348
|
sess.accept();
|
|
|
349
|
+
|
|
344
|
350
|
});
|
|
345
|
351
|
|
|
346
|
352
|
$(document).bind('callactive.jingle', function (event, videoelem, sid) {
|
|
|
@@ -708,9 +714,19 @@ function updateLargeVideo(newSrc, localVideo, vol) {
|
|
708
|
714
|
|
|
709
|
715
|
function toggleVideo() {
|
|
710
|
716
|
if (!(connection && connection.jingle.localStream)) return;
|
|
|
717
|
+ var ismuted = false;
|
|
|
718
|
+ for (var idx = 0; idx < connection.jingle.localStream.getVideoTracks().length; idx++) {
|
|
|
719
|
+ ismuted = !connection.jingle.localStream.getVideoTracks()[idx].enabled;
|
|
|
720
|
+ }
|
|
711
|
721
|
for (var idx = 0; idx < connection.jingle.localStream.getVideoTracks().length; idx++) {
|
|
712
|
722
|
connection.jingle.localStream.getVideoTracks()[idx].enabled = !connection.jingle.localStream.getVideoTracks()[idx].enabled;
|
|
713
|
723
|
}
|
|
|
724
|
+ var sess = focus || activecall;
|
|
|
725
|
+ if (!sess) {
|
|
|
726
|
+ return;
|
|
|
727
|
+ }
|
|
|
728
|
+ sess.pendingop = ismuted ? 'unmute' : 'mute';
|
|
|
729
|
+ sess.modifySources();
|
|
714
|
730
|
}
|
|
715
|
731
|
|
|
716
|
732
|
function toggleAudio() {
|