Skip to content

Commit 45b0649

Browse files
committed
Merge branch 'master' into media-file
2 parents f2d0404 + 2249c7c commit 45b0649

File tree

12 files changed

+61
-19
lines changed

12 files changed

+61
-19
lines changed

.github/workflows/compilability_check.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ jobs:
88
abi: [ "armeabi-v7a", "arm64-v8a", "x86", "x86_64" ]
99
fail-fast: false
1010
steps:
11-
- uses: actions/checkout@v3
11+
- uses: actions/checkout@v4
1212

1313
- name: Setup the environment
1414
run: |
15-
sudo pip3 install meson==1.2.2
15+
sudo pip3 install meson==1.4.0
1616
sudo apt-get install nasm ninja-build
1717
1818
- name: Executing the script

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The script also produces `ffmpeg` and `ffprobe` executables that can be used in
1313

1414
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.
1515

16-
By default this script downloads and builds the FFmpeg **6.1**, but the version can be overridden.
16+
By default this script downloads and builds the FFmpeg **7.0**, but the version can be overridden.
1717

1818
The details of how this script is implemented are described in this series of posts:
1919
* [Part 1](https://proandroiddev.com/a-story-about-ffmpeg-in-android-part-i-compilation-898e4a249422)

scripts/libaom/download.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
source ${SCRIPTS_DIR}/common-functions.sh
44

5-
AOM_VERSION=v3.7.0
5+
AOM_VERSION=v3.8.2
66

77
downloadTarArchive \
88
"libaom" \

scripts/libdav1d/download.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
source ${SCRIPTS_DIR}/common-functions.sh
44

5-
DAV1D_VERSION=1.3.0
5+
DAV1D_VERSION=1.4.1
66

77
downloadTarArchive \
88
"libdav1d" \

scripts/libvpx/download.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
source ${SCRIPTS_DIR}/common-functions.sh
44

5-
VPX_VERSION=v1.13.1
5+
VPX_VERSION=v1.14.0
66

77
downloadTarArchive \
88
"libvpx" \

scripts/libwavpack/download.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
source ${SCRIPTS_DIR}/common-functions.sh
44

5-
WAVPACK_VERSION=5.6.0
5+
WAVPACK_VERSION=5.7.0
66

77
downloadTarArchive \
88
"libwavpack" \

scripts/libx265/download.sh

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
source ${SCRIPTS_DIR}/common-functions.sh
44

5-
LIBX265_VERSION=3.5
5+
LIBX265_VERSION=3.6
66

7+
# For 3.6 (and presumably above) it is necessary to pass 'true' as the last argument
78
downloadTarArchive \
89
"libx265" \
9-
"https://bitbucket.org/multicoreware/x265_git/downloads/x265_${LIBX265_VERSION}.tar.gz"
10+
"https://bitbucket.org/multicoreware/x265_git/downloads/x265_${LIBX265_VERSION}.tar.gz" \
11+
true

scripts/libxml2/build.sh

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env bash
2+
3+
./autogen.sh \
4+
--prefix=${INSTALL_DIR} \
5+
--host=${TARGET} \
6+
--with-sysroot=${SYSROOT_PATH} \
7+
--disable-shared \
8+
--disable-fast-install \
9+
--enable-static \
10+
--with-zlib \
11+
--with-pic \
12+
--without-python \
13+
--without-debug \
14+
--without-lzma \
15+
CC=${FAM_CC} \
16+
AR=${FAM_AR} \
17+
RANLIB=${FAM_RANLIB} || exit 1
18+
19+
export FFMPEG_EXTRA_LD_FLAGS="${FFMPEG_EXTRA_LD_FLAGS} -lm -lz"
20+
21+
${MAKE_EXECUTABLE} clean
22+
${MAKE_EXECUTABLE} -j${HOST_NPROC}
23+
${MAKE_EXECUTABLE} install

scripts/libxml2/download.sh

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
3+
source ${SCRIPTS_DIR}/common-functions.sh
4+
5+
XML_VERSION=2.11.7
6+
7+
downloadTarArchive \
8+
"libxml2" \
9+
"https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${XML_VERSION}/libxml2-v${XML_VERSION}.tar.gz"

scripts/mbedtls/download.sh

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
#!/usr/bin/env bash
22

3-
source ${SCRIPTS_DIR}/common-functions.sh
3+
MBEDTLS_VERSION=v3.6.0
44

5-
export MBEDTLS_VERSION=3.5.1
6-
downloadTarArchive \
7-
"mbedtls" \
8-
"https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v${MBEDTLS_VERSION}.tar.gz" \
9-
true
5+
git clone \
6+
--depth 1 \
7+
--branch $MBEDTLS_VERSION \
8+
--recursive \
9+
https://github.com/Mbed-TLS/mbedtls.git \
10+
$MBEDTLS_VERSION
11+
12+
LIBRARY_NAME=mbedtls
13+
export SOURCES_DIR_${LIBRARY_NAME}=$(pwd)/${MBEDTLS_VERSION}

scripts/parse-arguments.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
ABIS_TO_BUILD=()
1010
API_LEVEL=21
1111
SOURCE_TYPE=TAR
12-
SOURCE_VALUE=6.1
12+
SOURCE_VALUE=7.0
1313
EXTERNAL_LIBRARIES=()
1414
FFMPEG_GPL_ENABLED=false
1515

@@ -27,6 +27,7 @@ SUPPORTED_LIBRARIES_FREE=(
2727
"libfribidi"
2828
"mbedtls"
2929
"libbluray"
30+
"libxml2"
3031
)
3132

3233
# All GPL libraries that are supported
@@ -124,6 +125,9 @@ for argument in "$@"; do
124125
--enable-libbluray | -bluray)
125126
EXTERNAL_LIBRARIES+=("libbluray")
126127
;;
128+
--enable-libxml2 | -xml2)
129+
EXTERNAL_LIBRARIES+=("libxml2")
130+
;;
127131
--enable-all-free | -all-free)
128132
EXTERNAL_LIBRARIES+=" ${SUPPORTED_LIBRARIES_FREE[@]}"
129133
;;

tools/docker/Dockerfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ FROM --platform=linux/amd64 ubuntu:22.04
22

33
# Arguments that can be overridden in 'docker build' command:
44
# Versions of Android SDK and NDK. The CMake is installed via NDK.
5-
ARG VERSION_SDK=10406996
6-
ARG VERSION_NDK=26.1.10909125
5+
ARG VERSION_SDK=11076708
6+
ARG VERSION_NDK=26.2.11394342
77
ARG VERSION_CMAKE=3.22.1
88

99
# Package to install via pip3
10-
ARG VERSION_MESON=1.2.2
10+
ARG VERSION_MESON=1.4.0
1111

1212
# The HOME variable isn't available for ENV directive (during building an image).
1313
# So we define one manually. For alpine and ubuntu it should be '/root'

0 commit comments

Comments
 (0)