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
<button [class]="testStatus == 'DISCONNECTED' ? 'blue' : (testStatus == 'PLAYING' ? 'yellow' : 'disabled')" md-raised-button
(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 *ngIf="showSpinner" id="loader">
<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', {
audio: true,
video: true,
audioActive: true,
videoActive: true,
quality: 'MEDIUM'
});

View File

@ -76,7 +76,7 @@ public class NotificationRoomManager {
* when responding back to the client)
* @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) {
Set<UserParticipant> existingParticipants = 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],{
/***/ 13:
/***/ (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:
/***/ 122:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(225);
var content = __webpack_require__(187);
if(typeof content === 'string') content = [[module.i, content, '']];
// 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;
// Hot Module Replacement
if(false) {
@ -55,10 +27,10 @@ if(false) {
/***/ }),
/***/ 224:
/***/ 186:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(30)(false);
exports = module.exports = __webpack_require__(21)(false);
// 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__) {
exports = module.exports = __webpack_require__(30)(false);
exports = module.exports = __webpack_require__(21)(false);
// imports
exports.i(__webpack_require__(224), "");
exports.i(__webpack_require__(186), "");
// 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}", ""]);
@ -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__) {
/* WEBPACK VAR INJECTION */(function(Buffer) {/*
@ -164,11 +136,11 @@ function toComment(sourceMap) {
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) {
/*
@ -421,15 +393,15 @@ function updateLink(linkElement, obj) {
/***/ }),
/***/ 329:
/***/ 293:
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(146);
module.exports = __webpack_require__(122);
/***/ }),
/***/ 56:
/***/ 44:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -551,7 +523,7 @@ function fromByteArray (uint8) {
/***/ }),
/***/ 57:
/***/ 45:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@ -565,9 +537,9 @@ function fromByteArray (uint8) {
var base64 = __webpack_require__(56)
var ieee754 = __webpack_require__(74)
var isArray = __webpack_require__(75)
var base64 = __webpack_require__(44)
var ieee754 = __webpack_require__(61)
var isArray = __webpack_require__(62)
exports.Buffer = Buffer
exports.SlowBuffer = SlowBuffer
@ -2345,11 +2317,11 @@ function isnan (val) {
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) {
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) {
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

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