Fixes video mute when the user is alone in the room.
This commit is contained in:
parent
0da2547360
commit
44e558e5a0
|
@ -19,7 +19,7 @@
|
||||||
<script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
|
<script src="libs/popover.js?v=1"></script><!-- bootstrap tooltip lib -->
|
||||||
<script src="libs/toastr.js?v=1"></script><!-- notifications lib -->
|
<script src="libs/toastr.js?v=1"></script><!-- notifications lib -->
|
||||||
<script src="interface_config.js?v=5"></script>
|
<script src="interface_config.js?v=5"></script>
|
||||||
<script src="libs/app.bundle.js?v=39"></script>
|
<script src="libs/app.bundle.js?v=40"></script>
|
||||||
<script src="analytics.js?v=1"></script><!-- google analytics plugin -->
|
<script src="analytics.js?v=1"></script><!-- google analytics plugin -->
|
||||||
<link rel="stylesheet" href="css/font.css?v=6"/>
|
<link rel="stylesheet" href="css/font.css?v=6"/>
|
||||||
<link rel="stylesheet" href="css/toastr.css?v=1">
|
<link rel="stylesheet" href="css/toastr.css?v=1">
|
||||||
|
|
|
@ -1937,8 +1937,6 @@ UI.getRoomName = function () {
|
||||||
* Mutes/unmutes the local video.
|
* Mutes/unmutes the local video.
|
||||||
*/
|
*/
|
||||||
UI.toggleVideo = function () {
|
UI.toggleVideo = function () {
|
||||||
UIUtil.buttonClick("#video", "icon-camera icon-camera-disabled");
|
|
||||||
|
|
||||||
setVideoMute(!APP.RTC.localVideo.isMuted());
|
setVideoMute(!APP.RTC.localVideo.isMuted());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -8295,7 +8293,7 @@ var VideoLayout = (function (my) {
|
||||||
*/
|
*/
|
||||||
$(document).bind('videomuted.muc', function (event, jid, value) {
|
$(document).bind('videomuted.muc', function (event, jid, value) {
|
||||||
var isMuted = (value === "true");
|
var isMuted = (value === "true");
|
||||||
if(!APP.RTC.muteRemoteVideoStream(jid, isMuted))
|
if(jid !== APP.xmpp.myJid() && !APP.RTC.muteRemoteVideoStream(jid, isMuted))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Avatar.showUserAvatar(jid, isMuted);
|
Avatar.showUserAvatar(jid, isMuted);
|
||||||
|
@ -13177,30 +13175,9 @@ JingleSession.prototype.setVideoMute = function (mute, callback, options) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var self = this;
|
this.hardMuteVideo(mute);
|
||||||
var localCallback = function (mute) {
|
|
||||||
self.connection.emuc.addVideoInfoToPresence(mute);
|
|
||||||
self.connection.emuc.sendPresence();
|
|
||||||
return callback(mute)
|
|
||||||
};
|
|
||||||
|
|
||||||
if (mute == APP.RTC.localVideo.isMuted())
|
this.modifySources(callback(mute));
|
||||||
{
|
|
||||||
// Even if no change occurs, the specified callback is to be executed.
|
|
||||||
// The specified callback may, optionally, return a successCallback
|
|
||||||
// which is to be executed as well.
|
|
||||||
var successCallback = localCallback(mute);
|
|
||||||
|
|
||||||
if (successCallback) {
|
|
||||||
successCallback();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
APP.RTC.localVideo.setMute(!mute);
|
|
||||||
|
|
||||||
this.hardMuteVideo(mute);
|
|
||||||
|
|
||||||
this.modifySources(localCallback(mute));
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// SDP-based mute by going recvonly/sendrecv
|
// SDP-based mute by going recvonly/sendrecv
|
||||||
|
@ -16933,10 +16910,37 @@ var XMPP = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setVideoMute: function (mute, callback, options) {
|
setVideoMute: function (mute, callback, options) {
|
||||||
if(connection && APP.RTC.localVideo && connection.jingle.activecall)
|
if(!connection || !APP.RTC.localVideo)
|
||||||
{
|
return;
|
||||||
connection.jingle.activecall.setVideoMute(mute, callback, options);
|
|
||||||
}
|
var localCallback = function (mute) {
|
||||||
|
connection.emuc.addVideoInfoToPresence(mute);
|
||||||
|
connection.emuc.sendPresence();
|
||||||
|
return callback(mute);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (mute == APP.RTC.localVideo.isMuted())
|
||||||
|
{
|
||||||
|
// Even if no change occurs, the specified callback is to be executed.
|
||||||
|
// The specified callback may, optionally, return a successCallback
|
||||||
|
// which is to be executed as well.
|
||||||
|
var successCallback = localCallback(mute);
|
||||||
|
|
||||||
|
if (successCallback) {
|
||||||
|
successCallback();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
APP.RTC.localVideo.setMute(!mute);
|
||||||
|
if(connection.jingle.activecall)
|
||||||
|
{
|
||||||
|
connection.jingle.activecall.setVideoMute(
|
||||||
|
mute, localCallback, options);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
localCallback(mute);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setAudioMute: function (mute, callback) {
|
setAudioMute: function (mute, callback) {
|
||||||
if (!(connection && APP.RTC.localAudio)) {
|
if (!(connection && APP.RTC.localAudio)) {
|
||||||
|
|
|
@ -694,8 +694,6 @@ UI.getRoomName = function () {
|
||||||
* Mutes/unmutes the local video.
|
* Mutes/unmutes the local video.
|
||||||
*/
|
*/
|
||||||
UI.toggleVideo = function () {
|
UI.toggleVideo = function () {
|
||||||
UIUtil.buttonClick("#video", "icon-camera icon-camera-disabled");
|
|
||||||
|
|
||||||
setVideoMute(!APP.RTC.localVideo.isMuted());
|
setVideoMute(!APP.RTC.localVideo.isMuted());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1787,7 +1787,7 @@ var VideoLayout = (function (my) {
|
||||||
*/
|
*/
|
||||||
$(document).bind('videomuted.muc', function (event, jid, value) {
|
$(document).bind('videomuted.muc', function (event, jid, value) {
|
||||||
var isMuted = (value === "true");
|
var isMuted = (value === "true");
|
||||||
if(!APP.RTC.muteRemoteVideoStream(jid, isMuted))
|
if(jid !== APP.xmpp.myJid() && !APP.RTC.muteRemoteVideoStream(jid, isMuted))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Avatar.showUserAvatar(jid, isMuted);
|
Avatar.showUserAvatar(jid, isMuted);
|
||||||
|
|
|
@ -1109,30 +1109,9 @@ JingleSession.prototype.setVideoMute = function (mute, callback, options) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var self = this;
|
this.hardMuteVideo(mute);
|
||||||
var localCallback = function (mute) {
|
|
||||||
self.connection.emuc.addVideoInfoToPresence(mute);
|
|
||||||
self.connection.emuc.sendPresence();
|
|
||||||
return callback(mute)
|
|
||||||
};
|
|
||||||
|
|
||||||
if (mute == APP.RTC.localVideo.isMuted())
|
this.modifySources(callback(mute));
|
||||||
{
|
|
||||||
// Even if no change occurs, the specified callback is to be executed.
|
|
||||||
// The specified callback may, optionally, return a successCallback
|
|
||||||
// which is to be executed as well.
|
|
||||||
var successCallback = localCallback(mute);
|
|
||||||
|
|
||||||
if (successCallback) {
|
|
||||||
successCallback();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
APP.RTC.localVideo.setMute(!mute);
|
|
||||||
|
|
||||||
this.hardMuteVideo(mute);
|
|
||||||
|
|
||||||
this.modifySources(localCallback(mute));
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// SDP-based mute by going recvonly/sendrecv
|
// SDP-based mute by going recvonly/sendrecv
|
||||||
|
|
|
@ -252,10 +252,37 @@ var XMPP = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setVideoMute: function (mute, callback, options) {
|
setVideoMute: function (mute, callback, options) {
|
||||||
if(connection && APP.RTC.localVideo && connection.jingle.activecall)
|
if(!connection || !APP.RTC.localVideo)
|
||||||
{
|
return;
|
||||||
connection.jingle.activecall.setVideoMute(mute, callback, options);
|
|
||||||
}
|
var localCallback = function (mute) {
|
||||||
|
connection.emuc.addVideoInfoToPresence(mute);
|
||||||
|
connection.emuc.sendPresence();
|
||||||
|
return callback(mute);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (mute == APP.RTC.localVideo.isMuted())
|
||||||
|
{
|
||||||
|
// Even if no change occurs, the specified callback is to be executed.
|
||||||
|
// The specified callback may, optionally, return a successCallback
|
||||||
|
// which is to be executed as well.
|
||||||
|
var successCallback = localCallback(mute);
|
||||||
|
|
||||||
|
if (successCallback) {
|
||||||
|
successCallback();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
APP.RTC.localVideo.setMute(!mute);
|
||||||
|
if(connection.jingle.activecall)
|
||||||
|
{
|
||||||
|
connection.jingle.activecall.setVideoMute(
|
||||||
|
mute, localCallback, options);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
localCallback(mute);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setAudioMute: function (mute, callback) {
|
setAudioMute: function (mute, callback) {
|
||||||
if (!(connection && APP.RTC.localAudio)) {
|
if (!(connection && APP.RTC.localAudio)) {
|
||||||
|
|
Loading…
Reference in New Issue