Repository navigation
v0.8.29
Live playback samples name the browser's decoder and count its freezes
- The card's browser samples in the integration's diagnostics download add the
browser's decoder name (video_decoder, a product string such asFFmpeg
orExternalDecoder, kept only within 64 characters of a fixed character
set), whether the browser calls that decoder power efficient
(video_decoder_power_efficient), and the inbound video counters
freezeCount,totalFreezesDuration,pauseCount,totalPausesDuration,
totalDecodeTime,totalProcessingDelay,
framesAssembledFromMultiplePacketsandtotalAssemblyTimeas
video_freezes,video_freeze_ms,video_pauses,video_pause_ms,
video_decode_ms,video_processing_ms,video_assembledand
video_assembly_ms, durations in whole milliseconds. Missing values stay
absent and the integration accepts only these bounded scalars, as for the
existing fields. See live diagnostics. - Why: the 2026-09-20 run on #94 (integration 0.8.28, bridge 0.8.23, NVIDIA
T600, Google Chrome 153 on Windows) reached the 1800-second cap but dropped
to the JPEG fallback at 54.6 s with zero packet loss, a jitter-buffer wait
per frame growing from 54 ms to 914 ms, 68 dropped frames and eight PLI.
The four samples could not tell an H.264 stream the browser's decoder
rejects from decoding or timing on the PC. With these fields the next
download can. Refs #94, #106. - Nothing else changes: the five sample stages, the last eight attempts, the
retention window, the bridge and the card's playback behaviour are the same.
Upgrade and rollback
Update the integration to 0.8.29 in HACS, restart Home Assistant and refresh
the dashboard. The bridge stays at 0.8.23. To roll back, restore integration
0.8.28 from your backup.
Source commit: fed52c72b444d5d3a3157290acd8c55bdefd8c8e
Validation: Integration and card 0.8.29, bridge unchanged at 0.8.23. Diagnostics only: every browser sample of a live WebRTC attempt adds the browser's decoder name and power-efficient flag and its freeze, pause, decode, processing and assembly counters, bounded scalars projected by the same allowlist as the existing fields. No change to playback, the sample stages, retention, the bridge, device commands or media paths, so no new hardware test is needed. Evidence: CI on the merged commit (ruff, mypy, pytest at 96.9 percent coverage, card build matching the committed bundle, Playwright card suite with go2rtc). Motivation: the 2026-09-20 run on issue 94 dropped from WebRTC to the JPEG fallback at 54.6 s with zero packet loss and a growing jitter-buffer wait, and its samples could not separate a rejected NVENC stream from decoding in the browser. Reported hardware evidence stays reported, not independently reproduced.
Download checksums and exact component versions are included in the release assets.