fix: front-end not save token
fix: sometimes not auto stream next video
This commit is contained in:
parent
dcdbf84c8c
commit
369b658d60
@ -378,7 +378,7 @@
|
|||||||
|
|
||||||
ws.onopen = function () {
|
ws.onopen = function () {
|
||||||
console.log("Connected to WebSocket");
|
console.log("Connected to WebSocket");
|
||||||
setStoredToken(document.getElementById("token-input").value);
|
setStoredToken(token);
|
||||||
document.getElementById("token-screen").style.display = "none";
|
document.getElementById("token-screen").style.display = "none";
|
||||||
document.querySelector(".container-fluid").style.display = "flex";
|
document.querySelector(".container-fluid").style.display = "flex";
|
||||||
document.getElementById("status").textContent =
|
document.getElementById("status").textContent =
|
||||||
@ -404,7 +404,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
ws.onerror = function () {
|
ws.onerror = function () {
|
||||||
localStorage.removeItem("streaming_token");
|
|
||||||
document.getElementById("token-error").style.display = "block";
|
document.getElementById("token-error").style.display = "block";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -425,12 +424,20 @@
|
|||||||
localStorage.setItem("streaming_token", token);
|
localStorage.setItem("streaming_token", token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
const storedToken = getStoredToken();
|
||||||
|
if (storedToken) {
|
||||||
|
document.getElementById("token-input").value = storedToken;
|
||||||
|
validateToken();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
function validateToken() {
|
function validateToken() {
|
||||||
const tokenInput = document.getElementById("token-input");
|
const tokenInput = document.getElementById("token-input");
|
||||||
const token = tokenInput.value || getStoredToken();
|
if (tokenInput.value) {
|
||||||
if (token) {
|
|
||||||
tokenInput.value = token;
|
|
||||||
connectWebSocket();
|
connectWebSocket();
|
||||||
|
} else {
|
||||||
|
document.getElementById("token-error").style.display = "block";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,8 +129,14 @@ func (s *Streamer) handleStart() {
|
|||||||
s.writeOutput(fmt.Sprintf("stop stream: %s\n", videoPath))
|
s.writeOutput(fmt.Sprintf("stop stream: %s\n", videoPath))
|
||||||
|
|
||||||
if !s.state.manualControl {
|
if !s.state.manualControl {
|
||||||
s.mailbox <- NextVideoMessage{}
|
log.Println("ready to stream next video")
|
||||||
|
s.state.currentVideoIndex++
|
||||||
|
if s.state.currentVideoIndex >= len(s.state.videoList) {
|
||||||
|
s.state.currentVideoIndex = 0
|
||||||
|
}
|
||||||
|
s.mailbox <- StartMessage{}
|
||||||
} else {
|
} else {
|
||||||
|
log.Println("manually control")
|
||||||
s.state.manualControl = false
|
s.state.manualControl = false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,15 +149,22 @@ func (s *Streamer) handleStop() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.Println("wait context to be cancelled")
|
||||||
s.state.cancel()
|
s.state.cancel()
|
||||||
|
log.Println("context has been cancelled")
|
||||||
|
|
||||||
if s.state.cmd.Process != nil {
|
if s.state.cmd.Process != nil {
|
||||||
|
log.Println("wait ffmpeg process stop")
|
||||||
select {
|
select {
|
||||||
case <-s.state.waitDone:
|
case <-s.state.waitDone:
|
||||||
case <-time.After(3 * time.Second):
|
case <-time.After(3 * time.Second):
|
||||||
_ = s.state.cmd.Process.Kill()
|
_ = s.state.cmd.Process.Kill()
|
||||||
}
|
}
|
||||||
|
log.Println("ffmpeg process has stopped")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s.state.cancel = nil
|
||||||
|
s.state.cmd = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Streamer) handleAdd(path string) {
|
func (s *Streamer) handleAdd(path string) {
|
||||||
|
Loading…
Reference in New Issue
Block a user