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