mirror of
https://gitlab.crans.org/nounous/ghostream.git
synced 2024-12-22 20:52:20 +00:00
Working javascript modules
This commit is contained in:
parent
c88f473ec0
commit
0b3fb87fa2
@ -1,15 +1,24 @@
|
|||||||
import { GSWebSocket } from "./modules/websocket.js";
|
import { GsWebSocket } from "./modules/websocket.js";
|
||||||
import { ViewerCounter } from "./modules/viewerCounter.js";
|
import { ViewerCounter } from "./modules/viewerCounter.js";
|
||||||
|
|
||||||
// Some variables that need to be fixed by web page
|
/**
|
||||||
const ViewersCounterRefreshPeriod = 1000;
|
* Initialize viewer page
|
||||||
const stream = "demo";
|
*
|
||||||
|
* @param {String} stream
|
||||||
|
* @param {List} stunServers
|
||||||
|
* @param {Number} viewersCounterRefreshPeriod
|
||||||
|
*/
|
||||||
|
export function initViewerPage(stream, stunServers, viewersCounterRefreshPeriod) {
|
||||||
|
// Default quality
|
||||||
let quality = "source";
|
let quality = "source";
|
||||||
|
|
||||||
// Create WebSocket
|
// Create WebSocket
|
||||||
const s = new GSWebSocket();
|
const s = new GsWebSocket();
|
||||||
s.open();
|
s.open();
|
||||||
|
|
||||||
|
// Create WebRTC
|
||||||
|
// FIXME startPeerConnection() with stunServers
|
||||||
|
|
||||||
// Register keyboard events
|
// Register keyboard events
|
||||||
const viewer = document.getElementById("viewer");
|
const viewer = document.getElementById("viewer");
|
||||||
window.addEventListener("keydown", (event) => {
|
window.addEventListener("keydown", (event) => {
|
||||||
@ -37,7 +46,7 @@ const viewerCounter = new ViewerCounter(
|
|||||||
document.getElementById("connected-people"),
|
document.getElementById("connected-people"),
|
||||||
stream,
|
stream,
|
||||||
);
|
);
|
||||||
viewerCounter.regularUpdate(ViewersCounterRefreshPeriod);
|
viewerCounter.regularUpdate(viewersCounterRefreshPeriod);
|
||||||
|
|
||||||
// Side widget toggler
|
// Side widget toggler
|
||||||
const sideWidgetToggle = document.getElementById("sideWidgetToggle");
|
const sideWidgetToggle = document.getElementById("sideWidgetToggle");
|
||||||
@ -63,3 +72,4 @@ document.getElementById("quality").addEventListener("change", (event) => {
|
|||||||
// Restart the connection with a new quality
|
// Restart the connection with a new quality
|
||||||
// FIXME
|
// FIXME
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
@ -34,18 +34,17 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="module" src="/static/js/main.js"></script>
|
<script type="module">
|
||||||
<script>
|
import { initViewerPage } from "/static/js/main.js";
|
||||||
|
|
||||||
|
// Some variables that need to be fixed by web page
|
||||||
|
const viewersCounterRefreshPeriod = Number("{{.Cfg.ViewersCounterRefreshPeriod}}");
|
||||||
|
const stream = "{{.Path}}";
|
||||||
const stunServers = [
|
const stunServers = [
|
||||||
{{range $id, $value := .Cfg.STUNServers}}
|
{{range $id, $value := .Cfg.STUNServers}}
|
||||||
"{{$value}}",
|
"{{$value}}",
|
||||||
{{end}}
|
{{end}}
|
||||||
]
|
]
|
||||||
startPeerConnection()
|
initViewerPage(stream, stunServers, viewersCounterRefreshPeriod)
|
||||||
|
|
||||||
// Wait a bit before pulling viewers counter for the first time
|
|
||||||
setTimeout(() => {
|
|
||||||
refreshViewersCounter("{{.Path}}", {{.Cfg.ViewersCounterRefreshPeriod}})
|
|
||||||
}, 1000)
|
|
||||||
</script>
|
</script>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
Loading…
Reference in New Issue
Block a user