fix: stop video stream before enabling sleep mode

This commit is contained in:
Siyuan 2025-11-21 09:53:39 +00:00
parent 79cb2aa5ef
commit 24ec74a441
2 changed files with 7 additions and 0 deletions

View File

@ -539,6 +539,7 @@ void *run_video_stream(void *arg)
if (r == 0) if (r == 0)
{ {
log_info("select timeout"); log_info("select timeout");
ensure_sleep_mode_disabled();
break; break;
} }
if (r == -1) if (r == -1)

View File

@ -35,7 +35,13 @@ func (n *Native) setSleepMode(enabled bool) error {
bEnabled := "0" bEnabled := "0"
if enabled { if enabled {
bEnabled = "1" bEnabled = "1"
if err := n.VideoStop(); err != nil {
return fmt.Errorf("video stop failed, won't enable sleep mode: %w", err)
}
// wait few seconds to ensure the video stream is stopped
time.Sleep(3 * time.Second)
} }
return os.WriteFile(sleepModeFile, []byte(bEnabled), 0644) return os.WriteFile(sleepModeFile, []byte(bEnabled), 0644)
} }