# FFmpeg WebAssembly Corresponding Source This archive accompanies the exact `@ffmpeg/core` and `@ffmpeg/core-mt` 0.12.10 object code distributed by av-tools 0.1.0. `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 upstream build selects Emscripten SDK 3.1.40 and FFmpeg n5.1.4. av-tools does not modify the five published JavaScript/WebAssembly core assets. Their exact sizes, hashes and embedded configure arguments are recorded in the application's `SOURCE.md` 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. It is not a turnkey offline or byte-for-byte reproducible build recipe. To reconstruct a pinned build, adapt each remote `ADD` to use the corresponding bundled source tree. Replace the zimg `git clone -b ... --recursive` step with the bundled `sources/zimg/` tree, which already contains its pinned GoogleTest submodule at `test/extra/googletest/`. Keep the included build scripts and Emscripten version unchanged. The upstream targets are `make prd` for single-thread and `make prd-mt` for multithread. General-purpose build tooling such as Git, Docker/BuildKit and the Emscripten 3.1.40 container image is not copied into this archive.