From ade4488de9cdbe992de285857dbdff79b56076c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20Petter=20Sk=C3=A5lerud?= Date: Mon, 19 Jan 2026 10:43:29 +0100 Subject: [PATCH] FFmpeg, Android: Simplify OS parameter logic The script accepts an OS parameter, which is then forwarded into the `build_ffmpeg_android` function. This function expects a different set of values, that are different in name only, not in meaning. This patch makes us forward the OS parameter directly into the function and changes the internal logic accordingly. No functional changes. Pick-to: 6.11 6.10 6.8 Change-Id: I5614f1cf489594cfab2966a680e87a95c7be267b Reviewed-by: Artem Dyomin --- .../common/unix/install-ffmpeg-android.sh | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh index 01a2e9e3..253dc506 100755 --- a/coin/provisioning/common/unix/install-ffmpeg-android.sh +++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh @@ -24,43 +24,46 @@ assert_envvar_is_populated_dir() { } build_ffmpeg_android() { - local target_arch=$1 - local target_dir=$2 - local ndk_root=$3 - local openssl_android_path=$4 + local target_dir=$1 + local ndk_root=$2 + local openssl_android_path=$3 sudo mkdir -p "$target_dir" local openssl_include="$openssl_android_path/include" + local target_arch local openssl_libs local libs_prefix local target_cpu local target_toolchain_arch - if [ "$target_arch" == "x86_64" ]; then - target_toolchain_arch="x86_64-linux-android" - target_arch=x86_64 - target_cpu=x86-64 - openssl_libs="$openssl_android_path/x86_64" - libs_prefix="_x86_64" - elif [ "$target_arch" == "x86" ]; then + if [ "$os" == "android-x86" ]; then target_toolchain_arch="i686-linux-android" target_arch=x86 target_cpu=i686 openssl_libs="$openssl_android_path/x86" libs_prefix="_x86" - elif [ "$target_arch" == "arm32" ]; then + elif [ "$os" == "android-x86_64" ]; then + target_toolchain_arch="x86_64-linux-android" + target_arch=x86_64 + target_cpu=x86-64 + openssl_libs="$openssl_android_path/x86_64" + libs_prefix="_x86_64" + elif [ "$os" == "android-arm32" ]; then target_toolchain_arch="armv7a-linux-androideabi" target_arch=arm target_cpu=armv7-a openssl_libs="$openssl_android_path/armeabi-v7a" libs_prefix="_arm32-v7a" - elif [ "$target_arch" == "arm64" ]; then + elif [ "$os" == "android-arm64" ]; then target_toolchain_arch="aarch64-linux-android" target_arch=aarch64 target_cpu=armv8-a openssl_libs="$openssl_android_path/arm64-v8a" libs_prefix="_arm64-v8a" + else + >&2 echo "Unhandled android os param: $os" + exit 1 fi ln -Ffs "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so" @@ -127,28 +130,24 @@ build_ffmpeg_android() { } if [ "$os" == "android-x86" ]; then - target_arch=x86 target_dir="/usr/local/android/ffmpeg-x86" envvar_latest="FFMPEG_DIR_ANDROID_X86_NDK_LATEST" envvar_nightly1="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1" envvar_nightly2="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2" envvar_preview="FFMPEG_DIR_ANDROID_X86_NDK_PREVIEW" elif [ "$os" == "android-x86_64" ]; then - target_arch=x86_64 target_dir="/usr/local/android/ffmpeg-x86_64" envvar_latest="FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST" envvar_nightly1="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1" envvar_nightly2="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2" envvar_preview="FFMPEG_DIR_ANDROID_X86_64_NDK_PREVIEW" elif [ "$os" == "android-arm32" ]; then - target_arch=arm32 target_dir="/usr/local/android/ffmpeg-arm32" envvar_latest="FFMPEG_DIR_ANDROID_ARM32_NDK_LATEST" envvar_nightly1="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY1" envvar_nightly2="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY2" envvar_preview="FFMPEG_DIR_ANDROID_ARM32_NDK_PREVIEW" elif [ "$os" == "android-arm64" ]; then - target_arch=arm64 target_dir="/usr/local/android/ffmpeg-arm64" envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST" envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1" @@ -166,26 +165,26 @@ fi assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_LATEST" -build_ffmpeg_android "$target_arch" "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST" +build_ffmpeg_android "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST" set_ffmpeg_dir_env_var "$envvar_latest" "$target_dir/latest" if [ "${ANDROID_NDK_ROOT_PREVIEW}" ]; then assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_PREVIEW" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_PREVIEW" - build_ffmpeg_android "$target_arch" "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW" + build_ffmpeg_android "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW" set_ffmpeg_dir_env_var "$envvar_preview" "$target_dir/preview" fi if [ "${ANDROID_NDK_ROOT_NIGHTLY1}" ]; then assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY1" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY1" - build_ffmpeg_android "$target_arch" "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1" + build_ffmpeg_android "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1" set_ffmpeg_dir_env_var "$envvar_nightly1" "$target_dir/nightly1" fi if [ "${ANDROID_NDK_ROOT_NIGHTLY2}" ]; then assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY2" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY2" - build_ffmpeg_android "$target_arch" "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2" + build_ffmpeg_android "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2" set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2" fi