Zapline

Licenses & credits

FFmpeg (LGPL)

Zapline for Android includes audio decoders from FFmpeg, used through the AndroidX Media3 decoder_ffmpeg extension (Media3 1.11.1, Apache License 2.0). FFmpeg is licensed under the GNU Lesser General Public License version 2.1 or later. Zapline's build is LGPL only: configured with --disable-gpl --disable-nonfree, no GPL or non-free parts. FFmpeg is linked into a separate shared library (libffmpegJNI.so) inside the app.

Exact version

Configure flags

Common to every ABI:

--target-os=android --enable-static --disable-shared --disable-doc --disable-programs --disable-everything --disable-avdevice --disable-avformat --disable-swscale --disable-postproc --disable-avfilter --disable-symver --enable-swresample --extra-ldexeflags=-pie --disable-v4l2-m2m --disable-vulkan --disable-gpl --disable-nonfree --enable-decoder=ac3 --enable-decoder=eac3 --enable-decoder=dca --enable-decoder=truehd --enable-decoder=mlp --enable-decoder=mp2 --enable-decoder=mp3 --enable-decoder=flac --enable-decoder=vorbis --enable-decoder=opus --enable-decoder=alac --enable-decoder=pcm_s16le --enable-decoder=pcm_s24le --enable-decoder=pcm_s32le --enable-decoder=aac

Per ABI (plus --libdir=android-libs/<abi> and the NDK --nm/--ar/--ranlib/--strip tools):

armeabi-v7a: --arch=arm --cpu=armv7-a --cross-prefix=armv7a-linux-androideabi24- --extra-cflags="-march=armv7-a -mfloat-abi=softfp" --extra-ldflags="-Wl,--fix-cortex-a8"
arm64-v8a:   --arch=aarch64 --cpu=armv8-a --cross-prefix=aarch64-linux-android24-
x86_64:      --arch=x86_64 --cpu=x86-64 --cross-prefix=x86_64-linux-android24- --disable-asm

Written offer

For at least three years from the last time we distribute this version of Zapline, we will give anyone who asks a complete machine-readable copy of the source code of the FFmpeg library used in it, together with the build scripts, for no more than the cost of physically performing the distribution. Write to gnurtnel@gmail.com. You may modify FFmpeg and rebuild libffmpegJNI.so with the script above; reverse engineering for debugging such modifications is permitted.

Demo content (Creative Commons Attribution)

The in-app demo uses fictional channels, guide data, logos and the fictional series “Harbor Lights”, generated for Zapline. No real broadcaster, brand or programme is depicted. All video comes from Blender Foundation / Blender Studio open movies. © Blender Foundation | www.blender.org

FilmYearLicenseStudio site
Big Buck Bunny2008CC BY 3.0https://peach.blender.org
Elephants Dream2006CC BY 2.5https://orange.blender.org
Sintel2010CC BY 3.0https://durian.blender.org
Tears of Steel2012CC BY 3.0https://mango.blender.org
Cosmos Laundromat2015CC BY 4.0https://studio.blender.org/films/cosmos-laundromat/

“Harbor Lights” episodes and the live demo channels are short excerpts of the films above (the first 150 seconds, looped), unmodified apart from trimming and re-encoding.

Posters

FilmFileLicenseAuthor (as given on Commons)Source
Big Buck Bunnyposters/big-buck-bunny.jpgCC BY 3.0(c) copyright Blender Foundation / peach.blender.orghttps://commons.wikimedia.org/wiki/File:Big_buck_bunny_poster_big.jpg
Elephants Dreamposters/elephants-dream.jpgCC BY 4.0Bassam Kurdali, Andy Goralczyk, and the Blender Foundationhttps://commons.wikimedia.org/wiki/File:ElephantsDreamPoster.jpg
Sintelposters/sintel.jpgCC BY 3.0(c) copyright Blender Foundation / durian.blender.orghttps://commons.wikimedia.org/wiki/File:Sintel_poster.jpg
Tears of Steelposters/tears-of-steel.jpgCC BY 3.0(CC) Blender Foundation / Project Mangohttps://commons.wikimedia.org/wiki/File:Tos-poster.png
Cosmos Laundromatposters/cosmos-laundromat.jpgCC BY 4.0Andy Goralczyk and the Blender Foundationhttps://commons.wikimedia.org/wiki/File:CosmosLaundromatPoster.jpg
Harbor Lights (fictional)posters/harbor-lights.pnggeneratedZaplinebuild_demo.py

Posters are 960 px thumbnails of the Wikimedia Commons originals; the Tears of Steel PNG was re-encoded to JPEG. Plain-text version: CREDITS.md.

Other open-source components

The app also uses AndroidX / Jetpack (including Media3 and Room), Kotlin and kotlinx libraries, Ktor, OkHttp and Okio, Coil, Koin, MaterialKolor, Haze, Compose Shimmer, Reorderable and SQLite. Their licenses are listed in the app under Settings → Credits.