M2: BuildArgs assumes single combined AV input — -map 0:v:0/-map 0:a:0 hardcoded #2
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Found while running an end-to-end WHEP smoke test against the live M2 deploy on TrueNAS (commit
0417aff).What's wrong
app/webrtc/ffmpeg_args.goBuildArgsemits the two RTP legs with hardcoded stream maps:Correct for production: an RTMP or SRT publisher arrives as a single muxed input where stream
0:v:0and0:a:0are both valid. Breaks for any process whose audio lives on a different input index (multi-input pipelines, lavfi test sources). FFmpeg dies before WebRTC sources can receive:Repro
Process JSON with two lavfi inputs and a base output that maps them:
state.commandshows the user's-map 1:a:0is fine, but the appended WebRTC leg uses-map 0:a:0which doesn't exist on input #0.Proposal (M3)
ConfigWebRTCgains explicit map selectors:BuildArgsreads these instead of constants. UI exposes both as advanced settings; the default still works for RTMP/SRT.Severity
Soft — production RTMP/SRT inputs are unaffected. Test scaffolding and atypical pipelines hit it. Tracked as M3 robustness.