Merge branch 'master' into what-the-codec

media-file
Javernaut 4 years ago
commit 45c925cf1e
  1. 21
      .github/workflows/compilability_check.yml
  2. 33
      .travis.yml
  3. 4
      README.md
  4. 2
      scripts/libaom/download.sh
  5. 2
      scripts/libdav1d/download.sh
  6. 2
      scripts/libvpx/download.sh
  7. 2
      scripts/libwavpack/download.sh
  8. 4
      scripts/libx264/download.sh
  9. 8
      tools/docker/Dockerfile

@ -0,0 +1,21 @@
name: Compilability check
on: push
jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
abi: [ "armeabi-v7a", "arm64-v8a", "x86", "x86_64" ]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Setup the environment
run: |
sudo pip3 install meson==0.57.1
sudo apt-get install nasm ninja-build
- name: Executing the script
run: |
export ANDROID_SDK_HOME=$ANDROID_HOME
./ffmpeg-android-maker.sh -dav1d -abis=${{ matrix.abi }}

@ -1,33 +0,0 @@
language: java
jdk: openjdk8
dist: xenial
install:
# Installing Android SDK
- curl https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip --output $HOME/android-sdk.zip
- unzip -qq $HOME/android-sdk.zip -d $HOME/android-sdk
- export ANDROID_SDK_HOME=$HOME/android-sdk
- export ANDROID_NDK_HOME=$ANDROID_SDK_HOME/ndk/21.3.6528147
# Installing necessary components of Android SDK
- function installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} $1 > /dev/null; }
- installAndroidComponent "ndk;21.3.6528147"
- installAndroidComponent "cmake;3.10.2.4988404"
# Installing meson, ninja and nasm that are necessary for libdav1d building
- sudo apt-get install python3-pip python3-setuptools python3-wheel ninja-build
- sudo pip3 install meson==0.53.2
- curl http://archive.ubuntu.com/ubuntu/pool/universe/n/nasm/nasm_2.14.02-1_amd64.deb --output $HOME/nasm_2.14.02-1_amd64.deb
- sudo dpkg -i $HOME/nasm_2.14.02-1_amd64.deb
jobs:
include:
- name: armeabi-v7a
env: TARGET_ABI=armeabi-v7a
- name: arm64-v8a
env: TARGET_ABI=arm64-v8a
- name: x86
env: TARGET_ABI=x86
- name: x86_64
env: TARGET_ABI=x86_64
script:
- ./ffmpeg-android-maker.sh -dav1d -abis=$TARGET_ABI

@ -1,7 +1,7 @@
# ffmpeg-android-maker
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/6b9a9fe4c6874e65a5e2a3f9beb15605)](https://app.codacy.com/manual/Javernaut/ffmpeg-android-maker)
[![Build Status](https://travis-ci.org/Javernaut/ffmpeg-android-maker.svg?branch=master)](https://travis-ci.org/Javernaut/ffmpeg-android-maker)
[![Compilability check](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml/badge.svg?branch=master)](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml)
[![Android Weekly #378](https://androidweekly.net/issues/issue-378/badge)](https://androidweekly.net/issues/issue-378)
[![Android Weekly #396](https://androidweekly.net/issues/issue-396/badge)](https://androidweekly.net/issues/issue-396)
@ -70,7 +70,7 @@ Certain external libraries require additional software to be installed. Check th
**Test your script in a cloud**. This repository has CI integration and you can use it too for your own configurations. See details [here](https://github.com/Javernaut/ffmpeg-android-maker/wiki/Build-automation).
**Text relocations monitoring**. After an assembling is finished you can look into stats/text-relocations.txt file. This file lists all \*.so files that were built and reports if any of them has text relocations. If you don't see any mentioning of 'TEXTREL' in the file, you are good. Otherwise, you will see exact binaries that have this problem. The Travis CI build will automatically fail if text relocations occur.
**Text relocations monitoring**. After an assembling is finished you can look into stats/text-relocations.txt file. This file lists all \*.so files that were built and reports if any of them has text relocations. If you don't see any mentioning of 'TEXTREL' in the file, you are good. Otherwise, you will see exact binaries that have this problem. The Github Actions' Compilability check build will automatically fail if text relocations occur.
## License

@ -2,7 +2,7 @@
source ${SCRIPTS_DIR}/common-functions.sh
AOM_VERSION=v2.0.0
AOM_VERSION=v2.0.2
downloadTarArchive \
"libaom" \

@ -2,7 +2,7 @@
source ${SCRIPTS_DIR}/common-functions.sh
DAV1D_VERSION=0.7.0
DAV1D_VERSION=0.8.1
downloadTarArchive \
"libdav1d" \

@ -2,7 +2,7 @@
source ${SCRIPTS_DIR}/common-functions.sh
VPX_VERSION=v1.8.2
VPX_VERSION=v1.9.0
downloadTarArchive \
"libvpx" \

@ -2,7 +2,7 @@
source ${SCRIPTS_DIR}/common-functions.sh
WAVPACK_VERSION=5.3.0
WAVPACK_VERSION=5.4.0
downloadTarArchive \
"libwavpack" \

@ -4,8 +4,8 @@ source ${SCRIPTS_DIR}/common-functions.sh
# Libx264 doesn't have any versioning system. Currently it has 2 branches: master and stable.
# Latest commit in stable branch
# Tue Jun 30 22:28:05 2020 +0300
LIBX264_VERSION=cde9a93319bea766a92e306d69059c76de970190
# Thu Jan 21 16:41:42 2021 +0300
LIBX264_VERSION=544c61f082194728d0391fb280a6e138ba320a96
downloadTarArchive \
"libx264" \

@ -2,12 +2,12 @@ FROM ubuntu:20.04
# Arguments that can be overridden in 'docker build' command:
# Versions of Android SDK and NDK. The CMake is installed via NDK.
ARG VERSION_SDK=6609375
ARG VERSION_NDK=21.3.6528147
ARG VERSION_SDK=6858069
ARG VERSION_NDK=21.4.7075529
ARG VERSION_CMAKE=3.10.2.4988404
# Package to install via pip3
ARG VERSION_MESON=0.53.2
ARG VERSION_MESON=0.57.1
# The HOME variable isn't available for ENV directive (during building an image).
# So we define one manually. For alpine and ubuntu it should be '/root'
@ -46,7 +46,7 @@ RUN mkdir -p ${HOME_TWIN}/android-sdk && \
rm ${HOME_TWIN}/android-sdk.zip
# Installing components through the Android SDK
RUN installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} "$1" > /dev/null; } && \
RUN installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} "$1" > /dev/null; } && \
installAndroidComponent "ndk;${VERSION_NDK}" && \
installAndroidComponent "cmake;${VERSION_CMAKE}"

Loading…
Cancel
Save