The dialog "Failed to start RTSP stream 'rtsp://…:554/stream_1'." keeps appearing over and over on screen. It is impossible to use the application while it is looping.
Reproduce:
- Configure a video widget with an RTSP stream that cannot be started (e.g. wrong address/credentials).
- Observe: the error dialog reappears repeatedly, one after another, instead of once.
Likely source: src/stores/video.ts, the go2rtc branch of activateStream. The catch at line 440 shows the dialog but does not record the failure — it only clears rtspActivating in finally, leaving activeStreams[streamName] undefined. The consumers at lines 662, 680 and 705 (plus VideoPlayer's ~1s polling) call activateStream again whenever that entry is undefined, so the failure and the dialog repeat forever.
The unsupported-in-Lite branch just above (line 401) already handles the same retry storm with the one-shot rtspUnsupportedWarned flag; the failure path needs an equivalent per-stream guard (and probably a backoff before retrying).
The dialog "Failed to start RTSP stream 'rtsp://…:554/stream_1'." keeps appearing over and over on screen. It is impossible to use the application while it is looping.
Reproduce:
Likely source:
src/stores/video.ts, the go2rtc branch ofactivateStream. Thecatchat line 440 shows the dialog but does not record the failure — it only clearsrtspActivatinginfinally, leavingactiveStreams[streamName]undefined. The consumers at lines 662, 680 and 705 (plus VideoPlayer's ~1s polling) callactivateStreamagain whenever that entry is undefined, so the failure and the dialog repeat forever.The unsupported-in-Lite branch just above (line 401) already handles the same retry storm with the one-shot
rtspUnsupportedWarnedflag; the failure path needs an equivalent per-stream guard (and probably a backoff before retrying).