1. FFmpeg
Basis for Android includes FFmpeg, used to decode audio formats that some devices do not decode themselves. FFmpeg is free software licensed under the GNU Lesser General Public License, version 2.1 or later.
- Version: FFmpeg
n6.0.1, unmodified. - Configuration: built with
--disable-gpl, so no GPL-only component is included. Audio decoders only: no video decoder and no demuxer is built. - How it is linked: the FFmpeg libraries are compiled for each
Android ABI and linked into a single loadable library,
libffmpegJNI.so, which ships inside the application package. - Copyright: the FFmpeg developers. See the project's own
CREDITSandLICENSE.mdin the source below.
The full text of the GNU Lesser General Public License, version 2.1, is published by
the Free Software Foundation at
gnu.org/licenses/old-licenses/lgpl-2.1.html,
and a copy is distributed with our source at
libs/LICENSE-LGPL-2.1.txt.
2. Obtaining and rebuilding the source
You are entitled to obtain the source for the FFmpeg version we ship, to modify it, and to relink Basis against your modified copy. Everything needed to do that is published:
- The upstream source is the unmodified public tag
n6.0.1from git.ffmpeg.org/ffmpeg.git. We apply no patches to it. - The exact build, including every configure flag and the decoder list, is the
script
scripts/build-ffmpeg-audio.shin the Basis Android source tree. Running it reproduces the library we ship. - To relink, replace
libffmpegJNI.soin the application package with your own build of the same interface, or rebuild the application from source against it.
If you would like the corresponding source or the intermediate object files sent to you directly rather than fetching them yourself, ask through the contact form in section 4 and we will provide them.
3. Other components
Basis also includes the following open-source software. Each is used under its own licence, and each licence's full text is available at the link given.
- AndroidX Media3 and the AndroidX libraries, including the
FfmpegAudioRendererwrapper andffmpeg_jni.ccthat bridge to FFmpeg. Apache License 2.0. - Kotlin and the Kotlin coroutines and serialization libraries, JetBrains. Apache License 2.0.
- OkHttp and Retrofit, Square. Apache License 2.0.
- Coil, image loading. Apache License 2.0.
- Dagger and Hilt, dependency injection, Google. Apache License 2.0.
- Ktor and the supabase-kt client. Apache License 2.0 and MIT respectively.
- ZXing, barcode rendering. Apache License 2.0.
- Google Play Services components for casting, and Firebase for crash reporting and analytics, under Google's own terms.
The full text of the Apache License 2.0 is at
apache.org/licenses/LICENSE-2.0.
A complete, versioned list of the components in each release is distributed with our
source as THIRD-PARTY-NOTICES.md.
4. Requests
For a copy of any source we are obliged to provide, or for any question about the licensing of a component listed here, contact us through the contact form. We will respond within a reasonable period and at no charge beyond the cost of delivery.