-
Notifications
You must be signed in to change notification settings - Fork 45
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
73b4b76
commit 45c0fc9
Showing
5 changed files
with
67 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -40,5 +40,5 @@ | |
"start": "ng serve", | ||
"test": "ng test" | ||
}, | ||
"version": "2.19.0" | ||
"version": "2.20.0" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -157834,6 +157834,10 @@ var OpenVidu = /** @class */ (function () { | |
* @hidden | ||
*/ | ||
this.recorder = false; | ||
/** | ||
* @hidden | ||
*/ | ||
this.life = -1; | ||
/** | ||
* @hidden | ||
*/ | ||
|
@@ -158316,13 +158320,7 @@ var OpenVidu = /** @class */ (function () { | |
}; | ||
/* tslint:enable:no-empty */ | ||
/** | ||
* Set OpenVidu advanced configuration options. Currently `configuration` is an object with the following optional properties (see [[OpenViduAdvancedConfiguration]] for more details): | ||
* - `iceServers`: set custom STUN/TURN servers to be used by OpenVidu Browser | ||
* - `screenShareChromeExtension`: url to a custom screen share extension for Chrome to be used instead of the default one, based on ours [https://github.com/OpenVidu/openvidu-screen-sharing-chrome-extension](https://github.com/OpenVidu/openvidu-screen-sharing-chrome-extension) | ||
* - `publisherSpeakingEventsOptions`: custom configuration for the [[PublisherSpeakingEvent]] feature and the [StreamManagerEvent.streamAudioVolumeChange](/en/stable/api/openvidu-browser/classes/streammanagerevent.html) feature | ||
* - `forceMediaReconnectionAfterNetworkDrop`: always force WebRTC renegotiation of all the streams of a client after a network loss and reconnection. This can help reducing frozen videos in low quality networks. | ||
* | ||
* Call this method to override previous values at any moment. | ||
* Set OpenVidu advanced configuration options. `configuration` is an object of type [[OpenViduAdvancedConfiguration]]. Call this method to override previous values at any moment. | ||
*/ | ||
OpenVidu.prototype.setAdvancedConfiguration = function (configuration) { | ||
this.advancedConfiguration = configuration; | ||
|
@@ -158686,16 +158684,39 @@ var OpenVidu = /** @class */ (function () { | |
logger.warn('Websocket reconnected'); | ||
if (this.isRoomAvailable()) { | ||
if (!!this.session.connection) { | ||
// This RPC method allows checking if the WebSocket reconnected to a session where | ||
// the user is still a participant, or the session evicted the user | ||
this.sendRequest('connect', { sessionId: this.session.connection.rpcSessionId }, function (error, response) { | ||
if (!!error) { | ||
if (_this.isMasterNodeCrashed()) { | ||
logger.warn('Master Node has crashed!'); | ||
} | ||
else { | ||
logger.error(error); | ||
logger.warn('Websocket was able to reconnect to OpenVidu Server, but your Connection was already destroyed due to timeout. You are no longer a participant of the Session and your media streams have been destroyed'); | ||
_this.session.onLostConnection("networkDisconnect"); | ||
_this.jsonRpcClient.close(4101, "Reconnection fault"); | ||
var notifyNetworkDisconnection_1 = function (error) { | ||
logger.warn('Websocket was able to reconnect to OpenVidu Server, but your Connection was already destroyed due to timeout. You are no longer a participant of the Session and your media streams have been destroyed'); | ||
_this.session.onLostConnection("networkDisconnect"); | ||
_this.jsonRpcClient.close(4101, "Reconnection fault"); | ||
}; | ||
if (_this.life === -1) { | ||
notifyNetworkDisconnection_1(error); | ||
} | ||
else { | ||
// This RPC method is only required to find out the reason of the disconnection: | ||
// whether the client lost its network connection or a Master Node crashed | ||
_this.sendRequest('sessionStatus', { sessionId: _this.session.sessionId }, function (error, response) { | ||
if (_this.life === response.life) { | ||
// If the life stored in the client matches the life stored in the server, it means that the client lost its network connection | ||
notifyNetworkDisconnection_1(error); | ||
} | ||
else { | ||
// If the life stored in the client is below the life stored in the server, it means that the Master Node has crashed | ||
logger.warn('Websocket was able to reconnect to OpenVidu Server, but your Master Node crashed.'); | ||
_this.session.onLostConnection("nodeCrashed"); | ||
_this.jsonRpcClient.close(4101, "Reconnection fault"); | ||
} | ||
}); | ||
} | ||
} | ||
} | ||
else { | ||
|
@@ -160956,6 +160977,9 @@ var Session = /** @class */ (function (_super) { | |
forceDisconnect: this.openvidu.role === 'MODERATOR' | ||
}; | ||
logger.info("openvidu-server version: " + opts.version); | ||
if (opts.life != null) { | ||
this.openvidu.life = opts.life; | ||
} | ||
if (opts.version !== this.openvidu.libraryVersion) { | ||
logger.warn('OpenVidu Server (' + opts.version + | ||
') and OpenVidu Browser (' + this.openvidu.libraryVersion + | ||
|
@@ -164743,6 +164767,9 @@ function WebSocketWithReconnection(config) { | |
closing = true; | ||
ws.close(); | ||
}; | ||
this.forceClose = function () { | ||
ws.close(); | ||
}; | ||
this.reconnectWs = function () { | ||
Logger.debug("reconnectWs"); | ||
reconnect(MAX_RETRIES, 1); | ||
|
@@ -166518,7 +166545,7 @@ var WebRtcPeer = /** @class */ (function () { | |
.catch(function (error) { return reject(error); }); | ||
return [3 /*break*/, 8]; | ||
case 7: | ||
logger.error("[createOffer] Method RTCPeerConnection.addTransceiver() is NOT available; using LEGACY offerToReceive{Audio,Video}"); | ||
logger.warn("[createOffer] Method RTCPeerConnection.addTransceiver() is NOT available; using LEGACY offerToReceive{Audio,Video}"); | ||
// DEPRECATED LEGACY METHOD: Old WebRTC versions don't implement | ||
// Transceivers, and instead depend on the deprecated | ||
// "offerToReceiveAudio" and "offerToReceiveVideo". | ||
|
@@ -167169,29 +167196,31 @@ var WebRtcStats = /** @class */ (function () { | |
var _this = this; | ||
return __generator(this, function (_a) { | ||
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () { | ||
var statsReport, response, videoTrackStats, candidatePairStats; | ||
var statsReport, response_1, videoTrackStats_1, candidatePairStats_1, error_3; | ||
var _this = this; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, this.stream.getRTCPeerConnection().getStats()]; | ||
case 0: | ||
_a.trys.push([0, 2, , 3]); | ||
return [4 /*yield*/, this.stream.getRTCPeerConnection().getStats()]; | ||
case 1: | ||
statsReport = _a.sent(); | ||
response = this.getWebRtcStatsResponseOutline(); | ||
videoTrackStats = ['framesReceived', 'framesDropped', 'framesSent', 'frameHeight', 'frameWidth']; | ||
candidatePairStats = ['availableOutgoingBitrate', 'currentRoundTripTime']; | ||
response_1 = this.getWebRtcStatsResponseOutline(); | ||
videoTrackStats_1 = ['framesReceived', 'framesDropped', 'framesSent', 'frameHeight', 'frameWidth']; | ||
candidatePairStats_1 = ['availableOutgoingBitrate', 'currentRoundTripTime']; | ||
statsReport.forEach(function (stat) { | ||
var mediaType = stat.mediaType != null ? stat.mediaType : stat.kind; | ||
var addStat = function (direction, key) { | ||
if (stat[key] != null && response[direction] != null) { | ||
if (!mediaType && (videoTrackStats.indexOf(key) > -1)) { | ||
if (stat[key] != null && response_1[direction] != null) { | ||
if (!mediaType && (videoTrackStats_1.indexOf(key) > -1)) { | ||
mediaType = 'video'; | ||
} | ||
if (direction != null && mediaType != null && key != null && response[direction][mediaType] != null) { | ||
response[direction][mediaType][key] = Number(stat[key]); | ||
if (direction != null && mediaType != null && key != null && response_1[direction][mediaType] != null) { | ||
response_1[direction][mediaType][key] = Number(stat[key]); | ||
} | ||
else if (direction != null && key != null && candidatePairStats.includes(key)) { | ||
else if (direction != null && key != null && candidatePairStats_1.includes(key)) { | ||
// candidate-pair-stats | ||
response[direction][key] = Number(stat[key]); | ||
response_1[direction][key] = Number(stat[key]); | ||
} | ||
} | ||
}; | ||
|
@@ -167230,10 +167259,15 @@ var WebRtcStats = /** @class */ (function () { | |
} | ||
}); | ||
// Delete candidatepair from response if null | ||
if (!(response === null || response === void 0 ? void 0 : response.candidatepair) || Object.keys(response.candidatepair).length === 0) { | ||
delete response.candidatepair; | ||
if (!(response_1 === null || response_1 === void 0 ? void 0 : response_1.candidatepair) || Object.keys(response_1.candidatepair).length === 0) { | ||
delete response_1.candidatepair; | ||
} | ||
return [2 /*return*/, resolve(response)]; | ||
return [2 /*return*/, resolve(response_1)]; | ||
case 2: | ||
error_3 = _a.sent(); | ||
logger.error('Error getting common stats: ', error_3); | ||
return [2 /*return*/, reject(error_3)]; | ||
case 3: return [2 /*return*/]; | ||
} | ||
}); | ||
}); })]; | ||
|
@@ -168195,7 +168229,7 @@ function version(uuid) { | |
/*! exports provided: _from, _id, _inBundle, _integrity, _location, _phantomChildren, _requested, _requiredBy, _resolved, _shasum, _spec, _where, author, bugs, bundleDependencies, dependencies, deprecated, description, devDependencies, homepage, license, main, name, repository, scripts, types, version, default */ | ||
/***/ (function(module) { | ||
|
||
module.exports = {"_from":"[email protected]","_id":"[email protected]","_inBundle":false,"_integrity":"sha512-Viqe42+dfQUjHMomPz7Or39yJAUlqSwMy8xkz7a5HAhca7Szo8/89aA97Y1uFRowfu/BS8zgYFY0c6PnKGoAnA==","_location":"/openvidu-browser","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"[email protected]","name":"openvidu-browser","escapedName":"openvidu-browser","rawSpec":"2.19.0","saveSpec":null,"fetchSpec":"2.19.0"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/openvidu-browser/-/openvidu-browser-2.19.0.tgz","_shasum":"fb988251180534d23de473622f938acdb00642f9","_spec":"[email protected]","_where":"/opt/src/angular/frontend","author":{"name":"OpenVidu"},"bugs":{"url":"https://github.com/OpenVidu/openvidu/issues"},"bundleDependencies":false,"dependencies":{"freeice":"2.2.2","hark":"1.2.3","jsnlog":"2.30.0","platform":"1.3.6","uuid":"8.3.2","wolfy87-eventemitter":"5.2.9"},"deprecated":false,"description":"OpenVidu Browser","devDependencies":{"@types/node":"15.12.2","@types/platform":"1.3.3","browserify":"17.0.0","grunt":"1.4.1","grunt-cli":"1.4.3","grunt-contrib-copy":"1.0.0","grunt-contrib-sass":"2.0.0","grunt-contrib-uglify":"5.0.1","grunt-contrib-watch":"1.1.0","grunt-postcss":"0.9.0","grunt-string-replace":"1.3.1","grunt-ts":"6.0.0-beta.22","terser":"5.7.0","tsify":"5.0.4","tslint":"6.1.3","typedoc":"0.19.2","typescript":"4.0.7"},"homepage":"https://github.com/OpenVidu/openvidu#readme","license":"Apache-2.0","main":"lib/index.js","name":"openvidu-browser","repository":{"type":"git","url":"git://github.com/OpenVidu/openvidu.git"},"scripts":{"browserify":"VERSION=${VERSION:-dev}; mkdir -p static/js/ && cd src && ../node_modules/browserify/bin/cmd.js Main.ts -p [ tsify ] --exclude kurento-browser-extensions --debug -o ../static/js/openvidu-browser-$VERSION.js -v","browserify-prod":"VERSION=${VERSION:-dev}; mkdir -p static/js/ && cd src && ../node_modules/browserify/bin/cmd.js --debug Main.ts -p [ tsify ] --exclude kurento-browser-extensions | ../node_modules/terser/bin/terser --source-map content=inline --output ../static/js/openvidu-browser-$VERSION.min.js","build":"cd src/OpenVidu && ./../../node_modules/typescript/bin/tsc && cd ../.. && ./node_modules/typescript/bin/tsc --declaration src/index.ts --outDir ./lib --sourceMap --target es5 --lib dom,es5,es2015.promise,scripthost","docs":"./generate-docs.sh"},"types":"lib/index.d.ts","version":"2.19.0"}; | ||
module.exports = {"_from":"[email protected]","_id":"[email protected]","_inBundle":false,"_integrity":"sha512-ZlCF2B91Mix/z6NsmarLZomaycyadY8I3giV0NRMo5vWfhKcGLREKPCX979G+UJQxn7qGiq31/2dJ29bpf7hBg==","_location":"/openvidu-browser","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"[email protected]","name":"openvidu-browser","escapedName":"openvidu-browser","rawSpec":"2.20.0","saveSpec":null,"fetchSpec":"2.20.0"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/openvidu-browser/-/openvidu-browser-2.20.0.tgz","_shasum":"21767bb2ac995e311f69b15744af25657de5bccf","_spec":"[email protected]","_where":"/opt/src/angular/frontend","author":{"name":"OpenVidu"},"bugs":{"url":"https://github.com/OpenVidu/openvidu/issues"},"bundleDependencies":false,"dependencies":{"freeice":"2.2.2","hark":"1.2.3","jsnlog":"2.30.0","platform":"1.3.6","uuid":"8.3.2","wolfy87-eventemitter":"5.2.9"},"deprecated":false,"description":"OpenVidu Browser","devDependencies":{"@types/node":"15.12.2","@types/platform":"1.3.3","browserify":"17.0.0","grunt":"1.4.1","grunt-cli":"1.4.3","grunt-contrib-copy":"1.0.0","grunt-contrib-sass":"2.0.0","grunt-contrib-uglify":"5.0.1","grunt-contrib-watch":"1.1.0","grunt-postcss":"0.9.0","grunt-string-replace":"1.3.1","grunt-ts":"6.0.0-beta.22","terser":"5.7.0","tsify":"5.0.4","tslint":"6.1.3","typedoc":"0.19.2","typescript":"4.0.7"},"homepage":"https://github.com/OpenVidu/openvidu#readme","license":"Apache-2.0","main":"lib/index.js","name":"openvidu-browser","repository":{"type":"git","url":"git://github.com/OpenVidu/openvidu.git"},"scripts":{"browserify":"VERSION=${VERSION:-dev}; mkdir -p static/js/ && cd src && ../node_modules/browserify/bin/cmd.js Main.ts -p [ tsify ] --exclude kurento-browser-extensions --debug -o ../static/js/openvidu-browser-$VERSION.js -v","browserify-prod":"VERSION=${VERSION:-dev}; mkdir -p static/js/ && cd src && ../node_modules/browserify/bin/cmd.js --debug Main.ts -p [ tsify ] --exclude kurento-browser-extensions | ../node_modules/terser/bin/terser --source-map content=inline --output ../static/js/openvidu-browser-$VERSION.min.js","build":"cd src/OpenVidu && ./../../node_modules/typescript/bin/tsc && cd ../.. && ./node_modules/typescript/bin/tsc --declaration src/index.ts --outDir ./lib --sourceMap --target es5 --lib dom,es5,es2015.promise,scripthost","docs":"./generate-docs.sh"},"types":"lib/index.d.ts","version":"2.20.0"}; | ||
|
||
/***/ }), | ||
|
||
|
Large diffs are not rendered by default.
Oops, something went wrong.