Compare commits

..

No commits in common. "master" and "develop" have entirely different histories.

20 changed files with 69 additions and 4708 deletions

129
package-lock.json generated Executable file → Normal file
View File

@ -9,7 +9,7 @@
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
"integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
"requires": { "requires": {
"mime-types": "~2.1.6", "mime-types": "2.1.18",
"negotiator": "0.5.3" "negotiator": "0.5.3"
} }
}, },
@ -33,7 +33,7 @@
"resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz", "resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz",
"integrity": "sha1-twnMAoCpw28J9FNr6CPIOKkEniU=", "integrity": "sha1-twnMAoCpw28J9FNr6CPIOKkEniU=",
"requires": { "requires": {
"lodash": "^4.8.0" "lodash": "4.17.10"
} }
}, },
"backo2": { "backo2": {
@ -85,8 +85,8 @@
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-1.2.1.tgz", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-1.2.1.tgz",
"integrity": "sha1-N75dNuHgZJIiHmjUdLGsWOUQy9c=", "integrity": "sha1-N75dNuHgZJIiHmjUdLGsWOUQy9c=",
"requires": { "requires": {
"bindings": "1.2.x", "bindings": "1.2.1",
"nan": "^2.0.5" "nan": "2.10.0"
} }
}, },
"callsite": { "callsite": {
@ -172,7 +172,7 @@
"cookie": "0.3.1", "cookie": "0.3.1",
"debug": "2.3.3", "debug": "2.3.3",
"engine.io-parser": "1.3.2", "engine.io-parser": "1.3.2",
"ws": "~1.1.5" "ws": "1.1.5"
}, },
"dependencies": { "dependencies": {
"accepts": { "accepts": {
@ -180,7 +180,7 @@
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
"integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
"requires": { "requires": {
"mime-types": "~2.1.11", "mime-types": "2.1.18",
"negotiator": "0.6.1" "negotiator": "0.6.1"
} }
}, },
@ -223,7 +223,7 @@
"parsejson": "0.0.3", "parsejson": "0.0.3",
"parseqs": "0.0.5", "parseqs": "0.0.5",
"parseuri": "0.0.5", "parseuri": "0.0.5",
"ws": "~1.1.5", "ws": "1.1.5",
"xmlhttprequest-ssl": "1.5.3", "xmlhttprequest-ssl": "1.5.3",
"yeast": "0.1.2" "yeast": "0.1.2"
}, },
@ -289,30 +289,30 @@
"resolved": "https://registry.npmjs.org/express/-/express-4.12.4.tgz", "resolved": "https://registry.npmjs.org/express/-/express-4.12.4.tgz",
"integrity": "sha1-j+wlECVbxrLlgQfEgjnA+jB8GqI=", "integrity": "sha1-j+wlECVbxrLlgQfEgjnA+jB8GqI=",
"requires": { "requires": {
"accepts": "~1.2.7", "accepts": "1.2.13",
"content-disposition": "0.5.0", "content-disposition": "0.5.0",
"content-type": "~1.0.1", "content-type": "1.0.4",
"cookie": "0.1.2", "cookie": "0.1.2",
"cookie-signature": "1.0.6", "cookie-signature": "1.0.6",
"debug": "~2.2.0", "debug": "2.2.0",
"depd": "~1.0.1", "depd": "1.0.1",
"escape-html": "1.0.1", "escape-html": "1.0.1",
"etag": "~1.6.0", "etag": "1.6.0",
"finalhandler": "0.3.6", "finalhandler": "0.3.6",
"fresh": "0.2.4", "fresh": "0.2.4",
"merge-descriptors": "1.0.0", "merge-descriptors": "1.0.0",
"methods": "~1.1.1", "methods": "1.1.2",
"on-finished": "~2.2.1", "on-finished": "2.2.1",
"parseurl": "~1.3.0", "parseurl": "1.3.2",
"path-to-regexp": "0.1.3", "path-to-regexp": "0.1.3",
"proxy-addr": "~1.0.8", "proxy-addr": "1.0.10",
"qs": "2.4.2", "qs": "2.4.2",
"range-parser": "~1.0.2", "range-parser": "1.0.3",
"send": "0.12.3", "send": "0.12.3",
"serve-static": "~1.9.3", "serve-static": "1.9.3",
"type-is": "~1.6.2", "type-is": "1.6.16",
"utils-merge": "1.0.0", "utils-merge": "1.0.0",
"vary": "~1.0.0" "vary": "1.0.1"
} }
}, },
"extend": { "extend": {
@ -325,9 +325,9 @@
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.3.6.tgz", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.3.6.tgz",
"integrity": "sha1-2vnEFhsbBuABRmsUEd/baXO+E4s=", "integrity": "sha1-2vnEFhsbBuABRmsUEd/baXO+E4s=",
"requires": { "requires": {
"debug": "~2.2.0", "debug": "2.2.0",
"escape-html": "1.0.1", "escape-html": "1.0.1",
"on-finished": "~2.2.1" "on-finished": "2.2.1"
} }
}, },
"forwarded": { "forwarded": {
@ -385,43 +385,38 @@
}, },
"kurento-client": { "kurento-client": {
"version": "github:Kurento/kurento-client-js#efb160e85a4b1f376307fe1979c9fbcb5f978393", "version": "github:Kurento/kurento-client-js#efb160e85a4b1f376307fe1979c9fbcb5f978393",
"from": "kurento-client@github:Kurento/kurento-client-js#efb160e85a4b1f376307fe1979c9fbcb5f978393",
"requires": { "requires": {
"async": "~2.0.1", "async": "2.0.1",
"error-tojson": "0.0.1", "error-tojson": "0.0.1",
"es6-promise": "^4.0.5", "es6-promise": "4.2.4",
"extend": "^3.0.0", "extend": "3.0.1",
"inherits": "~2.0.3", "inherits": "2.0.3",
"kurento-client-core": "github:Kurento/kurento-client-core-js#2160f8e6938f138b52b72a5c5c354d1e5fce1ca0", "kurento-client-core": "github:Kurento/kurento-client-core-js#2160f8e6938f138b52b72a5c5c354d1e5fce1ca0",
"kurento-client-elements": "github:Kurento/kurento-client-elements-js#cbd1ff67fbf0faddc9f6f266bb33e449bc9e1f81", "kurento-client-elements": "github:Kurento/kurento-client-elements-js#cbd1ff67fbf0faddc9f6f266bb33e449bc9e1f81",
"kurento-client-filters": "github:Kurento/kurento-client-filters-js#51308da53e432a2db9559dcdb308d87951417bf0", "kurento-client-filters": "github:Kurento/kurento-client-filters-js#51308da53e432a2db9559dcdb308d87951417bf0",
"kurento-jsonrpc": "github:Kurento/kurento-jsonrpc-js#7d07108feb18dae90b4d08567afd28db0b2138a6", "kurento-jsonrpc": "github:Kurento/kurento-jsonrpc-js#7d07108feb18dae90b4d08567afd28db0b2138a6",
"minimist": "^1.2.0", "minimist": "1.2.0",
"promise": "7.1.1", "promise": "7.1.1",
"promisecallback": "0.0.4", "promisecallback": "0.0.4",
"reconnect-ws": "github:KurentoForks/reconnect-ws#f287385d75861654528c352e60221f95c9209f8a" "reconnect-ws": "github:KurentoForks/reconnect-ws#f287385d75861654528c352e60221f95c9209f8a"
} }
}, },
"kurento-client-core": { "kurento-client-core": {
"version": "github:Kurento/kurento-client-core-js#2160f8e6938f138b52b72a5c5c354d1e5fce1ca0", "version": "github:Kurento/kurento-client-core-js#2160f8e6938f138b52b72a5c5c354d1e5fce1ca0"
"from": "kurento-client-core@github:Kurento/kurento-client-core-js#2160f8e6938f138b52b72a5c5c354d1e5fce1ca0"
}, },
"kurento-client-elements": { "kurento-client-elements": {
"version": "github:Kurento/kurento-client-elements-js#cbd1ff67fbf0faddc9f6f266bb33e449bc9e1f81", "version": "github:Kurento/kurento-client-elements-js#cbd1ff67fbf0faddc9f6f266bb33e449bc9e1f81"
"from": "kurento-client-elements@github:Kurento/kurento-client-elements-js#cbd1ff67fbf0faddc9f6f266bb33e449bc9e1f81"
}, },
"kurento-client-filters": { "kurento-client-filters": {
"version": "github:Kurento/kurento-client-filters-js#51308da53e432a2db9559dcdb308d87951417bf0", "version": "github:Kurento/kurento-client-filters-js#51308da53e432a2db9559dcdb308d87951417bf0"
"from": "kurento-client-filters@github:Kurento/kurento-client-filters-js#51308da53e432a2db9559dcdb308d87951417bf0"
}, },
"kurento-jsonrpc": { "kurento-jsonrpc": {
"version": "github:Kurento/kurento-jsonrpc-js#7d07108feb18dae90b4d08567afd28db0b2138a6", "version": "github:Kurento/kurento-jsonrpc-js#7d07108feb18dae90b4d08567afd28db0b2138a6",
"from": "kurento-jsonrpc@github:Kurento/kurento-jsonrpc-js#7d07108feb18dae90b4d08567afd28db0b2138a6",
"requires": { "requires": {
"bufferutil": "1.2.x", "bufferutil": "1.2.1",
"inherits": "^2.0.1", "inherits": "2.0.3",
"utf-8-validate": "1.2.x", "utf-8-validate": "1.2.2",
"ws": "^1.1.1" "ws": "1.1.5"
} }
}, },
"lodash": { "lodash": {
@ -459,7 +454,7 @@
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"requires": { "requires": {
"mime-db": "~1.33.0" "mime-db": "1.33.0"
} }
}, },
"minimist": { "minimist": {
@ -510,7 +505,7 @@
"resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
"integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
"requires": { "requires": {
"better-assert": "~1.0.0" "better-assert": "1.0.2"
} }
}, },
"parseqs": { "parseqs": {
@ -518,7 +513,7 @@
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
"requires": { "requires": {
"better-assert": "~1.0.0" "better-assert": "1.0.2"
} }
}, },
"parseuri": { "parseuri": {
@ -526,7 +521,7 @@
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
"requires": { "requires": {
"better-assert": "~1.0.0" "better-assert": "1.0.2"
} }
}, },
"parseurl": { "parseurl": {
@ -544,7 +539,7 @@
"resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz", "resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
"integrity": "sha1-SJZUxpJha4qlWwck+oCbt9tJxb8=", "integrity": "sha1-SJZUxpJha4qlWwck+oCbt9tJxb8=",
"requires": { "requires": {
"asap": "~2.0.3" "asap": "2.0.6"
} }
}, },
"promisecallback": { "promisecallback": {
@ -557,7 +552,7 @@
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz",
"integrity": "sha1-DUCoL4Afw1VWfS7LZe/j8HfxIcU=", "integrity": "sha1-DUCoL4Afw1VWfS7LZe/j8HfxIcU=",
"requires": { "requires": {
"forwarded": "~0.1.0", "forwarded": "0.1.2",
"ipaddr.js": "1.0.5" "ipaddr.js": "1.0.5"
} }
}, },
@ -573,17 +568,15 @@
}, },
"reconnect-core": { "reconnect-core": {
"version": "github:KurentoForks/reconnect-core#921d43e91578abb2fb2613f585c010c1939cf734", "version": "github:KurentoForks/reconnect-core#921d43e91578abb2fb2613f585c010c1939cf734",
"from": "reconnect-core@github:KurentoForks/reconnect-core#921d43e91578abb2fb2613f585c010c1939cf734",
"requires": { "requires": {
"backoff": "~2.3.0" "backoff": "2.3.0"
} }
}, },
"reconnect-ws": { "reconnect-ws": {
"version": "github:KurentoForks/reconnect-ws#f287385d75861654528c352e60221f95c9209f8a", "version": "github:KurentoForks/reconnect-ws#f287385d75861654528c352e60221f95c9209f8a",
"from": "reconnect-ws@github:KurentoForks/reconnect-ws#f287385d75861654528c352e60221f95c9209f8a",
"requires": { "requires": {
"reconnect-core": "github:KurentoForks/reconnect-core#921d43e91578abb2fb2613f585c010c1939cf734", "reconnect-core": "github:KurentoForks/reconnect-core#921d43e91578abb2fb2613f585c010c1939cf734",
"websocket-stream": "~0.5.1" "websocket-stream": "0.5.1"
} }
}, },
"send": { "send": {
@ -591,16 +584,16 @@
"resolved": "https://registry.npmjs.org/send/-/send-0.12.3.tgz", "resolved": "https://registry.npmjs.org/send/-/send-0.12.3.tgz",
"integrity": "sha1-zRLcWP3iHk+RkCs5sv2gWnptm9w=", "integrity": "sha1-zRLcWP3iHk+RkCs5sv2gWnptm9w=",
"requires": { "requires": {
"debug": "~2.2.0", "debug": "2.2.0",
"depd": "~1.0.1", "depd": "1.0.1",
"destroy": "1.0.3", "destroy": "1.0.3",
"escape-html": "1.0.1", "escape-html": "1.0.1",
"etag": "~1.6.0", "etag": "1.6.0",
"fresh": "0.2.4", "fresh": "0.2.4",
"mime": "1.3.4", "mime": "1.3.4",
"ms": "0.7.1", "ms": "0.7.1",
"on-finished": "~2.2.1", "on-finished": "2.2.1",
"range-parser": "~1.0.2" "range-parser": "1.0.3"
} }
}, },
"serve-static": { "serve-static": {
@ -609,7 +602,7 @@
"integrity": "sha1-X42gcyOtOF/z3FQfGnkXsuQ261c=", "integrity": "sha1-X42gcyOtOF/z3FQfGnkXsuQ261c=",
"requires": { "requires": {
"escape-html": "1.0.1", "escape-html": "1.0.1",
"parseurl": "~1.3.0", "parseurl": "1.3.2",
"send": "0.12.3", "send": "0.12.3",
"utils-merge": "1.0.0" "utils-merge": "1.0.0"
} }
@ -620,7 +613,7 @@
"integrity": "sha1-L37O3DORvy1cc+KR/iM+bjTU3QA=", "integrity": "sha1-L37O3DORvy1cc+KR/iM+bjTU3QA=",
"requires": { "requires": {
"debug": "2.3.3", "debug": "2.3.3",
"engine.io": "~1.8.4", "engine.io": "1.8.5",
"has-binary": "0.1.7", "has-binary": "0.1.7",
"object-assign": "4.1.0", "object-assign": "4.1.0",
"socket.io-adapter": "0.5.0", "socket.io-adapter": "0.5.0",
@ -676,7 +669,7 @@
"component-bind": "1.0.0", "component-bind": "1.0.0",
"component-emitter": "1.2.1", "component-emitter": "1.2.1",
"debug": "2.3.3", "debug": "2.3.3",
"engine.io-client": "~1.8.4", "engine.io-client": "1.8.5",
"has-binary": "0.1.7", "has-binary": "0.1.7",
"indexof": "0.0.1", "indexof": "0.0.1",
"object-component": "0.0.3", "object-component": "0.0.3",
@ -737,7 +730,7 @@
"integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
"requires": { "requires": {
"media-typer": "0.3.0", "media-typer": "0.3.0",
"mime-types": "~2.1.18" "mime-types": "2.1.18"
} }
}, },
"ultron": { "ultron": {
@ -750,8 +743,8 @@
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-1.2.2.tgz", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-1.2.2.tgz",
"integrity": "sha1-i7hxpHQeCFxwSHynrNvX1tNgKes=", "integrity": "sha1-i7hxpHQeCFxwSHynrNvX1tNgKes=",
"requires": { "requires": {
"bindings": "~1.2.1", "bindings": "1.2.1",
"nan": "~2.4.0" "nan": "2.4.0"
}, },
"dependencies": { "dependencies": {
"nan": { "nan": {
@ -777,8 +770,8 @@
"integrity": "sha1-YizR8FZvuEzgpNb4VFJvPcTXDkg=", "integrity": "sha1-YizR8FZvuEzgpNb4VFJvPcTXDkg=",
"requires": { "requires": {
"isbuffer": "0.0.0", "isbuffer": "0.0.0",
"through": "~2.3.4", "through": "2.3.8",
"ws": "~0.4.30" "ws": "0.4.32"
}, },
"dependencies": { "dependencies": {
"nan": { "nan": {
@ -791,10 +784,10 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz",
"integrity": "sha1-eHphVEFPPJntg8V3IVOyD+sM7DI=", "integrity": "sha1-eHphVEFPPJntg8V3IVOyD+sM7DI=",
"requires": { "requires": {
"commander": "~2.1.0", "commander": "2.1.0",
"nan": "~1.0.0", "nan": "1.0.0",
"options": ">=0.0.5", "options": "0.0.6",
"tinycolor": "0.x" "tinycolor": "0.0.1"
} }
} }
} }
@ -804,8 +797,8 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
"requires": { "requires": {
"options": ">=0.0.5", "options": "0.0.6",
"ultron": "1.0.x" "ultron": "1.0.2"
} }
}, },
"wtf-8": { "wtf-8": {

View File

@ -131,8 +131,7 @@ function rejectPeerResponse(peerType, reason) {
* Socket pipeline * Socket pipeline
*/ */
io.on('connection', function(socket) { io.on('connection', function(socket) {
let sHeaders = socket.handshake.headers; console.log('Connection received with sessionId - ' + socket.id);
console.log('Connection received with sessionId - ' + socket.id + ' and ip - ' + sHeaders['x-forwarded-for']);
socket.on('error', function(error) { socket.on('error', function(error) {
console.error('Connection ' + socket.id + ' error', error); console.error('Connection ' + socket.id + ' error', error);

View File

@ -23,6 +23,7 @@
"bootstrap": "~3.3.0", "bootstrap": "~3.3.0",
"ekko-lightbox": "~3.3.0", "ekko-lightbox": "~3.3.0",
"demo-console": "1.5.1", "demo-console": "1.5.1",
"kurento-utils": "master",
"socket.io-client": "^1.4.5" "socket.io-client": "^1.4.5"
} }
} }

View File

@ -1,2 +0,0 @@
.dashboard{min-height:100vh;min-width:100%}.dashboard--elem{position:relative;border:1px dashed gainsboro;width:50%;float:left;height:50vh;background-image:url('../img/dragdrop.png');background-repeat:no-repeat;background-position:center center;background-size:100px 100px}.dashboard--elem iframe{border:none}.dashboard--elem.small{display:none}.dashboard--elem.small--panel{display:none}.dashboard--elem.fullscreen{display:block !important;height:100vh !important;width:100% !important}.dashboard--elem--panel{z-index:999;position:absolute;left:15px;top:15px;background-color:black;border-radius:15px;color:white;text-align:center;padding:10px}.dashboard--elem--panel span{cursor:pointer;margin-left:10px}.dashboard--elem--panel span:first-child{margin-left:0}
/*# sourceMappingURL=dashboard.css.map */

View File

@ -1 +0,0 @@
{"version":3,"sources":["dashboard.less"],"names":[],"mappings":"AAEA,WACI,iBACA,cAAA,CACA,iBACI,kBACA,4BACA,UACA,WACA,YACA,4CACA,4BACA,kCACA,2BAAA,CATJ,wBAYQ,WAAA,CAGJ,uBACI,YAAA,CACA,8BACI,YAAA,CAIR,4BACI,yBACA,wBACA,qBAAA,CAGJ,wBACI,YACA,kBACA,UACA,SACA,uBACA,mBACA,YACA,kBACA,YAAA,CATJ,6BAcQ,eACA,gBAAA,CAJA,yCACI,aAAA,CAAA","file":"to.css"}

View File

@ -1,53 +0,0 @@
//autoprefixer: true, sourceMap: true, compress: true
.dashboard {
min-height: 100vh;
min-width: 100%;
&--elem{
position: relative;
border: 1px dashed gainsboro;
width: 50%;
float: left;
height: 50vh;
background-image: url('../img/dragdrop.png');
background-repeat: no-repeat;
background-position: center center;
background-size: 100px 100px;
iframe {
border: none;
}
&.small {
display: none;
&--panel{
display: none;
}
}
&.fullscreen {
display: block!important;
height: 100vh!important;
width: 100%!important;
}
&--panel{
z-index: 999;
position: absolute;
left: 15px;
top: 15px;
background-color: black;
border-radius: 15px;
color:white;
text-align: center;
padding: 10px;
span{
&:first-child{
margin-left: 0px;
}
cursor: pointer;
margin-left: 10px;
}
}
}
}

View File

@ -1,25 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="0">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="css/dashboard.css">
<script src="js/dashboard.js"></script>
</head>
<body>
<div class="dashboard">
<div id="r1" ondragover="return false" ondragenter="return false" class="dashboard--elem"></div>
<div id="r2" ondragover="return false" ondragenter="return false" class="dashboard--elem"></div>
<div id="r3" ondragover="return false" ondragenter="return false" class="dashboard--elem"></div>
<div id="r4" ondragover="return false" ondragenter="return false" class="dashboard--elem"></div>
</div>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
static/img/kurento.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

BIN
static/img/naevatec.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
static/img/pipeline.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
static/img/urjc.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/img/webrtc.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -15,7 +15,7 @@
<script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script> <script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="bower_components/ekko-lightbox/dist/ekko-lightbox.min.js"></script> <script src="bower_components/ekko-lightbox/dist/ekko-lightbox.min.js"></script>
<script src="js/kurento-utils.js"></script> <script src="bower_components/kurento-utils/js/kurento-utils.js"></script>
<script src="bower_components/socket.io-client/dist/socket.io.js"></script> <script src="bower_components/socket.io-client/dist/socket.io.js"></script>
<script src="js/index.js"></script> <script src="js/index.js"></script>

View File

@ -1,111 +0,0 @@
$( document ).ready(() => {
var counter = 0;
let url_string = window.location.href;
let url = new URL(url_string);
let r = url.searchParams.get('r');
if(r){
init(r.split('|'));
}
function init(arr) {
let blocks = ['r4', 'r3', 'r2', 'r1'];
for(let i = 0; i< arr.length; i++){
if(blocks.length > 0 ){
let id = blocks.pop();
let panel = generatePanel(counter);
$( '#' + id ).append( panel + '<iframe src="https://gto.to/?r=' + arr[i] + '" width="100%" height="100%" align="center">\n' +
' Iframe is not supported\n' +
' </iframe>' );
bindEvents(counter);
counter++;
} else {
break;
}
}
}
function generatePanel(i) {
return '<div style="display: none;" class="dashboard--elem--panel">' +
'<span id="full' + i + '"><i class="glyphicon glyphicon-fullscreen"></i></span> ' +
'<span id="reload' + i +'"><i class="glyphicon glyphicon-repeat"></i></span>' +
'<span id="close' + i + '"><i class="glyphicon glyphicon-remove"></i></span> ' +
'</div>';
}
// add event listeners
function bindEvents(id) {
$( '#close' + id)[0].addEventListener('click', streamClose);
$( '#reload' + id)[0].addEventListener('click', streamReload);
$( '#full' + id)[0].addEventListener('click', streamFull);
}
// close frame with stream
function streamClose(e) {
e.preventDefault();
e.stopPropagation();
$(this)[0].removeEventListener('click', streamClose);
let parent = $(this).parent('.dashboard--elem--panel').parent('.dashboard--elem');
parent.empty();
if(parent.hasClass('fullscreen')){
parent.removeClass('fullscreen');
$('.dashboard--elem').removeClass('hide');
}
}
// reload stream
function streamReload(e) {
e.preventDefault();
e.stopPropagation();
let elem = $(this).parent('.dashboard--elem--panel').parent('.dashboard--elem');
let idStr = $(this).attr('id');
let id = parseInt(idStr.match(/(\d+)$/)[0]);
let html = elem.html();
elem.empty();
elem.html(html);
bindEvents(id);
}
function streamFull(e) {
e.preventDefault();
e.stopPropagation();
let parent = $(this).parent('.dashboard--elem--panel').parent('.dashboard--elem');
if(parent.hasClass('fullscreen')){
parent.removeClass('fullscreen');
$('.dashboard--elem').removeClass('hide');
} else {
$('.dashboard--elem').addClass('hide');
parent.addClass('fullscreen');
}
}
$('.dashboard--elem').on('drop', function (e) {
console.log('drop');
e.preventDefault();
let target = e.target;
let url = e.originalEvent.dataTransfer.getData('URL');
if(!url || url.indexOf('https://gto.to/?r=') === -1){
return false;
}
$(target).empty();
let panel = generatePanel(counter);
$( this ).append( panel + '<iframe src="' + url + '" width="100%" height="100%" align="center">\n' +
' Iframe is not supported\n' +
' </iframe>' );
bindEvents(counter);
counter++;
return false;
});
});

View File

@ -20,7 +20,6 @@ var socket;
var autoView = true; var autoView = true;
var room; var room;
var timerInterceptor = true;
function onError(msg){ function onError(msg){
console.log(msg); console.log(msg);
@ -33,6 +32,8 @@ $(function() {
let url = new URL(url_string); let url = new URL(url_string);
room = url.searchParams.get('r'); room = url.searchParams.get('r');
console.log(room);
socket = io('https://gto.to/'); socket = io('https://gto.to/');
$('#call').on('click', function(e) { presenter(); e.preventDefault(); } ); $('#call').on('click', function(e) { presenter(); e.preventDefault(); } );
@ -44,21 +45,10 @@ $(function() {
console.log('Connected to socket'); console.log('Connected to socket');
socket.emit('subscribeToStream', currentRoom()); socket.emit('subscribeToStream', currentRoom());
// Instant start stream
viewer();
setTimeout(() => {
if(timerInterceptor){
console.log('INTERCEPTOR');
document.location.reload(true);
} else {
console.log('timerInterceptor is false');
}
}, 3000);
}); });
socket.on('disconnect', function(data){ socket.on('disconnect', function(){
console.log('Disconnected from socket' + data); console.log('Disconnected from socket');
dispose(); dispose();
}); });
@ -67,7 +57,6 @@ $(function() {
}); });
socket.on('viewerResponse', function(data) { socket.on('viewerResponse', function(data) {
console.log('viewerResponse');
viewerResponse(data); viewerResponse(data);
}); });
@ -77,13 +66,10 @@ $(function() {
}); });
socket.on('iceCandidate', function(data) { socket.on('iceCandidate', function(data) {
console.log('iceCandidate');
timerInterceptor = false;
webRtcPeer.addIceCandidate(data.candidate) webRtcPeer.addIceCandidate(data.candidate)
}); });
socket.on('streamStarted', function(data) { socket.on('streamStarted', function(data) {
console.log('streamStarted');
if (autoView) { if (autoView) {
viewer(); viewer();
} }
@ -107,11 +93,9 @@ function presenterResponse(message) {
function viewerResponse(message) { function viewerResponse(message) {
if (message.response != 'accepted') { if (message.response != 'accepted') {
var errorMsg = message.message ? message.message : 'Unknown error'; var errorMsg = message.message ? message.message : 'Unknown error';
timerInterceptor = false;
console.warn('Call not accepted for the following reason: ' + errorMsg); console.warn('Call not accepted for the following reason: ' + errorMsg);
dispose(); dispose();
} else { } else {
console.log('processAnswer');
webRtcPeer.processAnswer(message.sdpAnswer); webRtcPeer.processAnswer(message.sdpAnswer);
} }
} }
@ -147,7 +131,6 @@ function onOfferPresenter(error, offerSdp) {
function viewer() { function viewer() {
autoView = true; autoView = true;
if (!webRtcPeer) { if (!webRtcPeer) {
console.log('viewer webRrcPeer');
showSpinner(video); showSpinner(video);
var options = { var options = {
@ -170,15 +153,11 @@ function onOfferViewer(error, offerSdp) {
sdpOffer : offerSdp, sdpOffer : offerSdp,
room: currentRoom() room: currentRoom()
}; };
console.log('onOfferVIewer');
socket.emit('viewer', message); socket.emit('viewer', message);
console.log(socket);
console.log(message);
} }
function onIceCandidate(candidate) { function onIceCandidate(candidate) {
//console.log('Local candidate' + JSON.stringify(candidate)); //console.log('Local candidate' + JSON.stringify(candidate));
console.log(candidate);
socket.emit('onIceCandidate', {candidate : candidate}); socket.emit('onIceCandidate', {candidate : candidate});
} }
@ -216,7 +195,7 @@ function showSpinner() {
function hideSpinner() { function hideSpinner() {
for (var i = 0; i < arguments.length; i++) { for (var i = 0; i < arguments.length; i++) {
arguments[i].src = ''; arguments[i].src = '';
arguments[i].poster = './img/logo.png'; arguments[i].poster = './img/webrtc.png';
arguments[i].style.background = ''; arguments[i].style.background = '';
} }
} }

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 one or more lines are too long