mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-02 03:36:54 +08:00
Task-number: QTBUG-142159 Pick-to: 6.11 6.10.2 6.10 6.8 6.5 Change-Id: I139e4961185d5a88900ba9582a4f8ce10e7ea4c1 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Tim Blechmann <tim.blechmann@qt.io> Reviewed-by: Elias Toivola <elias.toivola@qt.io>
80 lines
2.1 KiB
Bash
Executable File
80 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2024 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
ffmpeg_version_default() {
|
|
echo "n7.1.3"
|
|
}
|
|
|
|
download_ffmpeg() {
|
|
local version="${1:-$(ffmpeg_version_default)}"
|
|
local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
|
|
|
|
local ffmpeg_name="FFmpeg-$version"
|
|
local target_dir="$HOME"
|
|
local ffmpeg_source_dir="$target_dir/$ffmpeg_name"
|
|
|
|
if [ ! -d "$ffmpeg_source_dir" ]; then
|
|
local url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
|
|
local url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
|
|
local app_prefix=""
|
|
|
|
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
|
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix" > /dev/null
|
|
fi
|
|
|
|
echo "$ffmpeg_source_dir"
|
|
}
|
|
|
|
get_ffmpeg_config_options() {
|
|
local build_type="$1"
|
|
local result
|
|
|
|
result=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
|
|
|
|
if [ "$build_type" != "static" ]; then
|
|
result+=" --enable-shared --disable-static"
|
|
fi
|
|
|
|
echo "$result"
|
|
}
|
|
|
|
|
|
get_ffmpeg_build_type() {
|
|
local result="${1:-shared}"
|
|
|
|
if [ "$result" != "static" ] && [ "$result" != "shared" ]; then
|
|
>&2 echo "Invalid build_type: $result. The shared build type will be used."
|
|
result="shared"
|
|
fi
|
|
|
|
echo "$result"
|
|
}
|
|
|
|
set_ffmpeg_dir_env_var() {
|
|
local envvar="$1"
|
|
local dir="$2"
|
|
|
|
if [ ! -d "$dir" ]; then
|
|
>&2 echo "the FFmpeg dir $dir doesn't exist"
|
|
exit 1
|
|
fi
|
|
|
|
# minimal validity check, more checks can be added
|
|
if [ ! -d "$dir/include" ] || [ ! -d "$dir/lib" ]; then
|
|
>&2 echo "The FFmpeg dir $dir is not valid"
|
|
exit 1
|
|
fi
|
|
|
|
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
|
SetEnvVar "$envvar" "$dir"
|
|
}
|
|
|
|
set_ffmpeg_env_var() {
|
|
local envvar="$1"
|
|
local value="$2"
|
|
|
|
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
|
SetEnvVar "$envvar" "$value"
|
|
}
|