diff options
| author | Luke Hoersten <[email protected]> | 2026-06-30 21:22:22 -0500 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2026-06-30 21:22:22 -0500 |
| commit | ec49dcd0ac9bf73b8be56127eef30428af5824a4 (patch) | |
| tree | 2a4acd8bf0b1c0da8be5fcff52ecf310a1d5ff98 /scrypted/scrypted-viewport.ts | |
| parent | a84f17ec5da36a704636c45aaa5a67c4b8a2bd5b (diff) | |
docs: reframe protocol sections for the TCP-socket streaming model
The Wake/Sleep, race-handling, and idempotency sections still described the
old model where Scrypted streamed via POST /frame and learned of sleep from a
/frame 409. Streaming now runs over the TCP data socket (:81); the firmware
/frame endpoint remains only for one-shot snapshots/debug. Reframe the recovery
model accordingly:
- race-free property: frames arriving while asleep are discarded by the decode
task (stream socket) / rejected 409 (/frame) — neither re-wakes; sleep is
learned from the device's state=sleep callback + Scrypted's safety timer
- drop every "recovered by the next /frame returning 409" clause in favor of
the safety timer + discard-while-asleep
- idempotency table: add the stream-socket row (paints if awake, discarded if
asleep, skip-oldest)
- Loading screen: shown on wake AND each new stream connection until first paint
- Philosophy: list the MJPEG stream server (:81) and /firmware
Left the POST /frame endpoint's own API/semantics intact — it still exists.
Diffstat (limited to 'scrypted/scrypted-viewport.ts')
0 files changed, 0 insertions, 0 deletions
