From a0559c6c7face96cfd4851b15e8c44ef15f43b70 Mon Sep 17 00:00:00 2001 From: Sami Spets <savasp@utu.fi> Date: Wed, 11 Dec 2019 10:05:50 +0200 Subject: [PATCH] Started to add URI parser --- web-service/public/js/bundle.js | 8 +++++++- web-service/public/js/index.js | 6 ++++++ web-service/server/package.json | 1 + web-service/server/src/index.js | 18 +++++++++++++++--- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/web-service/public/js/bundle.js b/web-service/public/js/bundle.js index b1735eac3..52798e549 100644 --- a/web-service/public/js/bundle.js +++ b/web-service/public/js/bundle.js @@ -59,6 +59,7 @@ createVideoPlayer = () => { containerDiv.innerHTML = `<h1>Stream ${current_data.uri} is live right here!</h1><br> <button onclick="renderThumbnails(); closeStream()">Go back</button> <button onclick="connectToStream()">Start Stream</button><br> + <button onclick="webSocketTest()">WebSocket Test</button><br> <video id="ftlab-stream-video" width="640" height="360"></video>`; containerDiv.innerHTML += '<br>' containerDiv.innerHTML += '' @@ -147,6 +148,11 @@ createPeer = () => { peer = new Peer(ws) } +webSocketTest = () => { + console.log(current_data.uri) + peer.send("update_cfg", "ftl://utu.fi#reconstruction_default/0/renderer/cool_effect", "true") +} + connectToStream = () => { const element = document.getElementById('ftlab-stream-video'); @@ -155,7 +161,7 @@ connectToStream = () => { peer.bind(current_data.uri, (latency, streampckg, pckg) => { if(pckg[0] === 2){ - function decode(value) { + function decode(value){ converter.appendRawData(value); } decode(pckg[5]); diff --git a/web-service/public/js/index.js b/web-service/public/js/index.js index 9c3905baa..9d2ee015d 100644 --- a/web-service/public/js/index.js +++ b/web-service/public/js/index.js @@ -58,6 +58,7 @@ createVideoPlayer = () => { containerDiv.innerHTML = `<h1>Stream ${current_data.uri} is live right here!</h1><br> <button onclick="renderThumbnails(); closeStream()">Go back</button> <button onclick="connectToStream()">Start Stream</button><br> + <button onclick="webSocketTest()">WebSocket Test</button><br> <video id="ftlab-stream-video" width="640" height="360"></video>`; containerDiv.innerHTML += '<br>' containerDiv.innerHTML += '' @@ -146,6 +147,11 @@ createPeer = () => { peer = new Peer(ws) } +webSocketTest = () => { + console.log(current_data.uri) + peer.send("update_cfg", "ftl://utu.fi#reconstruction_default/0/renderer/cool_effect", "true") +} + connectToStream = () => { const element = document.getElementById('ftlab-stream-video'); diff --git a/web-service/server/package.json b/web-service/server/package.json index 14e0f41a2..2091d98a9 100644 --- a/web-service/server/package.json +++ b/web-service/server/package.json @@ -23,6 +23,7 @@ "msgpack5": "^4.2.1", "passport": "^0.4.0", "passport-google-oauth20": "^2.0.0", + "url-parse": "^1.4.7", "uuid": "^3.3.3", "watchify": "^3.11.1" } diff --git a/web-service/server/src/index.js b/web-service/server/src/index.js index 935f5e9ba..ae879d249 100644 --- a/web-service/server/src/index.js +++ b/web-service/server/src/index.js @@ -11,6 +11,7 @@ const config = require('./utils/config') const User = require('./models/users') const Configs = require('./models/generic') const bodyParser = require('body-parser') +const Url = require('url-parse') // ---- INDEXES ---------------------------------------------------------------- app.use(passport.initialize()); @@ -461,6 +462,7 @@ app.ws('/', (ws, req) => { * Get JSON values for stream configuration */ p.bind("get_cfg", (cb, uri) => { + console.log(stringSplitter(uri)) if(uri_data[uri]){ let peer = uri_data[uri].peer if(peer){ @@ -476,10 +478,15 @@ app.ws('/', (ws, req) => { * Update certain URIs values */ p.bind("update_cfg", (uri, json) => { - let peer = uri_data[uri].peer - if(peer){ + if(uri_data[uri]){ + let peer = uri_data[uri].peer + if(peer){ peer.send("update_cfg", uri, json) - } + } + }else{ + console.log("Config not found", uri) + return "{}"; + } }) // Register a new stream @@ -494,6 +501,11 @@ app.ws('/', (ws, req) => { }); }); +function stringSplitter(uri) { + const url = new Url(uri) + return url; +} + console.log("Listening or port 8080"); app.listen(8080); -- GitLab