|
|
@@ -406,8 +406,7 @@ var XMPP = {
|
|
406
|
406
|
this.sendAudioInfoPresence(mute, callback);
|
|
407
|
407
|
return true;
|
|
408
|
408
|
},
|
|
409
|
|
- sendAudioInfoPresence: function(mute, callback)
|
|
410
|
|
- {
|
|
|
409
|
+ sendAudioInfoPresence: function(mute, callback) {
|
|
411
|
410
|
if(connection) {
|
|
412
|
411
|
connection.emuc.addAudioInfoToPresence(mute);
|
|
413
|
412
|
connection.emuc.sendPresence();
|
|
|
@@ -415,48 +414,6 @@ var XMPP = {
|
|
415
|
414
|
callback();
|
|
416
|
415
|
return true;
|
|
417
|
416
|
},
|
|
418
|
|
- // Really mute video, i.e. dont even send black frames
|
|
419
|
|
- muteVideo: function (pc, unmute) {
|
|
420
|
|
- // FIXME: this probably needs another of those lovely state safeguards...
|
|
421
|
|
- // which checks for iceconn == connected and sigstate == stable
|
|
422
|
|
- pc.setRemoteDescription(pc.remoteDescription,
|
|
423
|
|
- function () {
|
|
424
|
|
- pc.createAnswer(
|
|
425
|
|
- function (answer) {
|
|
426
|
|
- var sdp = new SDP(answer.sdp);
|
|
427
|
|
- if (sdp.media.length > 1) {
|
|
428
|
|
- if (unmute)
|
|
429
|
|
- sdp.media[1] = sdp.media[1].replace(
|
|
430
|
|
- 'a=recvonly', 'a=sendrecv');
|
|
431
|
|
- else
|
|
432
|
|
- sdp.media[1] = sdp.media[1].replace(
|
|
433
|
|
- 'a=sendrecv', 'a=recvonly');
|
|
434
|
|
- sdp.raw = sdp.session + sdp.media.join('');
|
|
435
|
|
- answer.sdp = sdp.raw;
|
|
436
|
|
- }
|
|
437
|
|
- pc.setLocalDescription(answer,
|
|
438
|
|
- function () {
|
|
439
|
|
- console.log('mute SLD ok');
|
|
440
|
|
- },
|
|
441
|
|
- function (error) {
|
|
442
|
|
- console.log('mute SLD error');
|
|
443
|
|
- eventEmitter.emit(
|
|
444
|
|
- XMPPEvents.SET_LOCAL_DESCRIPTION_ERROR);
|
|
445
|
|
- }
|
|
446
|
|
- );
|
|
447
|
|
- },
|
|
448
|
|
- function (error) {
|
|
449
|
|
- console.log(error);
|
|
450
|
|
- eventEmitter.emit(XMPPEvents.CREATE_ANSWER_ERROR);
|
|
451
|
|
- }
|
|
452
|
|
- );
|
|
453
|
|
- },
|
|
454
|
|
- function (error) {
|
|
455
|
|
- console.log('muteVideo SRD error');
|
|
456
|
|
- eventEmitter.emit(XMPPEvents.SET_REMOTE_DESCRIPTION_ERROR);
|
|
457
|
|
- }
|
|
458
|
|
- );
|
|
459
|
|
- },
|
|
460
|
417
|
toggleRecording: function (tokenEmptyCallback,
|
|
461
|
418
|
startingCallback, startedCallback) {
|
|
462
|
419
|
Recording.toggleRecording(tokenEmptyCallback,
|