Backend 'joinRoom' synchronized as quick fix for race condition

pull/20/head
pabloFuente 2017-10-02 10:48:47 +02:00
parent 26561af9a2
commit bfe8e61738
12 changed files with 11296 additions and 11177 deletions

View File

@ -23,7 +23,7 @@
<md-card-title>Test the connection <md-card-title>Test the connection
<button [class]="testStatus == 'DISCONNECTED' ? 'blue' : (testStatus == 'PLAYING' ? 'yellow' : 'disabled')" md-raised-button <button [class]="testStatus == 'DISCONNECTED' ? 'blue' : (testStatus == 'PLAYING' ? 'yellow' : 'disabled')" md-raised-button
(click)="toggleTestVideo()" [disabled]="testStatus==='CONNECTING' || testStatus==='CONNECTED'">{{testButton}}</button></md-card-title> (click)="toggleTestVideo()" [disabled]="testStatus==='CONNECTING' || testStatus==='CONNECTED'">{{testButton}}</button></md-card-title>
<md-card-content #scrollMe id="log-content"> <md-card-content>
<div id="mirrored-video"> <div id="mirrored-video">
<div *ngIf="showSpinner" id="loader"> <div *ngIf="showSpinner" id="loader">
<div class="loader-1 center"><span></span></div> <div class="loader-1 center"><span></span></div>

View File

