diff --git a/web/static/js/modules/websocket.js b/web/static/js/modules/websocket.js index d77a4e6..3564670 100644 --- a/web/static/js/modules/websocket.js +++ b/web/static/js/modules/websocket.js @@ -40,7 +40,7 @@ export class GsWebSocket { setTimeout(() => this.sendDescription(localDescription, stream, quality), 100); return; } - console.log("[WebSocket] Sending WebRTC local session description"); + console.log(`[WebSocket] Sending WebRTC local session description for stream ${stream} quality ${quality}`); this.socket.send(JSON.stringify({ "webRtcSdp": localDescription, "stream": stream, diff --git a/web/static/js/viewer.js b/web/static/js/viewer.js index ded1a83..42e8b41 100644 --- a/web/static/js/viewer.js +++ b/web/static/js/viewer.js @@ -81,7 +81,7 @@ export function initViewerPage(stream, stunServers, viewersCounterRefreshPeriod) quality = event.target.value; console.log(`Stream quality changed to ${quality}`); - // Restart the connection with a new quality - // FIXME + // Restart WebRTC negociation + webrtc.createOffer(); }); } diff --git a/web/template/player.html b/web/template/player.html index e5efc69..6cdd650 100644 --- a/web/template/player.html +++ b/web/template/player.html @@ -8,10 +8,10 @@
srt://{{.Cfg.Hostname}}:{{.Cfg.SRTServerPort}}?streamid={{.Path}}
diff --git a/web/websocket_handler.go b/web/websocket_handler.go
index e774135..f363b34 100644
--- a/web/websocket_handler.go
+++ b/web/websocket_handler.go
@@ -36,21 +36,21 @@ func websocketHandler(w http.ResponseWriter, r *http.Request) {
err = conn.ReadJSON(c)
if err != nil {
log.Printf("Failed to receive client description: %s", err)
- return
+ continue
}
// Get requested stream
stream, err := streams.Get(c.Stream)
if err != nil {
log.Printf("Stream not found: %s", c.Stream)
- return
+ continue
}
// Get requested quality
q, err := stream.GetQuality(c.Quality)
if err != nil {
log.Printf("Quality not found: %s", c.Quality)
- return
+ continue
}
// Exchange session descriptions with WebRTC stream server
@@ -61,7 +61,7 @@ func websocketHandler(w http.ResponseWriter, r *http.Request) {
// Send new local description
if err := conn.WriteJSON(localDescription); err != nil {
log.Println(err)
- return
+ continue
}
}
}