# LGPL integrated build — build/source/library replacement

This supersedes the standalone-file packaging instructions. Core JS/WASM and
LGPL source archive bytes are unchanged from the audited/passing r1 candidate.
Only delivery changes: assets live beside the app on the same HTTPS origin;
the source archive is split into five uploadable parts with exact hashes.

## Obtain the corresponding source

Open `SOURCES.html` on the hosted site and select Download complete source
archive. It validates each part, reassembles and validates the full original
`ffmpeg-lgpl-corresponding-source.tgz`. Or, with Node installed:

```sh
node LEGAL/join-source.cjs
```

Run from the unpacked release folder. It refuses to overwrite an existing archive.
Manual concatenation in part01–part05 order gives the same bytes; compare the
SHA-256 in `SOURCE-PARTS.json`. All parts and sources accompany this package;
no external source-hosting account or access to the developer's machine is needed.

Extract the archive into a NEW empty directory. Follow
`integration/BUILD-AND-RELINK.md` for the exact historical core build recipe,
source pins, SDK version discrepancy, source patch, static-library relink
instructions and recipient rights. Those CORE build instructions still apply.
Its older application's base64/repack section is superseded below. Full original
FFmpeg source, retained library sources, runtime/SDL2 sources, patches, build
scripts/config and licenses remain in that unmodified archive.

## Replace the library in your local web application copy

The shipped `index.html` contains all application/adapter source, and
`integration-loader.js` is the readable current acquisition/cache source.
The official app accepts only its pinned audited core. This integrity check is
not a private signing key or a restriction on modifying a recipient's own copy.

With a compatible single-thread Emscripten `_main`/adapter-0.11.6 replacement:

```sh
node LEGAL/repack-local-core.cjs index.html /path/to/your/ffmpeg-core.js /path/to/your/ffmpeg-core.wasm PitchMe-local.html local-my-core-1
```

The output HTML must not already exist, and must be in the same directory as
the input index. The helper creates a new versioned asset directory beside it,
copies your JS/WASM unchanged and updates the local-copy size/hash/cache pins.
The official index, core and legal files are untouched. Known old nonredistributable
bytes are rejected. No private key, network service or original developer's
approval is needed. The helper/source is editable. Serve your modified copy
over HTTPS; record changes and validate its licensing, compatibility and sync.

Nothing in PitchMe terms overrides LGPL rights to modify/rebuild/relink/replace
the LGPL components or reverse engineer the combined work to debug such
modifications. Independent pre-existing DSP/application code is not relicensed.
The supplied archive builds the whole statically linked library, and no
proprietary PitchMe object code is linked into it. Notices/rights exceptions
must accompany any later approved public distribution and applicable EULA
translations. Copyright compliance is not codec-patent clearance.

The owner approved final local stable integration after desktop/Android validation.
No deployment is performed by this integration. Before distribution, complete
the final release checklist and keep these notices/source parts accessible.
Runtime comments identifying the historical web-r2 test are intentionally
unchanged, preserving the exact manually validated application bytes.
See THIRD-PARTY-NOTICES.html and FINAL-LICENSE-AUDIT.md at the application root.
