bb4d527cbe
testpattern now optionally writes an audio flow when audio_flow_id is wired in the graph. Each channel generates a sine wave at (c+1)*1000 Hz (ch0=1kHz, ch1=2kHz, ...) at -18 dBFS broadcast reference level. Phase is derived from the absolute audio_index so there are no clicks at frame boundaries. One audio chunk per video frame (1920 samples at 48kHz/25fps), written via mxlFlowWriterOpenSamples with ring-buffer fragment and channel stride handling matching ndiin. build_graph: separate UUIDs for testpattern and ndiin flows; wire testpattern audio_flow_id (no sink yet). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>