@ -95,6 +95,8 @@ export class DashboardComponent implements OnInit, OnDestroy {
const publisherRemote = OV.initPublisher('mirrored-video', { const publisherRemote = OV.initPublisher('mirrored-video', {
audio: true, audio: true,
video: true, video: true,
audioActive: true,
videoActive: true,
quality: 'MEDIUM' quality: 'MEDIUM'
}); });

View File

@ -76,7 +76,7 @@ public class NotificationRoomManager {
* when responding back to the client) * when responding back to the client)
* @see RoomManager#joinRoom(String, String, boolean, boolean, KurentoClientSessionInfo, String) * @see RoomManager#joinRoom(String, String, boolean, boolean, KurentoClientSessionInfo, String)
*/ */
public void joinRoom(String userName, String roomId, boolean dataChannels, public synchronized void joinRoom(String userName, String roomId, boolean dataChannels,
boolean webParticipant, ParticipantRequest request) { boolean webParticipant, ParticipantRequest request) {
Set<UserParticipant> existingParticipants = null; Set<UserParticipant> existingParticipants = null;
UserParticipant newParticipant = null; UserParticipant newParticipant = null;

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,43 +1,15 @@
webpackJsonp([2,4],{ webpackJsonp([2,4],{
/***/ 13: /***/ 122:
/***/ (function(module, exports) {
var g;
// This works in non-strict mode
g = (function() {
return this;
})();
try {
// This works if eval is allowed (see CSP)
g = g || Function("return this")() || (1,eval)("this");
} catch(e) {
// This works if the window reference is available
if(typeof window === "object")
g = window;
}
// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
module.exports = g;
/***/ }),
/***/ 146:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag // style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles // load the styles
var content = __webpack_require__(225); var content = __webpack_require__(187);
if(typeof content === 'string') content = [[module.i, content, '']]; if(typeof content === 'string') content = [[module.i, content, '']];
// add the styles to the DOM // add the styles to the DOM
var update = __webpack_require__(311)(content, {}); var update = __webpack_require__(274)(content, {});
if(content.locals) module.exports = content.locals; if(content.locals) module.exports = content.locals;
// Hot Module Replacement // Hot Module Replacement
if(false) { if(false) {
@ -55,10 +27,10 @@ if(false) {
/***/ }), /***/ }),
/***/ 224: /***/ 186:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(30)(false); exports = module.exports = __webpack_require__(21)(false);
// imports // imports
@ -70,12 +42,12 @@ exports.push([module.i, ".mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0
/***/ }), /***/ }),
/***/ 225: /***/ 187:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(30)(false); exports = module.exports = __webpack_require__(21)(false);
// imports // imports
exports.i(__webpack_require__(224), ""); exports.i(__webpack_require__(186), "");
// module // module
exports.push([module.i, "html,\nbody {\n height: 100%;\n margin: 0;\n padding: 0;\n background: #4d4d4d;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0.05);\n}\n\nmain {\n height: 100%;\n}\n\nli {\n list-style: none;\n}\n\nvideo {\n width: 100%;\n}\n\n.mat-spinner path {\n stroke: #4d4d4d;\n}", ""]); exports.push([module.i, "html,\nbody {\n height: 100%;\n margin: 0;\n padding: 0;\n background: #4d4d4d;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0.05);\n}\n\nmain {\n height: 100%;\n}\n\nli {\n list-style: none;\n}\n\nvideo {\n width: 100%;\n}\n\n.mat-spinner path {\n stroke: #4d4d4d;\n}", ""]);
@ -85,7 +57,7 @@ exports.push([module.i, "html,\nbody {\n height: 100%;\n margin: 0;\n padding
/***/ }), /***/ }),
/***/ 30: /***/ 21:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(Buffer) {/* /* WEBPACK VAR INJECTION */(function(Buffer) {/*
@ -164,11 +136,11 @@ function toComment(sourceMap) {
return '/*# ' + data + ' */'; return '/*# ' + data + ' */';
} }
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(57).Buffer)) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(45).Buffer))
/***/ }), /***/ }),
/***/ 311: /***/ 274:
/***/ (function(module, exports) { /***/ (function(module, exports) {
/* /*
@ -421,15 +393,15 @@ function updateLink(linkElement, obj) {
/***/ }), /***/ }),
/***/ 329: /***/ 293:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(146); module.exports = __webpack_require__(122);
/***/ }), /***/ }),
/***/ 56: /***/ 44:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
@ -551,7 +523,7 @@ function fromByteArray (uint8) {
/***/ }), /***/ }),
/***/ 57: /***/ 45:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
@ -565,9 +537,9 @@ function fromByteArray (uint8) {
var base64 = __webpack_require__(56) var base64 = __webpack_require__(44)
var ieee754 = __webpack_require__(74) var ieee754 = __webpack_require__(61)
var isArray = __webpack_require__(75) var isArray = __webpack_require__(62)
exports.Buffer = Buffer exports.Buffer = Buffer
exports.SlowBuffer = SlowBuffer exports.SlowBuffer = SlowBuffer
@ -2345,11 +2317,11 @@ function isnan (val) {
return val !== val // eslint-disable-line no-self-compare return val !== val // eslint-disable-line no-self-compare
} }
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13))) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(9)))
/***/ }), /***/ }),
/***/ 74: /***/ 61:
/***/ (function(module, exports) { /***/ (function(module, exports) {
exports.read = function (buffer, offset, isLE, mLen, nBytes) { exports.read = function (buffer, offset, isLE, mLen, nBytes) {
@ -2440,7 +2412,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
/***/ }), /***/ }),
/***/ 75: /***/ 62:
/***/ (function(module, exports) { /***/ (function(module, exports) {
var toString = {}.toString; var toString = {}.toString;
@ -2450,7 +2422,35 @@ module.exports = Array.isArray || function (arr) {
}; };
/***/ }),
/***/ 9:
/***/ (function(module, exports) {
var g;
// This works in non-strict mode
g = (function() {
return this;
})();
try {
// This works if eval is allowed (see CSP)
g = g || Function("return this")() || (1,eval)("this");
} catch(e) {
// This works if the window reference is available
if(typeof window === "object")
g = window;
}
// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}
module.exports = g;
/***/ }) /***/ })
},[329]); },[293]);
//# sourceMappingURL=styles.bundle.js.map //# sourceMappingURL=styles.bundle.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long