Skip to content
This repository has been archived by the owner on Oct 7, 2021. It is now read-only.

Project Layout

Taner Şener edited this page Jul 26, 2020 · 18 revisions

Files in this project are organized according to the layout below.

mobile-ffmpeg/
├── LICENSE.LGPLv3
├── LICENSE.GPLv3
├── README.md
├── android/
│   ├── ...
│   ├── app/
│   ├── jni/
│   └── test-app/
├── android.sh
├── build/
│   └── ...
├── docs/
├── ios/
│   ├── ...
│   ├── src/ 
│   └── test-app/
├── ios.sh
├── prebuilt/
├── src/
│   └── ...
├── tools/
│   └── ...
├── tvos/
│   └── test-app/
├── tvos.sh
└── .tmp/

Project root includes seven directories, three top level build scripts (android.sh, ios.sh and tvos.sh), two LICENSE files and the README.md file.

  • android folder contains files necessary to build MobileFFmpeg Android library. These files are;

    • Configuration files required by gradle
    • Documentation configuration file for doxygen
    • Source files stored inside app folder
    • NDK build files under jni folder
    • Android test application in test-app folder
  • build directory includes all scripts called by top-level build scripts.

    • Android specific scripts start with android- prefix
    • iOS / tvOS specific scripts start with either ios- prefix or tvos- prefix
    • Files prefixed with main- are responsible of building an architecture for each platform
    • arch-common.sh file includes common functions used by all platforms
  • docs folder contains documentation files and digital assets.

  • ios directory contains files necessary to build MobileFFmpeg iOS / tvOS library. They are;

    • Configuration files required by Autotools
    • Documentation configuration for doxygen
    • Source files stored inside src folder
    • iOS test applications in test-app folder
  • src directory includes source code of all external libraries except the ones listed below.

    • ffmpeg
    • cpu-features
    • libvid.stab
    • rubberband
    • x264
    • x265
    • xvidcore
  • tools directory includes patch files and release scripts.

  • tvos directory contains tvOS test applications in test-app folder.

  • A temporary folder named .tmp is created at the beginning of compilation to download gas-preprocessor.pl and the source code of external libraries.

  • After the compilation, all compiled objects (libraries, universal binaries, frameworks, xcframeworks, android archives, etc.) are generated under prebuilt directory.

    • Android archive (.aar file) is located under the android-aar folder
    • iOS frameworks are located under the ios-framework folder
    • iOS xcframeworks are located under the ios-xcframework folder
    • iOS universal binaries are located under the ios-universal folder
    • tvOS frameworks are located under the tvos-framework folder
    • tvOS universal binaries are located under the tvos-universal folder
Clone this wiki locally