Merge branch 'master' into what-the-codec

media-file
Javernaut 5 years ago
commit 6e1d07a357
  1. 4
      .travis.yml
  2. 21
      LICENSE.txt
  3. 6
      README.md
  4. 2
      scripts/libaom/download.sh
  5. 2
      scripts/libdav1d/download.sh
  6. 2
      scripts/parse-arguments.sh

@ -6,10 +6,10 @@ install:
- curl https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip --output $HOME/android-sdk.zip - curl https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip --output $HOME/android-sdk.zip
- unzip -qq $HOME/android-sdk.zip -d $HOME/android-sdk - unzip -qq $HOME/android-sdk.zip -d $HOME/android-sdk
- export ANDROID_SDK_HOME=$HOME/android-sdk - export ANDROID_SDK_HOME=$HOME/android-sdk
- export ANDROID_NDK_HOME=$ANDROID_SDK_HOME/ndk/21.0.6113669 - export ANDROID_NDK_HOME=$ANDROID_SDK_HOME/ndk/21.1.6352462
# Installing necessary components of Android SDK # Installing necessary components of Android SDK
- function installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} $1 > /dev/null; } - function installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} $1 > /dev/null; }
- installAndroidComponent "ndk;21.0.6113669" - installAndroidComponent "ndk;21.1.6352462"
- installAndroidComponent "cmake;3.10.2.4988404" - installAndroidComponent "cmake;3.10.2.4988404"
# Installing meson, ninja and nasm that are necessary for libdav1d building # Installing meson, ninja and nasm that are necessary for libdav1d building
- sudo apt-get install python3-pip python3-setuptools python3-wheel ninja-build - sudo apt-get install python3-pip python3-setuptools python3-wheel ninja-build

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 Alexander Berezhnoi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@ -13,7 +13,7 @@ The script also produces `ffmpeg` and `ffprobe` executables that can be used in
The main focus of ffmpeg-android-maker is to prepare shared libraries for seamless integration into an Android project. The script prepares the `output` directory that is meant to be used. And it's not the only thing this project does. The main focus of ffmpeg-android-maker is to prepare shared libraries for seamless integration into an Android project. The script prepares the `output` directory that is meant to be used. And it's not the only thing this project does.
By default this script downloads and builds the FFmpeg **4.2.2**, but the version can be overridden. By default this script downloads and builds the FFmpeg **4.2.3**, but the version can be overridden.
The details of how this script is implemented are described in this series of posts: The details of how this script is implemented are described in this series of posts:
* [Part 1](https://proandroiddev.com/a-story-about-ffmpeg-in-android-part-i-compilation-898e4a249422) * [Part 1](https://proandroiddev.com/a-story-about-ffmpeg-in-android-part-i-compilation-898e4a249422)
@ -71,3 +71,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). **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 Travis CI build will automatically fail if text relocations occur.
## License
The ffmpeg-android-maker's source code is available under the MIT license. See the `LICENSE.txt` file for more details.

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

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

@ -9,7 +9,7 @@
ABIS_TO_BUILD=() ABIS_TO_BUILD=()
API_LEVEL=16 API_LEVEL=16
SOURCE_TYPE=TAR SOURCE_TYPE=TAR
SOURCE_VALUE=4.2.2 SOURCE_VALUE=4.2.3
BINUTILS=gnu BINUTILS=gnu
EXTERNAL_LIBRARIES=() EXTERNAL_LIBRARIES=()

Loading…
Cancel
Save