Landed this month: campaigns = batches with self-service stamping, filter and paging
(CR-073) · rig follows a box that changes address by MAC (Ethernet↔Wi-Fi moves, forgotten
leases) ·
Apple TV 4K on the rig (pyatv power/readiness; playback = VLC via Companion —
AirPlay
play_url is dead on tvOS 18; liveness = playback state, no marker; rows are
“VLC on tvOS”) ·
Xiaomi TV Box (Amlogic S905X4, Android 11, adb driver) and
Roku Express 4K (Realtek RTD1315, ECP driver — playback via an undocumented app-launch,
unvalidated end to end) join the rig · OS/chipset filter bar above the tiles ·
screen map: the C2 has four HDMI sockets — which four are cabled is set in
/settings › Rig › HDMI inputs · silicon audited per box (both
Android streamers = MediaTek MT8696, Bbox = Marvell Berlin, Apple TV = A10X, Xiaomi Gen 3 =
Amlogic S905X5M (s7d), Roku = Realtek RTD1315) · every rig address reserved on the router.
2026-09-21: TV Box W5 joins the rig on HDMI_1 (no-brand Allwinner H618, Android 12,
legacy OMX HAL — hardware H.264/HEVC/VP9 but
no AV1 block, the first box here with that
combination; its product props are spoofed as a Google ADT-3, so read silicon from
ro.board.platform, never
ro.product.*) · the Xiaomi Gen 2 leaves the rig,
handing over its Lab-F3 plug ·
screen map corrected: HDMI_1 W5 · HDMI_2 Bbox · HDMI_3 Roku
· HDMI_4 Fire TV, so the Google TV comes off the panel ·
no rig box is headless any more
— every box off the panel now carries its own HDMI dummy/EDID plug, shown as a
dummy plug badge on its tile, so its rows stay
comparable with the screened boxes instead of sitting in the no-sink regime.
2026-09-27: screen map re-cabled for C24/C25: HDMI_1 Google TV · HDMI_2 Bbox · HDMI_3
Apple TV · HDMI_4 Fire TV; the W5 and the Roku move to dummy plugs.
2026-09-30: the
TV Box W5 is parked (temporarily retired; hidden from the tiles,
its rows stay valid) and the
Xiaomi Gen 2 is back on its old Lab-F3 plug. Both Xiaomis
(Gen 2 Amlogic S905X4 / legacy OMX, Gen 3 Amlogic S905X5M / Codec2 — both with hardware AV1)
sit off the panel on HDMI dummy plugs.
Still open:
· the dummy plugs are
fitted but not yet
verified: the S73 no-sink penalty (Fire TV
played 0.77 W lower with no sink, Gen 2 0.42 W) should now be absent, and that has to be
measured before dummy-plugged rows are pooled with screened ones — not assumed
· W5:
idle_w/
expected_boot_s are an unmeasured reading pending an
onboard_device.py run; its HDMI link sits at 4096×2160 (DCI, not the C2's native
UHD) while Android renders a 1280×720 surface upscaled to fill it, so no 4K row from this box
means anything until the video layer's true decode resolution is established
· Roku: playback mechanism (Dom's "Greening of Streaming" channel via ECP, NOT the
roku_probe.py-documented Media Assistant path, which is dead on this firmware) is
validated end-to-end (🟢, real jobs) — its idle_w/expected_boot_s/startup_skip_s are still
unmeasured guesses pending an
onboard_device.py run (CR-077)
· Apple TV: tvOS screensaver contaminates parked baselines (disable it — a disclosed harness
setting — before the next rows); now dummy-plugged rather than on the panel, which should also
settle the old "VLC pauses on HDMI loss" hazard — unverified; n≥3 owed (CR-075)
· Fire TV
alive_at_window_end false negative on flat traces (instrumented via
playback_state_at_end, root cause open) · Fire TV drops ADB authorisation after a
mains cycle (on-site accept, one reconnect)
· C2 SSAP timeouts at window end lose rows · parity runs have no inter-row idle guard
· whole rig topology from settings — devices, targets, Tapo meters, HDMI sockets — so a new
box is a settings edit, not a code change (CR-076)
· uploaded clips: markers need h264/hevc/av1 sources (NVENC-matched); other codecs run un-marked
Known quirks: cold-panel first claim may need a second claim ·
claim takes 10–20 s by design · deploys never run while the queue is busy ·
marker-row headline ΔW includes the 15 s head (quote segmented values) ·
tvOS asks “Open VLC?” once per box on the first Companion launch (answer on the remote).