Skip to content

v1.4.0

Choose a tag to compare

@mikecerisano mikecerisano released this 20 May 22:27

Audio rollout, phase C. Audio mux into recordings.

⚠️ Known issue with this tag: the git tag for v1.4.0 incorrectly points at the v1.3.0 commit due to a release-script ordering bug. The bundled NDIStream.app.zip below IS the correct v1.4.0 code, but anyone cloning by tag or downloading the source archive gets v1.3.0 source. Use v1.4.1 instead — it includes everything here plus a real fix and the tag points at the right commit.

What was new

  • Recordings include audio when available. Both sender and receiver .mov files get an AAC audio track muxed in alongside H.264 video.
  • Sender path — mic audio captured via AVCapture goes to both NDISender (over the wire) and Recorder.appendAudio() simultaneously. Real capture PTS shared with video for natural lip sync.
  • Receiver path — incoming NDI planar float audio is copied off the NDI thread (before NDI frees it), interleaved, and written to the recording. Records audio regardless of the local Audio playback toggle (recording ≠ monitoring).
  • Lazy writer setup — when audio is enabled, the first video frame is held briefly until the first audio frame arrives so both inputs get configured together (AVAssetWriter can't add inputs after startWriting). 150ms fallback to video-only if no audio comes (fixed in v1.4.1 — see below).

Install

Download v1.4.1 instead.