Repository navigation
SRT ingest decoder: packets must become VideoFrame pixels + PCM on the source bus #536
Description
Activity
PR #687 merged as
0ff22af4(basef9ae3215). The existing FFmpeg ingest decoder already published BGRA pixels and embedded PCM to the source bus; this slice made the non-stub build gate/capability truthful and added decoded media, last-frame age, and stale/disconnect health. Both SRT roles passed a local 1080p30 H.264/AAC contribution into Program. The 30-minute listener run produced 108,021 recorded Program frames and 86,416,968 recorded audio samples, with 2 recording missing frames, 0 render skipped slots, and 1 render deadline miss; the finalized end segment had nonblank video and tone. Localnpm run test:gateand all PR CI checks passed. Full commands, artifacts, and limits are in the PR's first comment.Keep #536 open. RTT is
nullbecause FFmpeg owns the SRT socket and does not expose socket stats to this adapter.decoderFailurescurrently counts process startup failures; it does not count codec/packet decode errors. Closing this issue still requires a measured RTT and decoder error path (or an explicit owner change to the done criteria), plus validation of those fields against a failing/recovering contribution. No backlog rank was changed.Reopening under the issue's done criteria: PR #687 intentionally leaves RTT and decoder error reporting unresolved. The close event coincided with the merge; the issue update above records the remaining work.
- added a commit that references this issue
on Sep 28, 2026 SRT ingest health slice is in PR #694: native codec/packet decoder error counters, honest RTT-unavailable state, and live Sources health from the typed snapshot. Local 24-second contribution and first 30-minute contribution passed with video/audio; the 30-minute run recorded 2 missing/2 dropped Program frames while the combined beta compiled, so an idle-host repeat is underway. PR CI is green. Numeric RTT still needs a separately scoped socket-ownership change; keeping #536 open.
- added a commit that references this issue
on Sep 28, 2026 Follow-up on #694: the idle-host 30-minute 1080p30 SRT contribution passed with 108,022 Program frames, audio present, 0 missing/0 dropped frames, and 0 decoder errors. A real publisher interruption test also passed: the source went stale, then the same source resumed sustained video and audio after a retrying caller reconnected. The first concurrent-build soak had 2 missing/2 dropped frames and remains documented in the PR. Numeric RTT remains unavailable while FFmpeg owns the socket; keeping this issue open for that separately scoped work and installed operator review.
Problem
The shell already adds/removes SRT ingest sources (
ShowInputsCoordinator). Native ingest has libsrt RX.pixelsstay empty. Assigned SRT sources composite slates.Depends on the F1 source-bus issue. Do not invent a second frame type.
Done when
VideoFrame/ PCM contract as Zoom/UVC.COREVIDEO_WITH_SRTis off.Not this issue
SRT program output (separate; still in-progress in README). MXL.