Skip to content

fix(media): prevent looping local video tasks from stopping at EOF - #100

Merged
nquyencubas523-cloud merged 2 commits into
feat/model-guard-v2.3from
fix/eof-loop-task-autostop-v1.1
Aug 18, 2026
Merged

fix(media): prevent looping local video tasks from stopping at EOF#100
nquyencubas523-cloud merged 2 commits into
feat/model-guard-v2.3from
fix/eof-loop-task-autostop-v1.1

Conversation

@nquyencubas523-cloud

@nquyencubas523-cloud nquyencubas523-cloud commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Related issue

P0 release blocker observed during three-platform soak preparation; no public issue has been assigned.

Root cause

At EOF, a looping local video briefly published terminal AlgDemuxReadEnd before reopening. If the camera monitor sampled that transient state after the queue drained, it interpreted the loop boundary as permanent completion and persistently disabled every task bound to the channel.

The release-candidate devices reproduced this as:

Offline video completed, auto-stopping task to release resources

Scope

  • classify EOF as Reopen or Complete with a shared policy
  • keep looping local videos in a non-terminal state during reopen
  • preserve terminal completion for single-play and finite-repeat videos
  • retain the existing reconnect behavior for live streams
  • expose runtime-only repeatPending state to the camera monitor
  • block automatic task stop while reopen is pending
  • add regression coverage for 1,000 infinite-loop EOFs, finite repeats, live streams, and the monitor guard

No package format, serialized camera contract, model, or public API is changed.

Candidate identity

Candidate commit: 7d36dba
Base branch: feat/model-guard-v2.3

Verification

  • git diff --check: passed
  • clang-format 18.1.8: passed
  • x86 CPU build and full cosmo-tests: passed (run 31994320703)
  • post-build device validation: BM1688, CV186X, and RK3576 using the prior Safety Helmet.mp4, 8 channels, two CV tasks per channel, 5 FPS, checkpoints at 4h / 24h / 72h

Acceptance and cleanup

Acceptance requires the final packages to be rebound to this commit and all three platforms to retain 16 complete bindings without EOF-triggered task disablement. The staged soak is not considered passed until its 4h, 24h, and 72h checkpoints complete. Temporary benchmark channels must be removed and algorithm configuration restored after validation.

@athenawxd
athenawxd force-pushed the feat/model-guard-v2.3 branch from ef4d7a4 to 967f6ba Compare August 17, 2026 10:25
@nquyencubas523-cloud
nquyencubas523-cloud merged commit 26bed1a into feat/model-guard-v2.3 Aug 18, 2026
1 check passed
@nquyencubas523-cloud
nquyencubas523-cloud deleted the fix/eof-loop-task-autostop-v1.1 branch August 18, 2026 02:05
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