# FFmpeg WebAssembly Corresponding Source This archive accompanies the reviewed single-thread and multithread FFmpeg WebAssembly core profile distributed by av-tools. The profile retains the upstream core version 0.12.10 and FFmpeg n5.1.4 identities, but it is rebuilt from source rather than copied from the published `@ffmpeg/core` packages. `SOURCE_LOCK.json` records the immutable Git commit for ffmpeg.wasm, FFmpeg and every external library selected by the upstream v12.15 build. The source trees are stored under `sources/`. In particular, the upstream branch names `4-cores` and `master` have been resolved to the commits from which the published core was built; neither branch changed between its recorded commit and the upstream core release. The original build-control files are in `sources/ffmpeg.wasm/`, including: - `Dockerfile`; - `Makefile`; - `build/ffmpeg.sh`; - `build/ffmpeg-wasm.sh`; - the other dependency scripts under `build/`. The build uses Emscripten SDK 3.1.40 and FFmpeg n5.1.4. Its one source patch applies upstream ffmpeg.wasm commit `b409e36475bc21f0451b5b1e1d126fa82871439a`, which raises the Emscripten stack to 5 MiB and fixes the libopus encode failure reported upstream. The tracked `scripts/build-reviewed-ffmpeg-core.sh` driver in the matching av-tools source release also isolates optional host dependencies and records the exact toolchain identities. The generated assets' exact sizes, hashes and embedded configure arguments are recorded in the application's `SOURCE.md`, `scripts/reviewed-ffmpeg-core-lock.json` and `docs/FFMPEG_BUILD.md`. The source archive preserves each component's own licence and copyright notices. av-tools itself is distributed separately under GPL-3.0-or-later. Codec patent permissions, where required, are separate from copyright licences. To fetch and verify an identity: ```sh git init source-check git -C source-check fetch --depth 1 test "$(git -C source-check rev-parse FETCH_HEAD)" = "" ``` The included ffmpeg.wasm Dockerfile documents the historical upstream build, but still names remote tags and branches. For the distributed reviewed profile, use this archive together with the matching av-tools source release and invoke its `scripts/build-reviewed-ffmpeg-core.sh` driver. The bundled `sources/zimg/` tree already contains its pinned GoogleTest submodule at `test/extra/googletest/`. General-purpose build tooling such as Git, Docker/BuildKit and the Emscripten 3.1.40 container image is not copied into this archive.