Fixes issue with video thumbnail not being removed for users without camera and mic.

pull/334/head
paweldomas 9 years ago
parent baee96734c
commit f2bd76ac93
  1. 25
      modules/UI/videolayout/RemoteVideo.js
  2. 3
      modules/UI/videolayout/VideoLayout.js

@ -147,22 +147,19 @@ RemoteVideo.prototype.removeRemoteStreamElement = function (stream, isVideo, id)
select.removed = true;
select.remove();
var audioCount = $('#' + this.videoSpanId + '>audio').length;
var videoCount = $('#' + this.videoSpanId + '>' + APP.RTC.getVideoElementName()).length;
if (isVideo)
this.VideoLayout.updateRemovedVideo(this.getResourceJid());
};
if (!audioCount && !videoCount) {
console.log("Remove whole user", this.videoSpanId);
if(this.connectionIndicator)
this.connectionIndicator.remove();
/**
* Removes RemoteVideo from the page.
*/
RemoteVideo.prototype.remove = function () {
console.log("Remove thumbnail", this.peerJid);
this.removeConnectionIndicator();
// Remove whole container
if (this.container.parentNode)
this.container.parentNode.removeChild(this.container);
this.VideoLayout.resizeThumbnails();
}
if (isVideo)
this.VideoLayout.updateRemovedVideo(this.getResourceJid());
};
RemoteVideo.prototype.waitForPlayback = function (sel, stream) {
@ -302,12 +299,12 @@ RemoteVideo.prototype.showPeerContainer = function (state) {
RemoteVideo.prototype.removeConnectionIndicator = function () {
if (this.connectionIndicator)
this.connectionIndicator.remove();
}
};
RemoteVideo.prototype.hideConnectionIndicator = function () {
if (this.connectionIndicator)
this.connectionIndicator.hide();
}
};
/**
* Updates the remote video menu.

@ -821,8 +821,9 @@ var VideoLayout = (function (my) {
var remoteVideo = remoteVideos[resourceJid];
if (remoteVideo) {
remoteVideo.removeConnectionIndicator();
// Remove remote video
console.info("Removing remote video: " + resourceJid);
remoteVideo.remove();
delete remoteVideos[resourceJid];
} else {
console.warn("No remote video for " + resourceJid);

Loading…
Cancel
Save