/* global config, APP, $, Strophe, require, interfaceConfig */ /* jshint -W101 */ var AudioLevels = require("../audio_levels/AudioLevels"); var ContactList = require("../side_pannels/contactlist/ContactList"); var MediaStreamType = require("../../../service/RTC/MediaStreamTypes"); var UIEvents = require("../../../service/UI/UIEvents"); var UIUtil = require("../util/UIUtil"); var RTC = require("../../RTC/RTC"); var RTCBrowserType = require('../../RTC/RTCBrowserType'); var RemoteVideo = require("./RemoteVideo"); var LargeVideo = require("./LargeVideo"); var LocalVideo = require("./LocalVideo"); var remoteVideos = {}; var remoteVideoTypes = {}; var localVideoThumbnail = null; var currentDominantSpeaker = null; var lastNCount = config.channelLastN; var localLastNCount = config.channelLastN; var localLastNSet = []; var lastNEndpointsCache = []; var lastNPickupJid = null; var eventEmitter = null; /** * Currently focused video jid * @type {String} */ var focusedVideoResourceJid = null; var VideoLayout = (function (my) { my.init = function (emitter) { eventEmitter = emitter; localVideoThumbnail = new LocalVideo(VideoLayout, emitter); if (interfaceConfig.filmStripOnly) { LargeVideo.disable(); } else { LargeVideo.init(VideoLayout, emitter); } VideoLayout.resizeLargeVideoContainer(); }; my.isInLastN = function(resource) { return lastNCount < 0 || // lastN is disabled // lastNEndpoints cache not built yet (lastNCount > 0 && !lastNEndpointsCache.length) || (lastNEndpointsCache && lastNEndpointsCache.indexOf(resource) !== -1); }; my.changeLocalAudio = function(stream, isMuted) { APP.RTC.attachMediaStream($('#localAudio'), stream.getOriginalStream()); var localAudio = document.getElementById('localAudio'); // Writing volume not allowed in IE if (!RTCBrowserType.isIExplorer()) { localAudio.autoplay = true; localAudio.volume = 0; } // Now when Temasys plugin is converting also