diff --git a/app.js b/app.js
index af66b3de3..23cf7daed 100644
--- a/app.js
+++ b/app.js
@@ -834,8 +834,6 @@ $(document).ready(function () {
APIConnector.init();
UI.start();
- statistics.addConnectionStatsListener(ConnectionQuality.updateLocalStats);
- statistics.addRemoteStatsStopListener(ConnectionQuality.stopSendingStats);
statistics.start();
Moderator.init();
diff --git a/connectionquality.js b/connectionquality.js
deleted file mode 100644
index 73390a7d0..000000000
--- a/connectionquality.js
+++ /dev/null
@@ -1,127 +0,0 @@
-var ConnectionQuality = (function () {
-
- /**
- * Constructs new ConnectionQuality object
- * @constructor
- */
- function ConnectionQuality() {
-
- }
-
- /**
- * local stats
- * @type {{}}
- */
- var stats = {};
-
- /**
- * remote stats
- * @type {{}}
- */
- var remoteStats = {};
-
- /**
- * Interval for sending statistics to other participants
- * @type {null}
- */
- var sendIntervalId = null;
-
- /**
- * Updates the local statistics
- * @param data new statistics
- */
- ConnectionQuality.updateLocalStats = function (data) {
- stats = data;
- UI.updateLocalConnectionStats(100 - stats.packetLoss.total,stats);
- if(sendIntervalId == null)
- {
- startSendingStats();
- }
- };
-
- /**
- * Start statistics sending.
- */
- function startSendingStats() {
- sendStats();
- sendIntervalId = setInterval(sendStats, 10000);
- }
-
- /**
- * Sends statistics to other participants
- */
- function sendStats() {
- connection.emuc.addConnectionInfoToPresence(convertToMUCStats(stats));
- connection.emuc.sendPresence();
- }
-
- /**
- * Converts statistics to format for sending through XMPP
- * @param stats the statistics
- * @returns {{bitrate_donwload: *, bitrate_uplpoad: *, packetLoss_total: *, packetLoss_download: *, packetLoss_upload: *}}
- */
- function convertToMUCStats(stats) {
- return {
- "bitrate_download": stats.bitrate.download,
- "bitrate_upload": stats.bitrate.upload,
- "packetLoss_total": stats.packetLoss.total,
- "packetLoss_download": stats.packetLoss.download,
- "packetLoss_upload": stats.packetLoss.upload
- };
- }
-
- /**
- * Converts statitistics to format used by VideoLayout
- * @param stats
- * @returns {{bitrate: {download: *, upload: *}, packetLoss: {total: *, download: *, upload: *}}}
- */
- function parseMUCStats(stats) {
- return {
- bitrate: {
- download: stats.bitrate_download,
- upload: stats.bitrate_upload
- },
- packetLoss: {
- total: stats.packetLoss_total,
- download: stats.packetLoss_download,
- upload: stats.packetLoss_upload
- }
- };
- }
-
- /**
- * Updates remote statistics
- * @param jid the jid associated with the statistics
- * @param data the statistics
- */
- ConnectionQuality.updateRemoteStats = function (jid, data) {
- if(data == null || data.packetLoss_total == null)
- {
- UI.updateConnectionStats(jid, null, null);
- return;
- }
- remoteStats[jid] = parseMUCStats(data);
-
- UI.updateConnectionStats(jid, 100 - data.packetLoss_total,remoteStats[jid]);
-
- };
-
- /**
- * Stops statistics sending.
- */
- ConnectionQuality.stopSendingStats = function () {
- clearInterval(sendIntervalId);
- sendIntervalId = null;
- //notify UI about stopping statistics gathering
- UI.onStatsStop();
- };
-
- /**
- * Returns the local statistics.
- */
- ConnectionQuality.getStats = function () {
- return stats;
- }
-
- return ConnectionQuality;
-})();
\ No newline at end of file
diff --git a/index.html b/index.html
index 33207ec8f..a8cbeb8a4 100644
--- a/index.html
+++ b/index.html
@@ -30,6 +30,7 @@
+
@@ -40,7 +41,6 @@
-
diff --git a/libs/modules/UI.bundle.js b/libs/modules/UI.bundle.js
index b74424207..3485701db 100644
--- a/libs/modules/UI.bundle.js
+++ b/libs/modules/UI.bundle.js
@@ -3782,7 +3782,7 @@ ConnectionIndicator.prototype.generateText = function () {
}
var resolutionValue = null;
- if(this.resolution)
+ if(this.resolution && this.jid != null)
{
var keys = Object.keys(this.resolution);
if(keys.length == 1)
diff --git a/libs/modules/connection_quality.bundle.js b/libs/modules/connection_quality.bundle.js
new file mode 100644
index 000000000..50b92a66d
--- /dev/null
+++ b/libs/modules/connection_quality.bundle.js
@@ -0,0 +1,122 @@
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;"undefined"!=typeof window?n=window:"undefined"!=typeof global?n=global:"undefined"!=typeof self&&(n=self),n.connectionquality=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o