Skip to content

Recover stalled live pipelines - #76

Merged
ykamakazi merged 1 commit into
mainfrom
fix/live-stream-watchdog
Oct 5, 2026
Merged

ykamakazi merged 1 commit into
mainfrom
fix/live-stream-watchdog

Conversation

@ykamakazi

Copy link
Copy Markdown
Collaborator

Summary

  • add a server-owned watchdog for process liveness and completed HLS segment publication
  • restart only high-quality output when it fails, while keeping low playback and the upstream ingest alive
  • restart the dependency chain for ingest or low-output stalls after the previous upstream reader exits
  • preserve retained DVR entries across restarts with appended playlists and HLS discontinuities
  • add a 30-second HTTP read timeout plus bounded restart cooldowns and budgets

Recovery behavior

Failure Recovery
High-quality output stalls or exits Continue low playback and restart only high-quality output
Ingest or low output stalls or exits Replace the dependency chain under the same session ID
Repeated failure Limit each recovery class to three attempts per five-minute window
Missing prior playlist Use epoch-based segment numbering to avoid overwriting retained files

Validation

  • .venv/bin/ruff check .
  • .venv/bin/basedpyright
  • .venv/bin/pytest -q (715 passed)
  • real FFmpeg restart coverage verifies retained entries and discontinuity insertion

Copilot-Session: a73ee863-97b8-44c2-84d6-77d9a18010be
@ykamakazi
ykamakazi marked this pull request as ready for review October 5, 2026 02:26
@ykamakazi
ykamakazi merged commit 3fdfac0 into main Oct 5, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant