# SS-124 - build config for the exact ffmpeg artifact Stack Stitch distributes. # # This file is the human-readable source of truth for what we ship. The pinned # values here are mirrored by desktop/sidecars/stage-ffmpeg-macos.sh (keep both # in sync when bumping) and enforced at build time by that script's assert_lgpl # gate + the release pipeline (release-macos-dmg.sh). # --- Pinned upstream source (the committable, reproducible checksum) --------- FFMPEG_VERSION=7.1.1 FFMPEG_SRC_URL=https://ffmpeg.org/releases/ffmpeg-7.1.1.tar.xz FFMPEG_SRC_SHA256=733984395e0dbbe5c046abda2dc49a5544e7e0e1e2366bba849222ae9e3a03b1 # --- License posture --------------------------------------------------------- # LGPL-2.1-or-later ONLY. Configured WITHOUT --enable-gpl and WITHOUT # --enable-nonfree. Audio uses FFmpeg's built-in AAC encoder (-c:a aac), which # is LGPL. No external codec libraries (x264/fdk-aac/etc.) are linked. # --- Exact configure invocation (per-arch; the non-host arch adds the cross # toolchain flags shown in stage-ffmpeg-macos.sh) -------------------------- # # ./configure \ # --disable-everything --disable-gpl --disable-nonfree \ # --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages \ # --disable-debug --disable-network --disable-autodetect --disable-x86asm --disable-shared --enable-static \ # --disable-programs --enable-ffmpeg \ # --enable-protocol=file,pipe \ # --enable-demuxer=pcm_f32le \ # --enable-muxer=mov,mp4,ipod \ # --enable-decoder=pcm_f32le \ # --enable-encoder=aac \ # --enable-filter=aformat,pan,amerge,aresample,anull,abuffer,abuffersink \ # --enable-parser=aac # # Rationale (scoped to mux_mic_and_loopback in audio_capture_macos.rs): # pcm_f32le demuxer+decoder -> the two raw Float32 PCM inputs (-f f32le) # aformat/pan/amerge -> mono-normalise mic (L) + downmix loopback (R) -> stereo # abuffer/abuffersink -> -filter_complex graph endpoints # aac encoder -> -c:a aac 192k (LGPL, built-in) # mov/mp4/ipod muxer -> .m4a container with -movflags +faststart # # The resulting binary is ~2.5 MB per arch. Validated: this config muxes the # exact Calls command against synthetic f32le PCM into a valid .m4a.