Files
OrbitTv/docs/VERIFICATION-0.95.1.md
pauljdandClaude Opus 5.5 0386c6d75c
pauljd/davidson-ci: Davidson CI / quality (push) Failing after 1m54s
pauljd/davidson-ci: Davidson CI / ai-review (push) Failing after 1m50s
0.95.1 installed
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-11-03 19:42:47 +00:00

1.9 KiB

Orbit TV 0.95.1: no black screen when a programme ends early

A small fix of its own, approved by Paul on 3 November 2026. No scheduler, artwork or plan changes.

What happened: on Tots (614) on 3 November, In the Night Garden S2 E37 was booked 19:02:01 to 19:28:06 from Emby's listed runtime (26:04). Its file stopped at 19:24:54, so the screen was black for just over three minutes until Clangers started on time at 19:28:06. Emby lists the episode about 3 minutes 10 seconds longer than the file actually plays, and Orbit had no handling for a programme ending before its slot.

The change: when a scheduled programme's player reaches its end more than 3 seconds before the slot ends (finishedEarly, IdentTest), the channel's own ident plays from its start and holds its clean last frame, with NEXT AT 19:28 and the next title, until the next programme's booked start. Then the changeover is the usual one: the next programme is loaded ahead as before, and its first picture takes over from the held frame. With idents switched off, the same card shows the programme artwork and channel logo instead of the moving ident (Tots keeps its still as before). The early end is logged (endedEarlyMs in logcat tag OrbitSchedule and the playback notes) so other short files can be found.

Unchanged: committed plans, the guide, the next programme's start time, preloading, the normal end-of-programme ident and hold.

Files: Idents.kt (finishedEarly, EARLY_END_GRACE_MS, IdentOverlay's early caption), EmbyPlaybackDialog.kt (onEndedEarly on STATE_ENDED), SampleChannelScreens.kt (starts the ident early). 360 unit tests pass; lint has no errors. Not installed.

To check on the TV: the next time a file runs short, the ident appears instead of black, holds with NEXT AT …, and the next programme starts on time. Logcat: endedEarlyMs.

Installed 3 November 2026 at about 19:43 with Paul's OK. All 31 committed plans byte-identical before and after.