add support for zimg openssl and srt, fixes #28 and #241

This commit is contained in:
Taner Sener 2021-12-25 18:07:45 +00:00
parent 38d88e0c12
commit ae708befea
70 changed files with 684 additions and 279 deletions

View File

@ -137,25 +137,25 @@ indicates that `FFmpeg` source code is cloned from the `FFmpeg` `master` branch.
This table shows the differences between two variants. This table shows the differences between two variants.
| | Main Release | LTS Release | | | Main Release | LTS Release |
| :----: | :----: | :----: | | :----: | :----: |:---------------------------------------------------------:|
| Android API Level | 24 | 16 | | Android API Level | 24 | 16 |
| Android Camera Access | Yes | - | | Android Camera Access | Yes | - |
| Android Architectures | arm-v7a-neon<br/>arm64-v8a<br/>x86<br/>x86-64 | arm-v7a<br/>arm-v7a-neon<br/>arm64-v8a<br/>x86<br/>x86-64 | | Android Architectures | arm-v7a-neon<br/>arm64-v8a<br/>x86<br/>x86-64 | arm-v7a<br/>arm-v7a-neon<br/>arm64-v8a<br/>x86<br/>x86-64 |
| iOS Min SDK | 12.1 | 9.3 | | iOS Min SDK | 12.1 | 10 |
| iOS VideoToolbox | Yes | - | | iOS VideoToolbox | Yes | - |
| iOS AVFoundation | Yes | - | | iOS AVFoundation | Yes | - |
| iOS Architectures | arm64<br/>arm64-simulator<br/>arm64-mac-catalyst<br/>x86-64<br/>x86-64-mac-catalyst | armv7<br/>arm64<br/>i386<br/>x86-64 | | iOS Architectures | arm64<br/>arm64-simulator<br/>arm64-mac-catalyst<br/>x86-64<br/>x86-64-mac-catalyst | armv7<br/>arm64<br/>i386<br/>x86-64 |
| iOS Bundle Format | XCFrameworks | Frameworks | | iOS Bundle Format | XCFrameworks | Frameworks |
| Mac Catalyst Min Version | 14.0 | - | | Mac Catalyst Min Version | 14.0 | - |
| macOS Min SDK | 10.15 | 10.11 | | macOS Min SDK | 10.15 | 10.12 |
| macOS AVFoundation | Yes | - | | macOS AVFoundation | Yes | - |
| macOS Architectures | arm64<br/>x86-64 | x86-64 | | macOS Architectures | arm64<br/>x86-64 | x86-64 |
| macOS Bundle Format | XCFrameworks | Frameworks | | macOS Bundle Format | XCFrameworks | Frameworks |
| tvOS Min SDK | 11.0 | 9.2 | | tvOS Min SDK | 11.0 | 10.0 |
| tvOS VideoToolbox | Yes | - | | tvOS VideoToolbox | Yes | - |
| tvOS Architectures | arm64<br/>x86-64<br/>arm64-simulator | arm64<br/>x86-64 | | tvOS Architectures | arm64<br/>x86-64<br/>arm64-simulator | arm64<br/>x86-64 |
| tvOS Bundle Format | XCFrameworks | Frameworks | | tvOS Bundle Format | XCFrameworks | Frameworks |
### 11. Documentation ### 11. Documentation

View File

@ -138,7 +138,7 @@ fi
# PROCESS FULL OPTION AS LAST OPTION # PROCESS FULL OPTION AS LAST OPTION
if [[ -n ${BUILD_FULL} ]]; then if [[ -n ${BUILD_FULL} ]]; then
for library in {0..58}; do for library in {0..61}; do
if [ ${GPL_ENABLED} == "yes" ]; then if [ ${GPL_ENABLED} == "yes" ]; then
enable_library "$(get_library_name $library)" 1 enable_library "$(get_library_name $library)" 1
else else
@ -214,7 +214,7 @@ for run_arch in {0..12}; do
. "${BASEDIR}"/scripts/main-android.sh "${ENABLED_LIBRARIES[@]}" || exit 1 . "${BASEDIR}"/scripts/main-android.sh "${ENABLED_LIBRARIES[@]}" || exit 1
# CLEAR FLAGS # CLEAR FLAGS
for library in {0..58}; do for library in {0..61}; do
library_name=$(get_library_name ${library}) library_name=$(get_library_name ${library})
unset "$(echo "OK_${library_name}" | sed "s/\-/\_/g")" unset "$(echo "OK_${library_name}" | sed "s/\-/\_/g")"
unset "$(echo "DEPENDENCY_REBUILT_${library_name}" | sed "s/\-/\_/g")" unset "$(echo "DEPENDENCY_REBUILT_${library_name}" | sed "s/\-/\_/g")"
@ -272,7 +272,7 @@ if [[ -n ${ANDROID_ARCHITECTURES} ]]; then
# COPY LICENSES # COPY LICENSES
LICENSE_BASEDIR="${BASEDIR}"/android/ffmpeg-kit-android-lib/src/main/res/raw LICENSE_BASEDIR="${BASEDIR}"/android/ffmpeg-kit-android-lib/src/main/res/raw
rm -f "${LICENSE_BASEDIR}"/*.txt 1>>"${BASEDIR}"/build.log 2>&1 || exit 1 rm -f "${LICENSE_BASEDIR}"/*.txt 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
for library in {0..46}; do for library in {0..49}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
ENABLED_LIBRARY=$(get_library_name ${library} | sed 's/-/_/g') ENABLED_LIBRARY=$(get_library_name ${library} | sed 's/-/_/g')
LICENSE_FILE="${LICENSE_BASEDIR}/license_${ENABLED_LIBRARY}.txt" LICENSE_FILE="${LICENSE_BASEDIR}/license_${ENABLED_LIBRARY}.txt"

View File

@ -44,8 +44,8 @@ task javadoc(type: Javadoc) {
} }
dependencies { dependencies {
implementation 'com.arthenica:smart-exception-java:0.1.0' implementation 'com.arthenica:smart-exception-java:0.1.1'
testImplementation "androidx.test.ext:junit:1.1.2" testImplementation "androidx.test.ext:junit:1.1.3"
testImplementation "org.json:json:20201115" testImplementation "org.json:json:20201115"
} }

View File

@ -27,6 +27,7 @@ import java.text.SimpleDateFormat;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale;
/** /**
* <p>Responsible of loading native libraries. * <p>Responsible of loading native libraries.
@ -35,6 +36,8 @@ public class NativeLoader {
static final String[] FFMPEG_LIBRARIES = {"avutil", "swscale", "swresample", "avcodec", "avformat", "avfilter", "avdevice"}; static final String[] FFMPEG_LIBRARIES = {"avutil", "swscale", "swresample", "avcodec", "avformat", "avfilter", "avdevice"};
static final String[] LIBRARIES_LINKED_WITH_CXX = {"openh264", "rubberband", "snappy", "srt", "tesseract", "x265", "zimg"};
static boolean isTestModeDisabled() { static boolean isTestModeDisabled() {
return (System.getProperty("enable.ffmpeg.kit.test.mode") == null); return (System.getProperty("enable.ffmpeg.kit.test.mode") == null);
} }
@ -113,7 +116,7 @@ public class NativeLoader {
if (isTestModeDisabled()) { if (isTestModeDisabled()) {
return FFmpegKitConfig.getBuildDate(); return FFmpegKitConfig.getBuildDate();
} else { } else {
return new SimpleDateFormat("yyyyMMdd").format(new Date()); return new SimpleDateFormat("yyyyMMdd", Locale.getDefault()).format(new Date());
} }
} }
@ -135,8 +138,11 @@ public class NativeLoader {
/* LOADING LINKED LIBRARIES MANUALLY ON API < 21 */ /* LOADING LINKED LIBRARIES MANUALLY ON API < 21 */
final List<String> externalLibrariesEnabled = loadExternalLibraries(); final List<String> externalLibrariesEnabled = loadExternalLibraries();
if (externalLibrariesEnabled.contains("tesseract") || externalLibrariesEnabled.contains("x265") || externalLibrariesEnabled.contains("snappy") || externalLibrariesEnabled.contains("openh264") || externalLibrariesEnabled.contains("rubberband")) { for (String dependantLibrary : LIBRARIES_LINKED_WITH_CXX) {
loadLibrary("c++_shared"); if (externalLibrariesEnabled.contains(dependantLibrary)) {
loadLibrary("c++_shared");
break;
}
} }
if (AbiDetect.ARM_V7A.equals(loadNativeAbi())) { if (AbiDetect.ARM_V7A.equals(loadNativeAbi())) {

View File

@ -51,6 +51,7 @@ public class Packages {
supportedExternalLibraries.add("libxml2"); supportedExternalLibraries.add("libxml2");
supportedExternalLibraries.add("opencore-amr"); supportedExternalLibraries.add("opencore-amr");
supportedExternalLibraries.add("openh264"); supportedExternalLibraries.add("openh264");
supportedExternalLibraries.add("openssl");
supportedExternalLibraries.add("opus"); supportedExternalLibraries.add("opus");
supportedExternalLibraries.add("rubberband"); supportedExternalLibraries.add("rubberband");
supportedExternalLibraries.add("sdl2"); supportedExternalLibraries.add("sdl2");
@ -58,11 +59,13 @@ public class Packages {
supportedExternalLibraries.add("snappy"); supportedExternalLibraries.add("snappy");
supportedExternalLibraries.add("soxr"); supportedExternalLibraries.add("soxr");
supportedExternalLibraries.add("speex"); supportedExternalLibraries.add("speex");
supportedExternalLibraries.add("srt");
supportedExternalLibraries.add("tesseract"); supportedExternalLibraries.add("tesseract");
supportedExternalLibraries.add("twolame"); supportedExternalLibraries.add("twolame");
supportedExternalLibraries.add("x264"); supportedExternalLibraries.add("x264");
supportedExternalLibraries.add("x265"); supportedExternalLibraries.add("x265");
supportedExternalLibraries.add("xvid"); supportedExternalLibraries.add("xvid");
supportedExternalLibraries.add("zimg");
} }
/** /**
@ -134,7 +137,8 @@ public class Packages {
externalLibraryList.contains("twolame") && externalLibraryList.contains("twolame") &&
externalLibraryList.contains("x264") && externalLibraryList.contains("x264") &&
externalLibraryList.contains("x265") && externalLibraryList.contains("x265") &&
externalLibraryList.contains("xvid")) { externalLibraryList.contains("xvid") &&
externalLibraryList.contains("zimg")) {
return "full-gpl"; return "full-gpl";
} else { } else {
return "custom"; return "custom";
@ -164,7 +168,8 @@ public class Packages {
externalLibraryList.contains("snappy") && externalLibraryList.contains("snappy") &&
externalLibraryList.contains("soxr") && externalLibraryList.contains("soxr") &&
externalLibraryList.contains("speex") && externalLibraryList.contains("speex") &&
externalLibraryList.contains("twolame")) { externalLibraryList.contains("twolame") &&
externalLibraryList.contains("zimg")) {
return "full"; return "full";
} else { } else {
return "custom"; return "custom";
@ -182,7 +187,8 @@ public class Packages {
externalLibraryList.contains("libtheora") && externalLibraryList.contains("libtheora") &&
externalLibraryList.contains("libvpx") && externalLibraryList.contains("libvpx") &&
externalLibraryList.contains("libwebp") && externalLibraryList.contains("libwebp") &&
externalLibraryList.contains("snappy")) { externalLibraryList.contains("snappy") &&
externalLibraryList.contains("zimg")) {
return "video"; return "video";
} else { } else {
return "custom"; return "custom";

View File

@ -63,15 +63,18 @@ After that this script should be used to create an umbrella xcframework.\n"
echo -e " --enable-libxml2\t\tbuild umbrella xcframework for libxml2 [no]" echo -e " --enable-libxml2\t\tbuild umbrella xcframework for libxml2 [no]"
echo -e " --enable-opencore-amr\t\tbuild umbrella xcframework for opencore-amr [no]" echo -e " --enable-opencore-amr\t\tbuild umbrella xcframework for opencore-amr [no]"
echo -e " --enable-openh264\t\tbuild umbrella xcframework for openh264 [no]" echo -e " --enable-openh264\t\tbuild umbrella xcframework for openh264 [no]"
echo -e " --enable-openssl\t\tbuild umbrella xcframework for openssl [no]"
echo -e " --enable-opus\t\t\tbuild umbrella xcframework for opus [no]" echo -e " --enable-opus\t\t\tbuild umbrella xcframework for opus [no]"
echo -e " --enable-sdl\t\t\tbuild umbrella xcframework for sdl [no]" echo -e " --enable-sdl\t\t\tbuild umbrella xcframework for sdl [no]"
echo -e " --enable-shine\t\tbuild umbrella xcframework for shine [no]" echo -e " --enable-shine\t\tbuild umbrella xcframework for shine [no]"
echo -e " --enable-snappy\t\tbuild umbrella xcframework for snappy [no]" echo -e " --enable-snappy\t\tbuild umbrella xcframework for snappy [no]"
echo -e " --enable-soxr\t\t\tbuild umbrella xcframework for soxr [no]" echo -e " --enable-soxr\t\t\tbuild umbrella xcframework for soxr [no]"
echo -e " --enable-speex\t\tbuild umbrella xcframework for speex [no]" echo -e " --enable-speex\t\tbuild umbrella xcframework for speex [no]"
echo -e " --enable-srt\t\t\tbuild umbrella xcframework for srt [no]"
echo -e " --enable-tesseract\t\tbuild umbrella xcframework for tesseract [no]" echo -e " --enable-tesseract\t\tbuild umbrella xcframework for tesseract [no]"
echo -e " --enable-twolame\t\tbuild umbrella xcframework for twolame [no]" echo -e " --enable-twolame\t\tbuild umbrella xcframework for twolame [no]"
echo -e " --enable-vo-amrwbenc\t\tbuild umbrella xcframework for vo-amrwbenc [no]\n" echo -e " --enable-vo-amrwbenc\t\tbuild umbrella xcframework for vo-amrwbenc [no]"
echo -e " --enable-zimg\t\t\tbuild umbrella xcframework for zimg [no]\n"
echo -e "GPL libraries:" echo -e "GPL libraries:"
echo -e " --enable-libvidstab\t\tbuild umbrella xcframework for libvidstab [no]" echo -e " --enable-libvidstab\t\tbuild umbrella xcframework for libvidstab [no]"
@ -244,7 +247,7 @@ done
# PROCESS FULL OPTION AS LAST OPTION # PROCESS FULL OPTION AS LAST OPTION
if [[ -n ${BUILD_FULL} ]]; then if [[ -n ${BUILD_FULL} ]]; then
for library in {0..58}; do for library in {0..61}; do
if [ ${GPL_ENABLED} == "yes" ]; then if [ ${GPL_ENABLED} == "yes" ]; then
set_library "$(get_library_name "$library")" 1 set_library "$(get_library_name "$library")" 1
else else
@ -309,45 +312,6 @@ if [[ -n ${TARGET_ARCHITECTURE_VARIANT_INDEX_ARRAY[0]} ]]; then
# INITIALIZE TARGET FOLDERS # INITIALIZE TARGET FOLDERS
initialize_prebuilt_umbrella_xcframework_folders initialize_prebuilt_umbrella_xcframework_folders
# BUILD XCFRAMEWORKS FOR ENABLED LIBRARIES ON ENABLED ARCHITECTURE VARIANTS
for library in {0..46}; do
if [[ ${ENABLED_LIBRARIES[${library}]} -eq 1 ]]; then
if [[ ${LIBRARY_LIBTHEORA} == "${library}" ]]; then
create_umbrella_xcframework "libtheora"
create_umbrella_xcframework "libtheoraenc"
create_umbrella_xcframework "libtheoradec"
elif [[ ${LIBRARY_LIBVORBIS} == "${library}" ]]; then
create_umbrella_xcframework "libvorbisfile"
create_umbrella_xcframework "libvorbisenc"
create_umbrella_xcframework "libvorbis"
elif [[ ${LIBRARY_LIBWEBP} == "${library}" ]]; then
create_umbrella_xcframework "libwebpmux"
create_umbrella_xcframework "libwebpdemux"
create_umbrella_xcframework "libwebp"
elif [[ ${LIBRARY_OPENCOREAMR} == "${library}" ]]; then
create_umbrella_xcframework "libopencore-amrnb"
elif [[ ${LIBRARY_NETTLE} == "${library}" ]]; then
create_umbrella_xcframework "libnettle"
create_umbrella_xcframework "libhogweed"
else
create_umbrella_xcframework "$(get_static_archive_name "${library}")"
fi
fi
done
for FFMPEG_LIB in "${FFMPEG_LIBS[@]}"; do for FFMPEG_LIB in "${FFMPEG_LIBS[@]}"; do
create_umbrella_xcframework "${FFMPEG_LIB}" create_umbrella_xcframework "${FFMPEG_LIB}"
done done

View File

@ -2,36 +2,36 @@
### 1. Features ### 1. Features
#### 1.1 iOS #### 1.1 iOS
- Supports `iOS SDK 12.1+` on Main releases and `iOS SDK 9.3+` on LTS releases - Supports `iOS SDK 12.1+` on Main releases and `iOS SDK 10+` on LTS releases
- Includes `armv7`, `armv7s`, `arm64`, `arm64-simulator`, `arm64e`, `i386`, `x86_64`, `x86_64-mac-catalyst` and - Includes `armv7`, `armv7s`, `arm64`, `arm64-simulator`, `arm64e`, `i386`, `x86_64`, `x86_64-mac-catalyst` and
`arm64-mac-catalyst` architectures `arm64-mac-catalyst` architectures
- Objective-C API - Objective-C API
- Camera access - Camera access
- `ARC` enabled library - `ARC` enabled library
- Built with `-fembed-bitcode` flag - Built with `-fembed-bitcode` flag
- Creates static `frameworks`, static `xcframeworks` and static `universal (fat)` libraries (.a) - Creates shared `frameworks` and `xcframeworks`
#### 1.2 macOS #### 1.2 macOS
- Supports `macOS SDK 10.15+` on Main releases and `macOS SDK 10.11+` on LTS releases - Supports `macOS SDK 10.15+` on Main releases and `macOS SDK 10.12+` on LTS releases
- Includes `arm64` and `x86_64` architectures - Includes `arm64` and `x86_64` architectures
- Objective-C API - Objective-C API
- Camera access - Camera access
- `ARC` enabled library - `ARC` enabled library
- Built with `-fembed-bitcode` flag - Built with `-fembed-bitcode` flag
- Creates static `frameworks`, static `xcframeworks` and static `universal (fat)` libraries (.a) - Creates shared `frameworks` and `xcframeworks`
#### 1.3 tvOS #### 1.3 tvOS
- Supports `tvOS SDK 10.2+` on Main releases and `tvOS SDK 9.2+` on LTS releases - Supports `tvOS SDK 11.0+` on Main releases and `tvOS SDK 10.0+` on LTS releases
- Includes `arm64`, `arm64-simulator` and `x86_64` architectures - Includes `arm64`, `arm64-simulator` and `x86_64` architectures
- Objective-C API - Objective-C API
- `ARC` enabled library - `ARC` enabled library
- Built with `-fembed-bitcode` flag - Built with `-fembed-bitcode` flag
- Creates static `frameworks`, static `xcframeworks` and static `universal (fat)` libraries (.a) - Creates shared `frameworks` and `xcframeworks`
### 2. Building ### 2. Building
Run `ios.sh`/`macos.sh`/`tvos.sh` at project root directory to build `ffmpeg-kit` and `ffmpeg` static libraries for a Run `ios.sh`/`macos.sh`/`tvos.sh` inside the project root to build `ffmpeg-kit` and `ffmpeg` shared libraries
platform. for a platform.
Optionally, use `apple.sh` to combine bundles created by these three scripts in a single bundle. Optionally, use `apple.sh` to combine bundles created by these three scripts in a single bundle.
@ -45,20 +45,20 @@ Please note that `FFmpegKit` project repository includes the source code of `FFm
##### 2.1.1 iOS ##### 2.1.1 iOS
- **Xcode 7.3.1** or later - **Xcode 8.0** or later
- **iOS SDK 9.3** or later - **iOS SDK 10** or later
- **Command Line Tools** - **Command Line Tools**
##### 2.1.2 macOS ##### 2.1.2 macOS
- **Xcode 7.3.1** or later - **Xcode 8.0** or later
- **macOS SDK 10.11** or later - **macOS SDK 10.12** or later
- **Command Line Tools** - **Command Line Tools**
##### 2.1.3 tvOS ##### 2.1.3 tvOS
- **Xcode 7.3.1** or later - **Xcode 8.0** or later
- **tvOS SDK 9.2** or later - **tvOS SDK 10.0** or later
- **Command Line Tools** - **Command Line Tools**
##### 2.1.4 Packages ##### 2.1.4 Packages

4
ios.sh
View File

@ -144,7 +144,7 @@ done
# PROCESS FULL OPTION AS LAST OPTION # PROCESS FULL OPTION AS LAST OPTION
if [[ -n ${BUILD_FULL} ]]; then if [[ -n ${BUILD_FULL} ]]; then
for library in {0..58}; do for library in {0..61}; do
if [ ${GPL_ENABLED} == "yes" ]; then if [ ${GPL_ENABLED} == "yes" ]; then
enable_library "$(get_library_name "$library")" 1 enable_library "$(get_library_name "$library")" 1
else else
@ -240,7 +240,7 @@ for run_arch in {0..12}; do
TARGET_ARCH_LIST+=("${FULL_ARCH}") TARGET_ARCH_LIST+=("${FULL_ARCH}")
# CLEAR FLAGS # CLEAR FLAGS
for library in {0..58}; do for library in {0..61}; do
library_name=$(get_library_name "${library}") library_name=$(get_library_name "${library}")
unset "$(echo "OK_${library_name}" | sed "s/\-/\_/g")" unset "$(echo "OK_${library_name}" | sed "s/\-/\_/g")"
unset "$(echo "DEPENDENCY_REBUILT_${library_name}" | sed "s/\-/\_/g")" unset "$(echo "DEPENDENCY_REBUILT_${library_name}" | sed "s/\-/\_/g")"

View File

@ -139,7 +139,7 @@ done
# PROCESS FULL OPTION AS LAST OPTION # PROCESS FULL OPTION AS LAST OPTION
if [[ -n ${BUILD_FULL} ]]; then if [[ -n ${BUILD_FULL} ]]; then
for library in {0..58}; do for library in {0..61}; do
if [ ${GPL_ENABLED} == "yes" ]; then if [ ${GPL_ENABLED} == "yes" ]; then
enable_library "$(get_library_name "$library")" 1 enable_library "$(get_library_name "$library")" 1
else else
@ -209,7 +209,7 @@ for run_arch in {0..12}; do
TARGET_ARCH_LIST+=("${FULL_ARCH}") TARGET_ARCH_LIST+=("${FULL_ARCH}")
# CLEAR FLAGS # CLEAR FLAGS
for library in {0..58}; do for library in {0..61}; do
library_name=$(get_library_name "${library}") library_name=$(get_library_name "${library}")
unset "$(echo "OK_${library_name}" | sed "s/\-/\_/g")" unset "$(echo "OK_${library_name}" | sed "s/\-/\_/g")"
unset "$(echo "DEPENDENCY_REBUILT_${library_name}" | sed "s/\-/\_/g")" unset "$(echo "DEPENDENCY_REBUILT_${library_name}" | sed "s/\-/\_/g")"

View File

@ -72,7 +72,7 @@ CONFIGURE_POSTFIX=""
HIGH_PRIORITY_INCLUDES="" HIGH_PRIORITY_INCLUDES=""
# SET CONFIGURE OPTIONS # SET CONFIGURE OPTIONS
for library in {1..58}; do for library in {1..62}; do
if [[ ${!library} -eq 1 ]]; then if [[ ${!library} -eq 1 ]]; then
ENABLED_LIBRARY=$(get_library_name $((library - 1))) ENABLED_LIBRARY=$(get_library_name $((library - 1)))
@ -194,6 +194,11 @@ for library in {1..58}; do
LDFLAGS+=" $(pkg-config --libs --static openh264 2>>"${BASEDIR}"/build.log)" LDFLAGS+=" $(pkg-config --libs --static openh264 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libopenh264" CONFIGURE_POSTFIX+=" --enable-libopenh264"
;; ;;
openssl)
CFLAGS+=" $(pkg-config --cflags openssl 2>>"${BASEDIR}"/build.log)"
LDFLAGS+=" $(pkg-config --libs --static openssl 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-openssl"
;;
opus) opus)
CFLAGS+=" $(pkg-config --cflags opus 2>>"${BASEDIR}"/build.log)" CFLAGS+=" $(pkg-config --cflags opus 2>>"${BASEDIR}"/build.log)"
LDFLAGS+=" $(pkg-config --libs --static opus 2>>"${BASEDIR}"/build.log)" LDFLAGS+=" $(pkg-config --libs --static opus 2>>"${BASEDIR}"/build.log)"
@ -229,6 +234,11 @@ for library in {1..58}; do
LDFLAGS+=" $(pkg-config --libs --static speex 2>>"${BASEDIR}"/build.log)" LDFLAGS+=" $(pkg-config --libs --static speex 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libspeex" CONFIGURE_POSTFIX+=" --enable-libspeex"
;; ;;
srt)
CFLAGS+=" $(pkg-config --cflags srt 2>>"${BASEDIR}"/build.log)"
LDFLAGS+=" $(pkg-config --libs --static srt 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libsrt"
;;
tesseract) tesseract)
CFLAGS+=" $(pkg-config --cflags tesseract 2>>"${BASEDIR}"/build.log)" CFLAGS+=" $(pkg-config --cflags tesseract 2>>"${BASEDIR}"/build.log)"
LDFLAGS+=" $(pkg-config --libs --static tesseract 2>>"${BASEDIR}"/build.log)" LDFLAGS+=" $(pkg-config --libs --static tesseract 2>>"${BASEDIR}"/build.log)"
@ -261,6 +271,11 @@ for library in {1..58}; do
LDFLAGS+=" $(pkg-config --libs --static xvidcore 2>>"${BASEDIR}"/build.log)" LDFLAGS+=" $(pkg-config --libs --static xvidcore 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libxvid --enable-gpl" CONFIGURE_POSTFIX+=" --enable-libxvid --enable-gpl"
;; ;;
zimg)
CFLAGS+=" $(pkg-config --cflags zimg 2>>"${BASEDIR}"/build.log)"
LDFLAGS+=" $(pkg-config --libs --static zimg 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libzimg"
;;
expat) expat)
CFLAGS+=" $(pkg-config --cflags expat 2>>"${BASEDIR}"/build.log)" CFLAGS+=" $(pkg-config --cflags expat 2>>"${BASEDIR}"/build.log)"
LDFLAGS+=" $(pkg-config --libs --static expat 2>>"${BASEDIR}"/build.log)" LDFLAGS+=" $(pkg-config --libs --static expat 2>>"${BASEDIR}"/build.log)"
@ -302,6 +317,8 @@ for library in {1..58}; do
CONFIGURE_POSTFIX+=" --disable-zlib" CONFIGURE_POSTFIX+=" --disable-zlib"
elif [[ ${library} -eq $((LIBRARY_ANDROID_MEDIA_CODEC + 1)) ]]; then elif [[ ${library} -eq $((LIBRARY_ANDROID_MEDIA_CODEC + 1)) ]]; then
CONFIGURE_POSTFIX+=" --disable-mediacodec" CONFIGURE_POSTFIX+=" --disable-mediacodec"
elif [[ ${library} -eq $((LIBRARY_OPENSSL + 1)) ]]; then
CONFIGURE_POSTFIX+=" --disable-openssl"
fi fi
fi fi
done done
@ -394,25 +411,27 @@ fi
--enable-version3 \ --enable-version3 \
--arch="${TARGET_ARCH}" \ --arch="${TARGET_ARCH}" \
--cpu="${TARGET_CPU}" \ --cpu="${TARGET_CPU}" \
--target-os=android \
${ASM_OPTIONS} \
--ar="${AR}" \
--cc="${CC}" \ --cc="${CC}" \
--cxx="${CXX}" \ --cxx="${CXX}" \
--ranlib="${RANLIB}" \ --ranlib="${RANLIB}" \
--strip="${STRIP}" \ --strip="${STRIP}" \
--nm="${NM}" \ --nm="${NM}" \
--extra-libs="$(pkg-config --libs --static cpu-features)" \ --extra-libs="$(pkg-config --libs --static cpu-features)" \
--target-os=android \ --disable-autodetect \
${ASM_OPTIONS} \
--enable-cross-compile \ --enable-cross-compile \
--enable-pic \ --enable-pic \
--enable-jni \ --enable-jni \
--enable-optimizations \ --enable-optimizations \
--enable-swscale \ --enable-swscale \
${BUILD_LIBRARY_OPTIONS} \ ${BUILD_LIBRARY_OPTIONS} \
--enable-pthreads \
--enable-v4l2-m2m \ --enable-v4l2-m2m \
--disable-outdev=fbdev \ --disable-outdev=fbdev \
--disable-indev=fbdev \ --disable-indev=fbdev \
${SIZE_OPTIONS} \ ${SIZE_OPTIONS} \
--disable-openssl \
--disable-xmm-clobber-test \ --disable-xmm-clobber-test \
${DEBUG_OPTIONS} \ ${DEBUG_OPTIONS} \
--disable-neon-clobber-test \ --disable-neon-clobber-test \

View File

@ -11,7 +11,7 @@ make distclean 2>/dev/null 1>/dev/null
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/builds/unix/configure ]] || [[ ${RECONF_freetype} -eq 1 ]]; then if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/builds/unix/configure ]] || [[ ${RECONF_freetype} -eq 1 ]]; then
# NOTE THAT FREETYPE DOES NOT SUPPORT AUTORECONF BUT IT COMES WITH AN autogen.sh # NOTE THAT FREETYPE DOES NOT SUPPORT AUTORECONF BUT IT COMES WITH AN autogen.sh
./autogen.sh || return 1 ./autogen.sh || exit 1
fi fi
./configure \ ./configure \

View File

@ -5,7 +5,7 @@ make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED # REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_harfbuzz} -eq 1 ]]; then if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_harfbuzz} -eq 1 ]]; then
NOCONFIGURE=1 ./autogen.sh || return 1 NOCONFIGURE=1 ./autogen.sh || exit 1
fi fi
./configure \ ./configure \

View File

@ -16,7 +16,7 @@ if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_libtheora}
# WORKAROUND NOT TO RUN CONFIGURE AT THE END OF autogen.sh # WORKAROUND NOT TO RUN CONFIGURE AT THE END OF autogen.sh
${SED_INLINE} 's/$srcdir\/configure/#$srcdir\/configure/g' "${BASEDIR}"/src/"${LIB_NAME}"/autogen.sh || return 1 ${SED_INLINE} 's/$srcdir\/configure/#$srcdir\/configure/g' "${BASEDIR}"/src/"${LIB_NAME}"/autogen.sh || return 1
./autogen.sh || return 1 ./autogen.sh || exit 1
fi fi
./configure \ ./configure \

View File

@ -0,0 +1,54 @@
#!/bin/bash
if [[ ${ARCH} == "x86" ]]; then
# openssl does not support 32-bit apple architectures
echo -e "ERROR: openssl is not supported on $ARCH architecture for $FFMPEG_KIT_BUILD_TYPE platform.\n" 1>>"${BASEDIR}"/build.log 2>&1
return 200
fi
# SET BUILD OPTIONS
ASM_OPTIONS=""
case ${ARCH} in
arm-v7a | arm-v7a-neon)
ASM_OPTIONS="linux-generic32"
;;
arm64-v8a)
ASM_OPTIONS="linux-generic64 enable-ec_nistp_64_gcc_128"
;;
x86)
ASM_OPTIONS="linux-generic32 386"
;;
x86-64)
ASM_OPTIONS="linux-generic64 enable-ec_nistp_64_gcc_128"
;;
esac
# ALWAYS CLEAN THE PREVIOUS BUILD
make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_openssl} -eq 1 ]]; then
autoreconf_library "${LIB_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
fi
INT128_AVAILABLE=$($CC -dM -E - </dev/null 2>>"${BASEDIR}"/build.log | grep __SIZEOF_INT128__)
echo -e "INFO: __uint128_t detection output: $INT128_AVAILABLE\n" 1>>"${BASEDIR}"/build.log 2>&1
./Configure \
--prefix="${LIB_INSTALL_PREFIX}" \
zlib \
no-shared \
no-engine \
no-dso \
no-legacy \
${ASM_OPTIONS} \
no-tests || return 1
make -j$(get_cpu_count) build_sw || return 1
make install_sw install_ssldirs || return 1
# MANUALLY COPY PKG-CONFIG FILES
cp ./*.pc "${INSTALL_PKG_CONFIG_DIR}" || return 1

62
scripts/android/srt.sh Normal file
View File

@ -0,0 +1,62 @@
#!/bin/bash
# ALWAYS CLEAN THE PREVIOUS BUILD
git clean -dfx 2>/dev/null 1>/dev/null
# OVERRIDE SYSTEM PROCESSOR
SYSTEM_PROCESSOR=""
case ${ARCH} in
arm-v7a | arm-v7a-neon)
SYSTEM_PROCESSOR="armv7-a"
;;
arm64-v8a)
SYSTEM_PROCESSOR="aarch64"
;;
x86)
SYSTEM_PROCESSOR="i686"
;;
x86-64)
SYSTEM_PROCESSOR="x86_64"
;;
esac
# WORKAROUND TO GENERATE BASE BUILD FILES
./configure || echo "" 2>/dev/null 1>/dev/null
cmake -Wno-dev \
-DUSE_ENCLIB=openssl \
-DCMAKE_VERBOSE_MAKEFILE=0 \
-DCMAKE_C_FLAGS="${CFLAGS}" \
-DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
-DCMAKE_SYSROOT="${ANDROID_SYSROOT}" \
-DCMAKE_FIND_ROOT_PATH="${ANDROID_SYSROOT}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${LIB_INSTALL_PREFIX}" \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_SYSTEM_VERSION=${API} \
-DCMAKE_ANDROID_NDK=${ANDROID_NDK_ROOT} \
-DCMAKE_CXX_COMPILER="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${TOOLCHAIN}/bin/$CXX" \
-DCMAKE_C_COMPILER="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${TOOLCHAIN}/bin/$CC" \
-DCMAKE_LINKER="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${TOOLCHAIN}/bin/$LD" \
-DCMAKE_AR="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${TOOLCHAIN}/bin/$AR" \
-DCMAKE_AS="${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${TOOLCHAIN}/bin/$AS" \
-DCMAKE_SYSTEM_LOADED=1 \
-DCMAKE_SYSTEM_PROCESSOR="${SYSTEM_PROCESSOR}" \
-DENABLE_STDCXX_SYNC=1 \
-DENABLE_MONOTONIC_CLOCK=1 \
-DENABLE_STDCXX_SYNC=1 \
-DENABLE_CXX11=1 \
-DUSE_OPENSSL_PC=1 \
-DENABLE_DEBUG=0 \
-DENABLE_LOGGING=0 \
-DENABLE_HEAVY_LOGGING=0 \
-DENABLE_APPS=0 \
-DENABLE_SHARED=0 "${BASEDIR}"/src/"${LIB_NAME}" || return 1
make -j$(get_cpu_count) || return 1
make install || return 1
# CREATE PACKAGE CONFIG MANUALLY
create_srt_package_config "1.4.4" || return 1

View File

@ -9,7 +9,7 @@ make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED # REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_twolame} -eq 1 ]]; then if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_twolame} -eq 1 ]]; then
NOCONFIGURE=1 ./autogen.sh || return 1 NOCONFIGURE=1 ./autogen.sh || exit 1
fi fi
./configure \ ./configure \

25
scripts/android/zimg.sh Normal file
View File

@ -0,0 +1,25 @@
#!/bin/bash
# ALWAYS CLEAN THE PREVIOUS BUILD
make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_zimg} -eq 1 ]]; then
autoreconf_library "${LIB_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
fi
./configure \
--prefix="${LIB_INSTALL_PREFIX}" \
--with-pic \
--with-sysroot="${SDK_PATH}" \
--enable-static \
--disable-shared \
--disable-fast-install \
--host="${HOST}" || return 1
make -j$(get_cpu_count) || return 1
make install || return 1
# CREATE PACKAGE CONFIG MANUALLY
create_zimg_package_config "3.0.3" || return 1

View File

@ -104,7 +104,7 @@ esac
CONFIGURE_POSTFIX="" CONFIGURE_POSTFIX=""
# SET CONFIGURE OPTIONS # SET CONFIGURE OPTIONS
for library in {1..59}; do for library in {1..62}; do
if [[ ${!library} -eq 1 ]]; then if [[ ${!library} -eq 1 ]]; then
ENABLED_LIBRARY=$(get_library_name $((library - 1))) ENABLED_LIBRARY=$(get_library_name $((library - 1)))
@ -211,6 +211,11 @@ for library in {1..59}; do
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static openh264 2>>"${BASEDIR}"/build.log)" FFMPEG_LDFLAGS+=" $(pkg-config --libs --static openh264 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libopenh264" CONFIGURE_POSTFIX+=" --enable-libopenh264"
;; ;;
openssl)
FFMPEG_CFLAGS+=" $(pkg-config --cflags openssl 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static openssl 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-openssl"
;;
opus) opus)
FFMPEG_CFLAGS+=" $(pkg-config --cflags opus 2>>"${BASEDIR}"/build.log)" FFMPEG_CFLAGS+=" $(pkg-config --cflags opus 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static opus 2>>"${BASEDIR}"/build.log)" FFMPEG_LDFLAGS+=" $(pkg-config --libs --static opus 2>>"${BASEDIR}"/build.log)"
@ -247,6 +252,11 @@ for library in {1..59}; do
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static speex 2>>"${BASEDIR}"/build.log)" FFMPEG_LDFLAGS+=" $(pkg-config --libs --static speex 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libspeex" CONFIGURE_POSTFIX+=" --enable-libspeex"
;; ;;
srt)
FFMPEG_CFLAGS+=" $(pkg-config --cflags srt 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static srt 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libsrt"
;;
tesseract) tesseract)
FFMPEG_CFLAGS+=" $(pkg-config --cflags tesseract 2>>"${BASEDIR}"/build.log)" FFMPEG_CFLAGS+=" $(pkg-config --cflags tesseract 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static tesseract 2>>"${BASEDIR}"/build.log)" FFMPEG_LDFLAGS+=" $(pkg-config --libs --static tesseract 2>>"${BASEDIR}"/build.log)"
@ -279,6 +289,11 @@ for library in {1..59}; do
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static xvidcore 2>>"${BASEDIR}"/build.log)" FFMPEG_LDFLAGS+=" $(pkg-config --libs --static xvidcore 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libxvid --enable-gpl" CONFIGURE_POSTFIX+=" --enable-libxvid --enable-gpl"
;; ;;
zimg)
FFMPEG_CFLAGS+=" $(pkg-config --cflags zimg 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static zimg 2>>"${BASEDIR}"/build.log)"
CONFIGURE_POSTFIX+=" --enable-libzimg"
;;
expat) expat)
FFMPEG_CFLAGS+=" $(pkg-config --cflags expat 2>>"${BASEDIR}"/build.log)" FFMPEG_CFLAGS+=" $(pkg-config --cflags expat 2>>"${BASEDIR}"/build.log)"
FFMPEG_LDFLAGS+=" $(pkg-config --libs --static expat 2>>"${BASEDIR}"/build.log)" FFMPEG_LDFLAGS+=" $(pkg-config --libs --static expat 2>>"${BASEDIR}"/build.log)"
@ -371,6 +386,8 @@ for library in {1..59}; do
CONFIGURE_POSTFIX+=" --disable-videotoolbox" CONFIGURE_POSTFIX+=" --disable-videotoolbox"
elif [[ ${library} -eq $((LIBRARY_APPLE_ZLIB + 1)) ]]; then elif [[ ${library} -eq $((LIBRARY_APPLE_ZLIB + 1)) ]]; then
CONFIGURE_POSTFIX+=" --disable-zlib" CONFIGURE_POSTFIX+=" --disable-zlib"
elif [[ ${library} -eq $((LIBRARY_OPENSSL + 1)) ]]; then
CONFIGURE_POSTFIX+=" --disable-openssl"
fi fi
fi fi
done done
@ -473,8 +490,6 @@ ${SED_INLINE} "s/\$version/$FFMPEG_VERSION/g" "${BASEDIR}"/src/"${LIB_NAME}"/ffb
--as="${AS}" \ --as="${AS}" \
--ranlib="${RANLIB}" \ --ranlib="${RANLIB}" \
--strip="${STRIP}" \ --strip="${STRIP}" \
--ranlib="${RANLIB}" \
--strip="${STRIP}" \
--nm="${NM}" \ --nm="${NM}" \
--extra-ldflags="$(get_min_version_cflags)" \ --extra-ldflags="$(get_min_version_cflags)" \
--disable-autodetect \ --disable-autodetect \
@ -491,7 +506,6 @@ ${SED_INLINE} "s/\$version/$FFMPEG_VERSION/g" "${BASEDIR}"/src/"${LIB_NAME}"/ffb
--disable-indev=v4l2 \ --disable-indev=v4l2 \
--disable-indev=fbdev \ --disable-indev=fbdev \
${SIZE_OPTIONS} \ ${SIZE_OPTIONS} \
--disable-openssl \
--disable-xmm-clobber-test \ --disable-xmm-clobber-test \
${DEBUG_OPTIONS} \ ${DEBUG_OPTIONS} \
--disable-neon-clobber-test \ --disable-neon-clobber-test \

View File

@ -11,7 +11,7 @@ make distclean 2>/dev/null 1>/dev/null
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/builds/unix/configure ]] || [[ ${RECONF_freetype} -eq 1 ]]; then if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/builds/unix/configure ]] || [[ ${RECONF_freetype} -eq 1 ]]; then
# NOTE THAT FREETYPE DOES NOT SUPPORT AUTORECONF BUT IT COMES WITH AN autogen.sh # NOTE THAT FREETYPE DOES NOT SUPPORT AUTORECONF BUT IT COMES WITH AN autogen.sh
./autogen.sh || return 1 ./autogen.sh || exit 1
fi fi
# UPDATE CONFIG FILES TO SUPPORT APPLE ARCHITECTURES # UPDATE CONFIG FILES TO SUPPORT APPLE ARCHITECTURES

View File

@ -12,14 +12,6 @@ export HOGWEED_LIBS="-L${LIB_INSTALL_BASE}/nettle/lib -lhogweed -L${LIB_INSTALL_
export GMP_CFLAGS="-I${LIB_INSTALL_BASE}/gmp/include" export GMP_CFLAGS="-I${LIB_INSTALL_BASE}/gmp/include"
export GMP_LIBS="-L${LIB_INSTALL_BASE}/gmp/lib -lgmp" export GMP_LIBS="-L${LIB_INSTALL_BASE}/gmp/lib -lgmp"
# SET BUILD OPTIONS
case ${ARCH} in
i386)
# DISABLING thread_local WHICH IS NOT SUPPORTED ON i386
export CFLAGS+=" -D__thread="
;;
esac
# ALWAYS CLEAN THE PREVIOUS BUILD # ALWAYS CLEAN THE PREVIOUS BUILD
make distclean 2>/dev/null 1>/dev/null make distclean 2>/dev/null 1>/dev/null

View File

@ -5,7 +5,7 @@ make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED # REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_harfbuzz} -eq 1 ]]; then if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_harfbuzz} -eq 1 ]]; then
NOCONFIGURE=1 ./autogen.sh || return 1 NOCONFIGURE=1 ./autogen.sh || exit 1
fi fi
./configure \ ./configure \

View File

@ -9,7 +9,7 @@ if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_libtheora}
# WORKAROUND NOT TO RUN CONFIGURE AT THE END OF autogen.sh # WORKAROUND NOT TO RUN CONFIGURE AT THE END OF autogen.sh
${SED_INLINE} 's/$srcdir\/configure/#$srcdir\/configure/g' "${BASEDIR}"/src/"${LIB_NAME}"/autogen.sh || return 1 ${SED_INLINE} 's/$srcdir\/configure/#$srcdir\/configure/g' "${BASEDIR}"/src/"${LIB_NAME}"/autogen.sh || return 1
./autogen.sh || return 1 ./autogen.sh || exit 1
fi fi
./configure \ ./configure \

49
scripts/apple/openssl.sh Normal file
View File

@ -0,0 +1,49 @@
#!/bin/bash
if [[ ${ARCH} == "i386" ]] || [[ ${ARCH} == "armv7"* ]] || [[ ${FFMPEG_KIT_BUILD_TYPE} == "tvos" ]]; then
# openssl does not support 32-bit apple architectures and tvos yet
echo -e "ERROR: openssl is not supported on $ARCH architecture for $FFMPEG_KIT_BUILD_TYPE platform.\n" 1>>"${BASEDIR}"/build.log 2>&1
return 200
fi
# SET BUILD OPTIONS
ASM_OPTIONS=""
case ${ARCH} in
arm64 | arm64e | arm64-mac-catalyst | arm64-simulator | x86-64 | x86-64-mac-catalyst)
ASM_OPTIONS="enable-ec_nistp_64_gcc_128"
;;
i386)
ASM_OPTIONS="386"
;;
esac
# ALWAYS CLEAN THE PREVIOUS BUILD
make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_openssl} -eq 1 ]]; then
autoreconf_library "${LIB_NAME}" 1>>"${BASEDIR}"/build.log 2>&1 || exit 1
fi
INT128_AVAILABLE=$($CC -dM -E - </dev/null 2>>"${BASEDIR}"/build.log | grep __SIZEOF_INT128__)
echo -e "INFO: __uint128_t detection output: $INT128_AVAILABLE\n" 1>>"${BASEDIR}"/build.log 2>&1
./Configure \
--prefix="${LIB_INSTALL_PREFIX}" \
zlib \
no-shared \
no-engine \
no-dso \
no-legacy \
${ASM_OPTIONS} \
no-tests \
iphoneos-cross || return 1
make -j$(get_cpu_count) build_sw || return 1
make install_sw install_ssldirs || return 1
# MANUALLY COPY PKG-CONFIG FILES
cp ./*.pc "${INSTALL_PKG_CONFIG_DIR}" || return 1

View File

@ -15,7 +15,7 @@ make distclean 2>/dev/null 1>/dev/null
overwrite_file "${BASEDIR}/tools/patch/make/sdl/configure.in" "${BASEDIR}/src/${LIB_NAME}/configure.in" overwrite_file "${BASEDIR}/tools/patch/make/sdl/configure.in" "${BASEDIR}/src/${LIB_NAME}/configure.in"
# ALWAYS REGENERATE BUILD FILES - NECESSARY TO APPLY THE WORKAROUNDS # ALWAYS REGENERATE BUILD FILES - NECESSARY TO APPLY THE WORKAROUNDS
./autogen.sh || return 1 ./autogen.sh || exit 1
# WORKAROUND TO EXCLUDE libunwind.h ON LTS BUILDS # WORKAROUND TO EXCLUDE libunwind.h ON LTS BUILDS
if [[ -n ${FFMPEG_KIT_LTS_BUILD} ]]; then if [[ -n ${FFMPEG_KIT_LTS_BUILD} ]]; then

54
scripts/apple/srt.sh Normal file
View File

@ -0,0 +1,54 @@
#!/bin/bash
mkdir -p "${BUILD_DIR}" || return 1
cd "${BUILD_DIR}" || return 1
# SET BUILD OPTIONS
ASM_OPTIONS=""
case ${ARCH} in
*-mac-catalyst)
ASM_OPTIONS="-DENABLE_MONOTONIC_CLOCK=0"
;;
*)
ASM_OPTIONS="-DENABLE_MONOTONIC_CLOCK=1"
;;
esac
# ALWAYS CLEAN THE PREVIOUS BUILD
git clean -dfx 2>/dev/null 1>/dev/null
cmake -Wno-dev \
-DUSE_ENCLIB=openssl \
-DCMAKE_VERBOSE_MAKEFILE=0 \
-DCMAKE_C_FLAGS="${CFLAGS}" \
-DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
-DCMAKE_SYSROOT="${SDK_PATH}" \
-DCMAKE_FIND_ROOT_PATH="${SDK_PATH}" \
-DCMAKE_OSX_SYSROOT="$(get_sdk_name)" \
-DCMAKE_OSX_ARCHITECTURES="$(get_cmake_osx_architectures)" \
-DCMAKE_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${LIB_INSTALL_PREFIX}" \
-DCMAKE_CXX_COMPILER="$CXX" \
-DCMAKE_C_COMPILER="$CC" \
-DCMAKE_LINKER="$LD" \
-DCMAKE_AR="$(xcrun --sdk $(get_sdk_name) -f ar)" \
-DCMAKE_AS="$AS" \
-DCMAKE_SYSTEM_PROCESSOR="$(get_target_cpu)" \
${ASM_OPTIONS} \
-DENABLE_STDCXX_SYNC=1 \
-DENABLE_CXX11=1 \
-DUSE_OPENSSL_PC=1 \
-DENABLE_DEBUG=0 \
-DENABLE_LOGGING=0 \
-DENABLE_HEAVY_LOGGING=0 \
-DENABLE_APPS=0 \
-DENABLE_SHARED=0 "${BASEDIR}"/src/"${LIB_NAME}" || return 1
make -j$(get_cpu_count) || return 1
make install || return 1
# MANUALLY COPY PKG-CONFIG FILES
cp ./*.pc "${INSTALL_PKG_CONFIG_DIR}" || return 1

View File

@ -9,7 +9,7 @@ make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED # REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_twolame} -eq 1 ]]; then if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_twolame} -eq 1 ]]; then
NOCONFIGURE=1 ./autogen.sh || return 1 NOCONFIGURE=1 ./autogen.sh || exit 1
fi fi
./configure \ ./configure \

34
scripts/apple/zimg.sh Normal file
View File

@ -0,0 +1,34 @@
#!/bin/bash
# SET BUILD OPTIONS
ASM_OPTIONS=""
case ${ARCH} in
armv7 | armv7s)
ASM_OPTIONS="--disable-simd"
;;
esac
# ALWAYS CLEAN THE PREVIOUS BUILD
make distclean 2>/dev/null 1>/dev/null
# REGENERATE BUILD FILES IF NECESSARY OR REQUESTED
if [[ ! -f "${BASEDIR}"/src/"${LIB_NAME}"/configure ]] || [[ ${RECONF_zimg} -eq 1 ]]; then
./autogen.sh || exit 1
fi
./configure \
--prefix="${LIB_INSTALL_PREFIX}" \
--with-pic \
--with-sysroot="${SDK_PATH}" \
--enable-static \
--disable-shared \
--disable-fast-install \
${ASM_OPTIONS} \
--host="${HOST}" || return 1
make -j$(get_cpu_count) || return 1
make install || return 1
# MANUALLY COPY PKG-CONFIG FILES
cp ./zimg.pc "${INSTALL_PKG_CONFIG_DIR}" || return 1

View File

@ -33,7 +33,7 @@ under the prebuilt folder.\n"
echo -e "Usage: ./$COMMAND [OPTION]... [VAR=VALUE]...\n" echo -e "Usage: ./$COMMAND [OPTION]... [VAR=VALUE]...\n"
echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n" echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n"
display_help_options " -l, --lts\t\t\tbuild lts packages to support API 16+ devices" " --api-level=api\t\toverride Android api level" " --no-ffmpeg-kit-protocols\tdisable custom ffmpeg-kit protocols (fd, saf)" display_help_options " -l, --lts\t\t\tbuild lts packages to support API 16+ devices" " --api-level=api\t\toverride Android api level" " --no-ffmpeg-kit-protocols\tdisable custom ffmpeg-kit protocols (saf)"
display_help_licensing display_help_licensing
echo -e "Architectures:" echo -e "Architectures:"
@ -69,7 +69,7 @@ build_application_mk() {
local LTS_BUILD_FLAG="-DFFMPEG_KIT_LTS " local LTS_BUILD_FLAG="-DFFMPEG_KIT_LTS "
fi fi
if [[ ${ENABLED_LIBRARIES[$LIBRARY_X265]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_TESSERACT]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_OPENH264]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_SNAPPY]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_RUBBERBAND]} -eq 1 ]]; then if [[ ${ENABLED_LIBRARIES[$LIBRARY_X265]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_TESSERACT]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_OPENH264]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_SNAPPY]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_RUBBERBAND]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_ZIMG]} -eq 1 ]] || [[ ${ENABLED_LIBRARIES[$LIBRARY_SRT]} -eq 1 ]]; then
local APP_STL="c++_shared" local APP_STL="c++_shared"
else else
local APP_STL="none" local APP_STL="none"
@ -334,7 +334,7 @@ get_app_specific_cflags() {
rubberband) rubberband)
APP_FLAGS="-std=c99 -Wno-unused-function" APP_FLAGS="-std=c99 -Wno-unused-function"
;; ;;
libvpx | shine) libvpx | openssl | shine | srt)
APP_FLAGS="-Wno-unused-function" APP_FLAGS="-Wno-unused-function"
;; ;;
soxr | snappy | libwebp) soxr | snappy | libwebp)
@ -392,7 +392,7 @@ get_cxxflags() {
x265) x265)
echo "-std=c++11 -fno-exceptions ${OPTIMIZATION_FLAGS}" echo "-std=c++11 -fno-exceptions ${OPTIMIZATION_FLAGS}"
;; ;;
rubberband) rubberband | srt | zimg)
echo "-std=c++11 ${OPTIMIZATION_FLAGS}" echo "-std=c++11 ${OPTIMIZATION_FLAGS}"
;; ;;
*) *)
@ -418,7 +418,7 @@ get_common_linked_libraries() {
libvpx) libvpx)
echo "-lc -lm ${COMMON_LIBRARY_PATHS}" echo "-lc -lm ${COMMON_LIBRARY_PATHS}"
;; ;;
tesseract | x265) srt | tesseract | x265)
echo "-lc -lm -ldl -llog -lc++_shared ${COMMON_LIBRARY_PATHS}" echo "-lc -lm -ldl -llog -lc++_shared ${COMMON_LIBRARY_PATHS}"
;; ;;
*) *)
@ -803,6 +803,26 @@ Cflags: -I\${includedir}
EOF EOF
} }
create_srt_package_config() {
local SRT_VERSION="$1"
cat >"${INSTALL_PKG_CONFIG_DIR}/srt.pc" <<EOF
prefix=${LIB_INSTALL_BASE}/srt
exec_prefix=\${prefix}
libdir=\${exec_prefix}/lib
includedir=\${prefix}/include
Name: srt
Description: SRT library set
Version: ${SRT_VERSION}
Libs: -L\${libdir} -lsrt
Libs.private: -lc -lm -ldl -llog -lc++_shared
Cflags: -I\${includedir} -I\${includedir}/srt
Requires.private: openssl libcrypto
EOF
}
create_tesseract_package_config() { create_tesseract_package_config() {
local TESSERACT_VERSION="$1" local TESSERACT_VERSION="$1"
@ -882,6 +902,24 @@ Cflags: -I\${includedir}
EOF EOF
} }
create_zimg_package_config() {
local ZIMG_VERSION="$1"
cat >"${INSTALL_PKG_CONFIG_DIR}/zimg.pc" <<EOF
prefix=${LIB_INSTALL_BASE}/zimg
exec_prefix=\${prefix}
libdir=\${exec_prefix}/lib
includedir=\${prefix}/include
Name: zimg
Description: Scaling, colorspace conversion, and dithering library
Version: ${ZIMG_VERSION}
Libs: -L\${libdir} -lzimg -lc++_shared
Cflags: -I\${includedir}
EOF
}
create_zlib_system_package_config() { create_zlib_system_package_config() {
ZLIB_VERSION=$(grep '#define ZLIB_VERSION' "${ANDROID_NDK_ROOT}"/toolchains/llvm/prebuilt/"${TOOLCHAIN}"/sysroot/usr/include/zlib.h | grep -Eo '\".*\"' | sed -e 's/\"//g') ZLIB_VERSION=$(grep '#define ZLIB_VERSION' "${ANDROID_NDK_ROOT}"/toolchains/llvm/prebuilt/"${TOOLCHAIN}"/sysroot/usr/include/zlib.h | grep -Eo '\".*\"' | sed -e 's/\"//g')

View File

@ -255,7 +255,7 @@ create_ffmpeg_universal_library() {
else else
cp "${BASEDIR}"/LICENSE.LGPLv3 "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1 cp "${BASEDIR}"/LICENSE.LGPLv3 "${FFMPEG_UNIVERSAL_LIBRARY_DIRECTORY}"/LICENSE 1>>"${BASEDIR}"/build.log 2>&1
fi fi
for library in {0..46}; do for library in {0..49}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
local ENABLED_LIBRARY_NAME="$(get_library_name ${library})" local ENABLED_LIBRARY_NAME="$(get_library_name ${library})"
local ENABLED_LIBRARY_NAME_UPPERCASE=$(echo "${ENABLED_LIBRARY_NAME}" | tr '[a-z]' '[A-Z]') local ENABLED_LIBRARY_NAME_UPPERCASE=$(echo "${ENABLED_LIBRARY_NAME}" | tr '[a-z]' '[A-Z]')
@ -397,7 +397,7 @@ create_ffmpeg_framework() {
# COPY EXTERNAL LIBRARY LICENSES # COPY EXTERNAL LIBRARY LICENSES
if [[ "${FFMPEG_LIB}" == "libavcodec" ]]; then if [[ "${FFMPEG_LIB}" == "libavcodec" ]]; then
for library in {0..46}; do for library in {0..49}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
local ENABLED_LIBRARY_NAME="$(get_library_name ${library})" local ENABLED_LIBRARY_NAME="$(get_library_name ${library})"
local ENABLED_LIBRARY_NAME_UPPERCASE=$(echo "${ENABLED_LIBRARY_NAME}" | tr '[a-z]' '[A-Z]') local ENABLED_LIBRARY_NAME_UPPERCASE=$(echo "${ENABLED_LIBRARY_NAME}" | tr '[a-z]' '[A-Z]')

View File

@ -27,7 +27,7 @@ libraries are created under the prebuilt folder.\n"
echo -e "Usage: ./$COMMAND [OPTION]...\n" echo -e "Usage: ./$COMMAND [OPTION]...\n"
echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n" echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n"
display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 9.3+ devices" " --target=ios sdk version\t\t\toverride minimum deployment target [12.1]" " --mac-catalyst-target=ios sdk version\toverride minimum deployment target for mac catalyst [14.0]" display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 10+ devices" " --target=ios sdk version\t\t\toverride minimum deployment target [12.1]" " --mac-catalyst-target=ios sdk version\toverride minimum deployment target for mac catalyst [14.0]"
display_help_licensing display_help_licensing
echo -e "Architectures:" echo -e "Architectures:"
@ -77,12 +77,12 @@ enable_main_build() {
enable_lts_build() { enable_lts_build() {
export FFMPEG_KIT_LTS_BUILD="1" export FFMPEG_KIT_LTS_BUILD="1"
if [[ $(compare_versions "$DETECTED_IOS_SDK_VERSION" "9.3") -le 0 ]]; then if [[ $(compare_versions "$DETECTED_IOS_SDK_VERSION" "10") -le 0 ]]; then
export IOS_MIN_VERSION=$DETECTED_IOS_SDK_VERSION export IOS_MIN_VERSION=$DETECTED_IOS_SDK_VERSION
else else
# XCODE 7.3 HAS IOS SDK 9.3 # XCODE 8.0 HAS IOS SDK 10
export IOS_MIN_VERSION=9.3 export IOS_MIN_VERSION=10
fi fi
if [[ $(compare_versions "$DETECTED_IOS_SDK_VERSION" "13.0") -le 0 ]]; then if [[ $(compare_versions "$DETECTED_IOS_SDK_VERSION" "13.0") -le 0 ]]; then
@ -139,8 +139,7 @@ get_arch_specific_cflags() {
echo "-arch arm64e -target $(get_target) -march=armv8.3-a+crc+crypto -mcpu=generic -DFFMPEG_KIT_ARM64E" echo "-arch arm64e -target $(get_target) -march=armv8.3-a+crc+crypto -mcpu=generic -DFFMPEG_KIT_ARM64E"
;; ;;
i386) i386)
# DISABLING thread_local WHICH IS NOT SUPPORTED ON i386 echo "-arch i386 -target $(get_target) -march=i386 -mtune=i386 -mssse3 -mfpmath=sse -m32 -DFFMPEG_KIT_I386"
echo "-arch i386 -target $(get_target) -march=i386 -mtune=i386 -mssse3 -mfpmath=sse -m32 -DFFMPEG_KIT_I386 -D__thread= "
;; ;;
x86-64) x86-64)
echo "-arch x86_64 -target $(get_target) -march=x86-64 -msse4.2 -mpopcnt -m64 -DFFMPEG_KIT_X86_64" echo "-arch x86_64 -target $(get_target) -march=x86-64 -msse4.2 -mpopcnt -m64 -DFFMPEG_KIT_X86_64"
@ -152,7 +151,6 @@ get_arch_specific_cflags() {
} }
get_size_optimization_cflags() { get_size_optimization_cflags() {
local ARCH_OPTIMIZATION="" local ARCH_OPTIMIZATION=""
case ${ARCH} in case ${ARCH} in
armv7 | armv7s | arm64 | arm64e | *-mac-catalyst) armv7 | armv7s | arm64 | arm64e | *-mac-catalyst)
@ -167,7 +165,6 @@ get_size_optimization_cflags() {
} }
get_size_optimization_asm_cflags() { get_size_optimization_asm_cflags() {
local ARCH_OPTIMIZATION="" local ARCH_OPTIMIZATION=""
case $1 in case $1 in
jpeg | ffmpeg) jpeg | ffmpeg)
@ -189,7 +186,6 @@ get_size_optimization_asm_cflags() {
} }
get_app_specific_cflags() { get_app_specific_cflags() {
local APP_FLAGS="" local APP_FLAGS=""
case $1 in case $1 in
fontconfig) fontconfig)
@ -229,7 +225,7 @@ get_app_specific_cflags() {
soxr | snappy) soxr | snappy)
APP_FLAGS="-std=gnu99 -Wno-unused-function -DPIC" APP_FLAGS="-std=gnu99 -Wno-unused-function -DPIC"
;; ;;
openh264 | x265) openh264 | openssl | x265)
APP_FLAGS="-Wno-unused-function" APP_FLAGS="-Wno-unused-function"
;; ;;
*) *)
@ -304,6 +300,9 @@ get_cxxflags() {
rubberband) rubberband)
echo "-fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}" echo "-fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;; ;;
srt | zimg)
echo "-std=c++11 ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;;
*) *)
echo "-std=c++11 -fno-exceptions -fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}" echo "-std=c++11 -fno-exceptions -fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;; ;;

View File

@ -19,7 +19,7 @@ When compilation ends, libraries are created under the prebuilt folder.\n"
echo -e "Usage: ./$COMMAND [OPTION]...\n" echo -e "Usage: ./$COMMAND [OPTION]...\n"
echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n" echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n"
display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 10.11+ devices" " --target=macos sdk version\toverride minimum deployment target [10.15]" display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 10.12+ devices" " --target=macos sdk version\toverride minimum deployment target [10.15]"
display_help_licensing display_help_licensing
echo -e "Architectures:" echo -e "Architectures:"
@ -59,12 +59,12 @@ enable_main_build() {
enable_lts_build() { enable_lts_build() {
export FFMPEG_KIT_LTS_BUILD="1" export FFMPEG_KIT_LTS_BUILD="1"
if [[ $(compare_versions "$DETECTED_MACOS_SDK_VERSION" "10.11") -le 0 ]]; then if [[ $(compare_versions "$DETECTED_MACOS_SDK_VERSION" "10.12") -le 0 ]]; then
export MACOS_MIN_VERSION=$DETECTED_MACOS_SDK_VERSION export MACOS_MIN_VERSION=$DETECTED_MACOS_SDK_VERSION
else else
# XCODE 7.3 HAS MACOS SDK 10.11 # XCODE 8.0 HAS MACOS SDK 10.12
export MACOS_MIN_VERSION=10.11 export MACOS_MIN_VERSION=10.12
fi fi
} }
@ -241,6 +241,9 @@ get_cxxflags() {
rubberband) rubberband)
echo "-fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}" echo "-fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;; ;;
srt | zimg)
echo "-std=c++11 ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;;
*) *)
echo "-std=c++11 -fno-exceptions -fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}" echo "-std=c++11 -fno-exceptions -fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;; ;;

View File

@ -20,7 +20,7 @@ set explicitly. When compilation ends, libraries are created under the prebuilt
echo -e "Usage: ./$COMMAND [OPTION]...\n" echo -e "Usage: ./$COMMAND [OPTION]...\n"
echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n" echo -e "Specify environment variables as VARIABLE=VALUE to override default build options.\n"
display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 9.2+ devices" " --target=tvos sdk version\toverride minimum deployment target [11.0]" display_help_options " -x, --xcframework\t\tbuild xcframework bundles instead of framework bundles and universal libraries" " -l, --lts build lts packages to support sdk 10.0+ devices" " --target=tvos sdk version\toverride minimum deployment target [11.0]"
display_help_licensing display_help_licensing
echo -e "Architectures:" echo -e "Architectures:"
@ -59,12 +59,12 @@ enable_main_build() {
enable_lts_build() { enable_lts_build() {
export FFMPEG_KIT_LTS_BUILD="1" export FFMPEG_KIT_LTS_BUILD="1"
if [[ $(compare_versions "$DETECTED_TVOS_SDK_VERSION" "9.2") -le 0 ]]; then if [[ $(compare_versions "$DETECTED_TVOS_SDK_VERSION" "10.0") -le 0 ]]; then
export TVOS_MIN_VERSION=$DETECTED_TVOS_SDK_VERSION export TVOS_MIN_VERSION=$DETECTED_TVOS_SDK_VERSION
else else
# XCODE 7.3 HAS TVOS SDK 9.2 # XCODE 8.0 HAS TVOS SDK 10.0
export TVOS_MIN_VERSION=9.2 export TVOS_MIN_VERSION=10.0
fi fi
} }
@ -276,6 +276,9 @@ get_cxxflags() {
rubberband) rubberband)
echo "-fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}" echo "-fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;; ;;
srt | zimg)
echo "-std=c++11 ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;;
*) *)
echo "-std=c++11 -fno-exceptions -fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}" echo "-std=c++11 -fno-exceptions -fno-rtti ${BITCODE_FLAGS} ${COMMON_CFLAGS} ${OPTIMIZATION_FLAGS}"
;; ;;

View File

@ -82,22 +82,25 @@ get_library_name() {
31) echo "tesseract" ;; 31) echo "tesseract" ;;
32) echo "openh264" ;; 32) echo "openh264" ;;
33) echo "vo-amrwbenc" ;; 33) echo "vo-amrwbenc" ;;
34) echo "giflib" ;; 34) echo "zimg" ;;
35) echo "jpeg" ;; 35) echo "openssl" ;;
36) echo "libogg" ;; 36) echo "srt" ;;
37) echo "libpng" ;; 37) echo "giflib" ;;
38) echo "libuuid" ;; 38) echo "jpeg" ;;
39) echo "nettle" ;; 39) echo "libogg" ;;
40) echo "tiff" ;; 40) echo "libpng" ;;
41) echo "expat" ;; 41) echo "libuuid" ;;
42) echo "libsndfile" ;; 42) echo "nettle" ;;
43) echo "leptonica" ;; 43) echo "tiff" ;;
44) echo "libsamplerate" ;; 44) echo "expat" ;;
45) echo "harfbuzz" ;; 45) echo "libsndfile" ;;
46) echo "cpu-features" ;; 46) echo "leptonica" ;;
47) echo "android-zlib" ;; 47) echo "libsamplerate" ;;
48) echo "android-media-codec" ;; 48) echo "harfbuzz" ;;
49) 49) echo "cpu-features" ;;
50) echo "android-zlib" ;;
51) echo "android-media-codec" ;;
52)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then
echo "ios-zlib" echo "ios-zlib"
elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
@ -106,7 +109,7 @@ get_library_name() {
echo "tvos-zlib" echo "tvos-zlib"
fi fi
;; ;;
50) 53)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then
echo "ios-audiotoolbox" echo "ios-audiotoolbox"
elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
@ -115,7 +118,7 @@ get_library_name() {
echo "tvos-audiotoolbox" echo "tvos-audiotoolbox"
fi fi
;; ;;
51) 54)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then
echo "ios-bzip2" echo "ios-bzip2"
elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
@ -124,7 +127,7 @@ get_library_name() {
echo "tvos-bzip2" echo "tvos-bzip2"
fi fi
;; ;;
52) 55)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then
echo "ios-videotoolbox" echo "ios-videotoolbox"
elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
@ -133,14 +136,14 @@ get_library_name() {
echo "tvos-videotoolbox" echo "tvos-videotoolbox"
fi fi
;; ;;
53) 56)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then
echo "ios-avfoundation" echo "ios-avfoundation"
elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
echo "macos-avfoundation" echo "macos-avfoundation"
fi fi
;; ;;
54) 57)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then
echo "ios-libiconv" echo "ios-libiconv"
elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
@ -149,7 +152,7 @@ get_library_name() {
echo "tvos-libiconv" echo "tvos-libiconv"
fi fi
;; ;;
55) 58)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]]; then
echo "ios-libuuid" echo "ios-libuuid"
elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
@ -158,17 +161,17 @@ get_library_name() {
echo "tvos-libuuid" echo "tvos-libuuid"
fi fi
;; ;;
56) 59)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
echo "macos-coreimage" echo "macos-coreimage"
fi fi
;; ;;
57) 60)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
echo "macos-opencl" echo "macos-opencl"
fi fi
;; ;;
58) 61)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
echo "macos-opengl" echo "macos-opengl"
fi fi
@ -212,31 +215,34 @@ from_library_name() {
tesseract) echo 31 ;; tesseract) echo 31 ;;
openh264) echo 32 ;; openh264) echo 32 ;;
vo-amrwbenc) echo 33 ;; vo-amrwbenc) echo 33 ;;
giflib) echo 34 ;; zimg) echo 34 ;;
jpeg) echo 35 ;; openssl) echo 35 ;;
libogg) echo 36 ;; srt) echo 36 ;;
libpng) echo 37 ;; giflib) echo 37 ;;
libuuid) echo 38 ;; jpeg) echo 38 ;;
nettle) echo 39 ;; libogg) echo 39 ;;
tiff) echo 40 ;; libpng) echo 40 ;;
expat) echo 41 ;; libuuid) echo 41 ;;
libsndfile) echo 42 ;; nettle) echo 42 ;;
leptonica) echo 43 ;; tiff) echo 43 ;;
libsamplerate) echo 44 ;; expat) echo 44 ;;
harfbuzz) echo 45 ;; libsndfile) echo 45 ;;
cpu-features) echo 46 ;; leptonica) echo 46 ;;
android-zlib) echo 47 ;; libsamplerate) echo 47 ;;
android-media-codec) echo 48 ;; harfbuzz) echo 48 ;;
ios-zlib | macos-zlib | tvos-zlib) echo 49 ;; cpu-features) echo 49 ;;
ios-audiotoolbox | macos-audiotoolbox | tvos-audiotoolbox) echo 50 ;; android-zlib) echo 50 ;;
ios-bzip2 | macos-bzip2 | tvos-bzip2) echo 51 ;; android-media-codec) echo 51 ;;
ios-videotoolbox | macos-videotoolbox | tvos-videotoolbox) echo 52 ;; ios-zlib | macos-zlib | tvos-zlib) echo 52 ;;
ios-avfoundation | macos-avfoundation) echo 53 ;; ios-audiotoolbox | macos-audiotoolbox | tvos-audiotoolbox) echo 53 ;;
ios-libiconv | macos-libiconv | tvos-libiconv) echo 54 ;; ios-bzip2 | macos-bzip2 | tvos-bzip2) echo 54 ;;
ios-libuuid | macos-libuuid | tvos-libuuid) echo 55 ;; ios-videotoolbox | macos-videotoolbox | tvos-videotoolbox) echo 55 ;;
macos-coreimage) echo 56 ;; ios-avfoundation | macos-avfoundation) echo 56 ;;
macos-opencl) echo 57 ;; ios-libiconv | macos-libiconv | tvos-libiconv) echo 57 ;;
macos-opengl) echo 58 ;; ios-libuuid | macos-libuuid | tvos-libuuid) echo 58 ;;
macos-coreimage) echo 59 ;;
macos-opencl) echo 60 ;;
macos-opengl) echo 61 ;;
esac esac
} }
@ -252,12 +258,12 @@ is_library_supported_on_platform() {
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40) 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40)
echo "0" echo "0"
;; ;;
41 | 42 | 43 | 44 | 45) 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48)
echo "0" echo "0"
;; ;;
# ANDROID # ANDROID
7 | 38 | 46 | 47 | 48) 7 | 38 | 49 | 50 | 51)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "android" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "android" ]]; then
echo "0" echo "0"
else else
@ -266,7 +272,7 @@ is_library_supported_on_platform() {
;; ;;
# ONLY IOS AND MACOS # ONLY IOS AND MACOS
53) 56)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]] && [[ $1 == "ios-avfoundation" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]] && [[ $1 == "ios-avfoundation" ]]; then
echo "0" echo "0"
elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]] && [[ $1 == "macos-avfoundation" ]]; then elif [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]] && [[ $1 == "macos-avfoundation" ]]; then
@ -277,7 +283,7 @@ is_library_supported_on_platform() {
;; ;;
# IOS, MACOS AND TVOS # IOS, MACOS AND TVOS
49 | 50 | 51 | 52 | 54 | 55) 52 | 53 | 54 | 55 | 57 | 58)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]] || [[ ${FFMPEG_KIT_BUILD_TYPE} == "tvos" ]] || [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "ios" ]] || [[ ${FFMPEG_KIT_BUILD_TYPE} == "tvos" ]] || [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
echo "0" echo "0"
else else
@ -286,7 +292,7 @@ is_library_supported_on_platform() {
;; ;;
# ONLY MACOS # ONLY MACOS
56 | 57 | 58) 59 | 60 | 61)
if [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then if [[ ${FFMPEG_KIT_BUILD_TYPE} == "macos" ]]; then
echo "0" echo "0"
else else
@ -363,13 +369,13 @@ get_package_config_file_name() {
27) echo "aom" ;; 27) echo "aom" ;;
28) echo "libchromaprint" ;; 28) echo "libchromaprint" ;;
30) echo "sdl2" ;; 30) echo "sdl2" ;;
35) echo "libjpeg" ;; 38) echo "libjpeg" ;;
36) echo "ogg" ;; 39) echo "ogg" ;;
40) echo "libtiff-4" ;; 43) echo "libtiff-4" ;;
42) echo "sndfile" ;; 45) echo "sndfile" ;;
43) echo "lept" ;; 46) echo "lept" ;;
44) echo "samplerate" ;; 47) echo "samplerate" ;;
55) echo "uuid" ;; 58) echo "uuid" ;;
*) echo "$(get_library_name "$1")" ;; *) echo "$(get_library_name "$1")" ;;
esac esac
} }
@ -768,15 +774,18 @@ display_help_common_libraries() {
echo -e " --enable-libxml2\t\tbuild with libxml2 [no]" echo -e " --enable-libxml2\t\tbuild with libxml2 [no]"
echo -e " --enable-opencore-amr\t\tbuild with opencore-amr [no]" echo -e " --enable-opencore-amr\t\tbuild with opencore-amr [no]"
echo -e " --enable-openh264\t\tbuild with openh264 [no]" echo -e " --enable-openh264\t\tbuild with openh264 [no]"
echo -e " --enable-openssl\t\tbuild with openssl [no]"
echo -e " --enable-opus\t\t\tbuild with opus [no]" echo -e " --enable-opus\t\t\tbuild with opus [no]"
echo -e " --enable-sdl\t\t\tbuild with sdl [no]" echo -e " --enable-sdl\t\t\tbuild with sdl [no]"
echo -e " --enable-shine\t\tbuild with shine [no]" echo -e " --enable-shine\t\tbuild with shine [no]"
echo -e " --enable-snappy\t\tbuild with snappy [no]" echo -e " --enable-snappy\t\tbuild with snappy [no]"
echo -e " --enable-soxr\t\t\tbuild with soxr [no]" echo -e " --enable-soxr\t\t\tbuild with soxr [no]"
echo -e " --enable-speex\t\tbuild with speex [no]" echo -e " --enable-speex\t\tbuild with speex [no]"
echo -e " --enable-srt\t\t\tbuild with srt [no]"
echo -e " --enable-tesseract\t\tbuild with tesseract [no]" echo -e " --enable-tesseract\t\tbuild with tesseract [no]"
echo -e " --enable-twolame\t\tbuild with twolame [no]" echo -e " --enable-twolame\t\tbuild with twolame [no]"
echo -e " --enable-vo-amrwbenc\t\tbuild with vo-amrwbenc [no]\n" echo -e " --enable-vo-amrwbenc\t\tbuild with vo-amrwbenc [no]"
echo -e " --enable-zimg\t\t\tbuild with zimg [no]\n"
} }
display_help_gpl_libraries() { display_help_gpl_libraries() {
@ -806,7 +815,7 @@ reconf_library() {
local RECONF_VARIABLE=$(echo "RECONF_$1" | sed "s/\-/\_/g") local RECONF_VARIABLE=$(echo "RECONF_$1" | sed "s/\-/\_/g")
local library_supported=0 local library_supported=0
for library in {0..46}; do for library in {0..49}; do
library_name=$(get_library_name ${library}) library_name=$(get_library_name ${library})
local library_supported_on_platform=$(is_library_supported_on_platform "${library_name}") local library_supported_on_platform=$(is_library_supported_on_platform "${library_name}")
@ -829,7 +838,7 @@ rebuild_library() {
local REBUILD_VARIABLE=$(echo "REBUILD_$1" | sed "s/\-/\_/g") local REBUILD_VARIABLE=$(echo "REBUILD_$1" | sed "s/\-/\_/g")
local library_supported=0 local library_supported=0
for library in {0..46}; do for library in {0..49}; do
library_name=$(get_library_name ${library}) library_name=$(get_library_name ${library})
local library_supported_on_platform=$(is_library_supported_on_platform "${library_name}") local library_supported_on_platform=$(is_library_supported_on_platform "${library_name}")
@ -852,7 +861,7 @@ redownload_library() {
local REDOWNLOAD_VARIABLE=$(echo "REDOWNLOAD_$1" | sed "s/\-/\_/g") local REDOWNLOAD_VARIABLE=$(echo "REDOWNLOAD_$1" | sed "s/\-/\_/g")
local library_supported=0 local library_supported=0
for library in {0..46}; do for library in {0..49}; do
library_name=$(get_library_name ${library}) library_name=$(get_library_name ${library})
local library_supported_on_platform=$(is_library_supported_on_platform "${library_name}") local library_supported_on_platform=$(is_library_supported_on_platform "${library_name}")
@ -1038,6 +1047,9 @@ set_library() {
openh264) openh264)
ENABLED_LIBRARIES[LIBRARY_OPENH264]=$2 ENABLED_LIBRARIES[LIBRARY_OPENH264]=$2
;; ;;
openssl)
ENABLED_LIBRARIES[LIBRARY_OPENSSL]=$2
;;
opus) opus)
ENABLED_LIBRARIES[LIBRARY_OPUS]=$2 ENABLED_LIBRARIES[LIBRARY_OPUS]=$2
;; ;;
@ -1062,6 +1074,10 @@ set_library() {
speex) speex)
ENABLED_LIBRARIES[LIBRARY_SPEEX]=$2 ENABLED_LIBRARIES[LIBRARY_SPEEX]=$2
;; ;;
srt)
ENABLED_LIBRARIES[LIBRARY_SRT]=$2
set_library "openssl" $2
;;
tesseract) tesseract)
ENABLED_LIBRARIES[LIBRARY_TESSERACT]=$2 ENABLED_LIBRARIES[LIBRARY_TESSERACT]=$2
ENABLED_LIBRARIES[LIBRARY_LEPTONICA]=$2 ENABLED_LIBRARIES[LIBRARY_LEPTONICA]=$2
@ -1088,6 +1104,9 @@ set_library() {
xvidcore) xvidcore)
ENABLED_LIBRARIES[LIBRARY_XVIDCORE]=$2 ENABLED_LIBRARIES[LIBRARY_XVIDCORE]=$2
;; ;;
zimg)
ENABLED_LIBRARIES[LIBRARY_ZIMG]=$2
;;
expat | giflib | jpeg | leptonica | libogg | libsamplerate | libsndfile) expat | giflib | jpeg | leptonica | libogg | libsamplerate | libsndfile)
# THESE LIBRARIES ARE NOT ENABLED DIRECTLY # THESE LIBRARIES ARE NOT ENABLED DIRECTLY
;; ;;
@ -1277,6 +1296,9 @@ check_if_dependency_rebuilt() {
nettle) nettle)
set_dependency_rebuilt_flag "gnutls" set_dependency_rebuilt_flag "gnutls"
;; ;;
openssl)
set_dependency_rebuilt_flag "srt"
;;
tiff) tiff)
set_dependency_rebuilt_flag "libwebp" set_dependency_rebuilt_flag "libwebp"
set_dependency_rebuilt_flag "leptonica" set_dependency_rebuilt_flag "leptonica"
@ -1338,7 +1360,7 @@ print_enabled_libraries() {
let enabled=0 let enabled=0
# SUPPLEMENTARY LIBRARIES NOT PRINTED # SUPPLEMENTARY LIBRARIES NOT PRINTED
for library in {47..54} {56..58} {0..33}; do for library in {50..57} {59..61} {0..36}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
if [[ ${enabled} -ge 1 ]]; then if [[ ${enabled} -ge 1 ]]; then
echo -n ", " echo -n ", "
@ -1361,7 +1383,7 @@ print_enabled_xcframeworks() {
let enabled=0 let enabled=0
# SUPPLEMENTARY LIBRARIES NOT PRINTED # SUPPLEMENTARY LIBRARIES NOT PRINTED
for library in {0..46}; do for library in {0..49}; do
if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then if [[ ${ENABLED_LIBRARIES[$library]} -eq 1 ]]; then
if [[ ${enabled} -ge 1 ]]; then if [[ ${enabled} -ge 1 ]]; then
echo -n ", " echo -n ", "
@ -1445,16 +1467,16 @@ print_redownload_requested_libraries() {
# 1 - library index # 1 - library index
get_external_library_license_path() { get_external_library_license_path() {
case $1 in case $1 in
1) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE.TXT" ;; 1 | 35) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE.TXT" ;;
3 | 39) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.LESSERv3" ;; 3 | 39) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.LESSERv3" ;;
5 | 41) echo "${BASEDIR}/src/$(get_library_name "$1")/$(get_library_name "$1")/COPYING" ;; 5 | 41) echo "${BASEDIR}/src/$(get_library_name "$1")/$(get_library_name "$1")/COPYING" ;;
19) echo "${BASEDIR}/src/$(get_library_name "$1")/$(get_library_name "$1")/LICENSE" ;; 19) echo "${BASEDIR}/src/$(get_library_name "$1")/$(get_library_name "$1")/LICENSE" ;;
26) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.LGPL" ;; 26) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.LGPL" ;;
28 | 35) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE.md " ;; 28 | 38) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE.md " ;;
30) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.txt" ;; 30) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.txt" ;;
40) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYRIGHT" ;; 43) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYRIGHT" ;;
43) echo "${BASEDIR}/src/$(get_library_name "$1")/leptonica-license.txt" ;; 46) echo "${BASEDIR}/src/$(get_library_name "$1")/leptonica-license.txt" ;;
4 | 10 | 13 | 21 | 27 | 31 | 32 | 37 | 46) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE" ;; 4 | 10 | 13 | 21 | 27 | 31 | 32 | 36 | 40 | 49) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE" ;;
*) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING" ;; *) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING" ;;
esac esac
} }
@ -1706,7 +1728,7 @@ downloaded_enabled_library_sources() {
exit 1 exit 1
fi fi
for library in {1..47}; do for library in {1..50}; do
if [[ ${!library} -eq 1 ]]; then if [[ ${!library} -eq 1 ]]; then
library_name=$(get_library_name $((library - 1))) library_name=$(get_library_name $((library - 1)))

View File

@ -43,7 +43,7 @@ fi
# FILTER WHICH EXTERNAL LIBRARIES WILL BE BUILT # FILTER WHICH EXTERNAL LIBRARIES WILL BE BUILT
# NOTE THAT BUILT-IN LIBRARIES ARE FORWARDED TO FFMPEG SCRIPT WITHOUT ANY PROCESSING # NOTE THAT BUILT-IN LIBRARIES ARE FORWARDED TO FFMPEG SCRIPT WITHOUT ANY PROCESSING
enabled_library_list=() enabled_library_list=()
for library in {1..47}; do for library in {1..50}; do
if [[ ${!library} -eq 1 ]]; then if [[ ${!library} -eq 1 ]]; then
ENABLED_LIBRARY=$(get_library_name $((library - 1))) ENABLED_LIBRARY=$(get_library_name $((library - 1)))
enabled_library_list+=(${ENABLED_LIBRARY}) enabled_library_list+=(${ENABLED_LIBRARY})
@ -138,6 +138,11 @@ while [ ${#enabled_library_list[@]} -gt $completed ]; do
run=1 run=1
fi fi
;; ;;
srt)
if [[ $OK_openssl -eq 1 ]]; then
run=1
fi
;;
tesseract) tesseract)
if [[ $OK_leptonica -eq 1 ]]; then if [[ $OK_leptonica -eq 1 ]]; then
run=1 run=1
@ -175,12 +180,17 @@ while [ ${#enabled_library_list[@]} -gt $completed ]; do
"${BASEDIR}"/scripts/run-android.sh "${library}" 1>>"${BASEDIR}"/build.log 2>&1 "${BASEDIR}"/scripts/run-android.sh "${library}" 1>>"${BASEDIR}"/build.log 2>&1
RC=$?
# SET SOME FLAGS AFTER THE BUILD # SET SOME FLAGS AFTER THE BUILD
if [ $? -eq 0 ]; then if [ $RC -eq 0 ]; then
((completed += 1)) ((completed += 1))
declare "$BUILD_COMPLETED_FLAG=1" declare "$BUILD_COMPLETED_FLAG=1"
check_if_dependency_rebuilt "${library}" check_if_dependency_rebuilt "${library}"
echo "ok" echo "ok"
elif [ $RC -eq 200 ]; then
echo -e "not supported\n\nSee build.log for details\n"
exit 1
else else
echo -e "failed\n\nSee build.log for details\n" echo -e "failed\n\nSee build.log for details\n"
exit 1 exit 1

View File

@ -38,7 +38,7 @@ fi
# FILTER WHICH EXTERNAL LIBRARIES WILL BE BUILT # FILTER WHICH EXTERNAL LIBRARIES WILL BE BUILT
# NOTE THAT BUILT-IN LIBRARIES ARE FORWARDED TO FFMPEG SCRIPT WITHOUT ANY PROCESSING # NOTE THAT BUILT-IN LIBRARIES ARE FORWARDED TO FFMPEG SCRIPT WITHOUT ANY PROCESSING
enabled_library_list=() enabled_library_list=()
for library in {1..47}; do for library in {1..50}; do
if [[ ${!library} -eq 1 ]]; then if [[ ${!library} -eq 1 ]]; then
ENABLED_LIBRARY=$(get_library_name $((library - 1))) ENABLED_LIBRARY=$(get_library_name $((library - 1)))
enabled_library_list+=(${ENABLED_LIBRARY}) enabled_library_list+=(${ENABLED_LIBRARY})
@ -108,6 +108,11 @@ while [ ${#enabled_library_list[@]} -gt $completed ]; do
run=1 run=1
fi fi
;; ;;
srt)
if [[ $OK_openssl -eq 1 ]]; then
run=1
fi
;;
tesseract) tesseract)
if [[ $OK_leptonica -eq 1 ]]; then if [[ $OK_leptonica -eq 1 ]]; then
run=1 run=1
@ -145,12 +150,17 @@ while [ ${#enabled_library_list[@]} -gt $completed ]; do
"${BASEDIR}"/scripts/run-apple.sh "${library}" 1>>"${BASEDIR}"/build.log 2>&1 "${BASEDIR}"/scripts/run-apple.sh "${library}" 1>>"${BASEDIR}"/build.log 2>&1
RC=$?
# SET SOME FLAGS AFTER THE BUILD # SET SOME FLAGS AFTER THE BUILD
if [ $? -eq 0 ]; then if [ $RC -eq 0 ]; then
((completed += 1)) ((completed += 1))
declare "$BUILD_COMPLETED_FLAG=1" declare "$BUILD_COMPLETED_FLAG=1"
check_if_dependency_rebuilt "${library}" check_if_dependency_rebuilt "${library}"
echo "ok" echo "ok"
elif [ $RC -eq 200 ]; then
echo -e "not supported\n\nSee build.log for details\n"
exit 1
else else
echo -e "failed\n\nSee build.log for details\n" echo -e "failed\n\nSee build.log for details\n"
exit 1 exit 1

View File

@ -38,7 +38,7 @@ fi
# FILTER WHICH EXTERNAL LIBRARIES WILL BE BUILT # FILTER WHICH EXTERNAL LIBRARIES WILL BE BUILT
# NOTE THAT BUILT-IN LIBRARIES ARE FORWARDED TO FFMPEG SCRIPT WITHOUT ANY PROCESSING # NOTE THAT BUILT-IN LIBRARIES ARE FORWARDED TO FFMPEG SCRIPT WITHOUT ANY PROCESSING
enabled_library_list=() enabled_library_list=()
for library in {1..47}; do for library in {1..50}; do
if [[ ${!library} -eq 1 ]]; then if [[ ${!library} -eq 1 ]]; then
ENABLED_LIBRARY=$(get_library_name $((library - 1))) ENABLED_LIBRARY=$(get_library_name $((library - 1)))
enabled_library_list+=(${ENABLED_LIBRARY}) enabled_library_list+=(${ENABLED_LIBRARY})
@ -108,6 +108,11 @@ while [ ${#enabled_library_list[@]} -gt $completed ]; do
run=1 run=1
fi fi
;; ;;
srt)
if [[ $OK_openssl -eq 1 ]]; then
run=1
fi
;;
tesseract) tesseract)
if [[ $OK_leptonica -eq 1 ]]; then if [[ $OK_leptonica -eq 1 ]]; then
run=1 run=1
@ -144,12 +149,17 @@ while [ ${#enabled_library_list[@]} -gt $completed ]; do
"${BASEDIR}"/scripts/run-apple.sh "${library}" 1>>"${BASEDIR}"/build.log 2>&1 "${BASEDIR}"/scripts/run-apple.sh "${library}" 1>>"${BASEDIR}"/build.log 2>&1
RC=$?
# SET SOME FLAGS AFTER THE BUILD # SET SOME FLAGS AFTER THE BUILD
if [ $? -eq 0 ]; then if [ $RC -eq 0 ]; then
((completed += 1)) ((completed += 1))
declare "$BUILD_COMPLETED_FLAG=1" declare "$BUILD_COMPLETED_FLAG=1"
check_if_dependency_rebuilt "${library}" check_if_dependency_rebuilt "${library}"
echo "ok" echo "ok"
elif [ $RC -eq 200 ]; then
echo -e "not supported\n\nSee build.log for details\n"
exit 1
else else
echo -e "failed\n\nSee build.log for details\n" echo -e "failed\n\nSee build.log for details\n"
exit 1 exit 1

View File

@ -38,7 +38,7 @@ fi
# FILTER WHICH EXTERNAL LIBRARIES WILL BE BUILT # FILTER WHICH EXTERNAL LIBRARIES WILL BE BUILT
# NOTE THAT BUILT-IN LIBRARIES ARE FORWARDED TO FFMPEG SCRIPT WITHOUT ANY PROCESSING # NOTE THAT BUILT-IN LIBRARIES ARE FORWARDED TO FFMPEG SCRIPT WITHOUT ANY PROCESSING
enabled_library_list=() enabled_library_list=()
for library in {1..47}; do for library in {1..50}; do
if [[ ${!library} -eq 1 ]]; then if [[ ${!library} -eq 1 ]]; then
ENABLED_LIBRARY=$(get_library_name $((library - 1))) ENABLED_LIBRARY=$(get_library_name $((library - 1)))
enabled_library_list+=(${ENABLED_LIBRARY}) enabled_library_list+=(${ENABLED_LIBRARY})
@ -108,6 +108,11 @@ while [ ${#enabled_library_list[@]} -gt $completed ]; do
run=1 run=1
fi fi
;; ;;
srt)
if [[ $OK_openssl -eq 1 ]]; then
run=1
fi
;;
tesseract) tesseract)
if [[ $OK_leptonica -eq 1 ]]; then if [[ $OK_leptonica -eq 1 ]]; then
run=1 run=1
@ -143,12 +148,17 @@ while [ ${#enabled_library_list[@]} -gt $completed ]; do
"${BASEDIR}"/scripts/run-apple.sh "${library}" 1>>"${BASEDIR}"/build.log 2>&1 "${BASEDIR}"/scripts/run-apple.sh "${library}" 1>>"${BASEDIR}"/build.log 2>&1
RC=$?
# SET SOME FLAGS AFTER THE BUILD # SET SOME FLAGS AFTER THE BUILD
if [ $? -eq 0 ]; then if [ $RC -eq 0 ]; then
((completed += 1)) ((completed += 1))
declare "$BUILD_COMPLETED_FLAG=1" declare "$BUILD_COMPLETED_FLAG=1"
check_if_dependency_rebuilt "${library}" check_if_dependency_rebuilt "${library}"
echo "ok" echo "ok"
elif [ $RC -eq 200 ]; then
echo -e "not supported\n\nSee build.log for details\n"
exit 1
else else
echo -e "failed\n\nSee build.log for details\n" echo -e "failed\n\nSee build.log for details\n"
exit 1 exit 1

View File

@ -182,6 +182,11 @@ get_library_source() {
SOURCE_ID="v2.1.1" SOURCE_ID="v2.1.1"
SOURCE_TYPE="TAG" SOURCE_TYPE="TAG"
;; ;;
openssl)
SOURCE_REPO_URL="https://github.com/tanersener/openssl"
SOURCE_ID="openssl-3.0.1"
SOURCE_TYPE="TAG"
;;
opus) opus)
SOURCE_REPO_URL="https://github.com/tanersener/opus" SOURCE_REPO_URL="https://github.com/tanersener/opus"
SOURCE_ID="v1.3.1" SOURCE_ID="v1.3.1"
@ -217,6 +222,11 @@ get_library_source() {
SOURCE_ID="Speex-1.2.0" SOURCE_ID="Speex-1.2.0"
SOURCE_TYPE="TAG" SOURCE_TYPE="TAG"
;; ;;
srt)
SOURCE_REPO_URL="https://github.com/tanersener/srt"
SOURCE_ID="v1.4.4"
SOURCE_TYPE="TAG"
;;
tesseract) tesseract)
SOURCE_REPO_URL="https://github.com/tanersener/tesseract" SOURCE_REPO_URL="https://github.com/tanersener/tesseract"
SOURCE_ID="3.05.02" SOURCE_ID="3.05.02"
@ -252,6 +262,11 @@ get_library_source() {
SOURCE_ID="release-1_3_7" SOURCE_ID="release-1_3_7"
SOURCE_TYPE="TAG" SOURCE_TYPE="TAG"
;; ;;
zimg)
SOURCE_REPO_URL="https://github.com/tanersener/zimg"
SOURCE_ID="release-3.0.3"
SOURCE_TYPE="TAG"
;;
esac esac
case $2 in case $2 in

View File

@ -10,7 +10,7 @@ ENABLED_ARCHITECTURES=(0 0 0 0 0 0 0 0 0 0 0 0 0)
ENABLED_ARCHITECTURE_VARIANTS=(0 0 0 0 0 0 0 0) ENABLED_ARCHITECTURE_VARIANTS=(0 0 0 0 0 0 0 0)
# ARRAY OF ENABLED LIBRARIES # ARRAY OF ENABLED LIBRARIES
ENABLED_LIBRARIES=(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) ENABLED_LIBRARIES=(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
# ARRAY OF LIBRARIES THAT WILL BE RE-CONFIGURED # ARRAY OF LIBRARIES THAT WILL BE RE-CONFIGURED
RECONF_LIBRARIES=() RECONF_LIBRARIES=()
@ -81,28 +81,31 @@ LIBRARY_SDL=30
LIBRARY_TESSERACT=31 LIBRARY_TESSERACT=31
LIBRARY_OPENH264=32 LIBRARY_OPENH264=32
LIBRARY_VO_AMRWBENC=33 LIBRARY_VO_AMRWBENC=33
LIBRARY_GIFLIB=34 LIBRARY_ZIMG=34
LIBRARY_JPEG=35 LIBRARY_OPENSSL=35
LIBRARY_LIBOGG=36 LIBRARY_SRT=36
LIBRARY_LIBPNG=37 LIBRARY_GIFLIB=37
LIBRARY_LIBUUID=38 LIBRARY_JPEG=38
LIBRARY_NETTLE=39 LIBRARY_LIBOGG=39
LIBRARY_TIFF=40 LIBRARY_LIBPNG=40
LIBRARY_EXPAT=41 LIBRARY_LIBUUID=41
LIBRARY_SNDFILE=42 LIBRARY_NETTLE=42
LIBRARY_LEPTONICA=43 LIBRARY_TIFF=43
LIBRARY_LIBSAMPLERATE=44 LIBRARY_EXPAT=44
LIBRARY_HARFBUZZ=45 LIBRARY_SNDFILE=45
LIBRARY_CPU_FEATURES=46 LIBRARY_LEPTONICA=46
LIBRARY_ANDROID_ZLIB=47 LIBRARY_LIBSAMPLERATE=47
LIBRARY_ANDROID_MEDIA_CODEC=48 LIBRARY_HARFBUZZ=48
LIBRARY_APPLE_ZLIB=49 LIBRARY_CPU_FEATURES=49
LIBRARY_APPLE_AUDIOTOOLBOX=50 LIBRARY_ANDROID_ZLIB=50
LIBRARY_APPLE_BZIP2=51 LIBRARY_ANDROID_MEDIA_CODEC=51
LIBRARY_APPLE_VIDEOTOOLBOX=52 LIBRARY_APPLE_ZLIB=52
LIBRARY_APPLE_AVFOUNDATION=53 LIBRARY_APPLE_AUDIOTOOLBOX=53
LIBRARY_APPLE_LIBICONV=54 LIBRARY_APPLE_BZIP2=54
LIBRARY_APPLE_LIBUUID=55 LIBRARY_APPLE_VIDEOTOOLBOX=55
LIBRARY_APPLE_COREIMAGE=56 LIBRARY_APPLE_AVFOUNDATION=56
LIBRARY_APPLE_OPENCL=57 LIBRARY_APPLE_LIBICONV=57
LIBRARY_APPLE_OPENGL=58 LIBRARY_APPLE_LIBUUID=58
LIBRARY_APPLE_COREIMAGE=59
LIBRARY_APPLE_OPENCL=60
LIBRARY_APPLE_OPENGL=61

3
src/.gitignore vendored
View File

@ -32,6 +32,7 @@ libxml2
nettle nettle
opencore-amr opencore-amr
openh264 openh264
openssl
opus opus
rubberband rubberband
sdl sdl
@ -39,6 +40,7 @@ shine
snappy snappy
soxr soxr
speex speex
srt
tesseract tesseract
tiff tiff
twolame twolame
@ -46,3 +48,4 @@ vo-amrwbenc
x264 x264
x265 x265
xvidcore xvidcore
zimg

View File

@ -44,8 +44,8 @@ task javadoc(type: Javadoc) {
} }
dependencies { dependencies {
implementation 'com.arthenica:smart-exception-java:0.1.0' implementation 'com.arthenica:smart-exception-java:0.1.1'
testImplementation "androidx.test.ext:junit:1.1.2" testImplementation "androidx.test.ext:junit:1.1.3"
testImplementation "org.json:json:20201115" testImplementation "org.json:json:20201115"
} }

View File

@ -44,8 +44,8 @@ task javadoc(type: Javadoc) {
} }
dependencies { dependencies {
implementation 'com.arthenica:smart-exception-java:0.1.0' implementation 'com.arthenica:smart-exception-java:0.1.1'
testImplementation "androidx.test.ext:junit:1.1.2" testImplementation "androidx.test.ext:junit:1.1.3"
testImplementation "org.json:json:20201115" testImplementation "org.json:json:20201115"
} }

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-audio-VERSION-ios-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-audio-VERSION-ios-framework.zip" }
s.ios.deployment_target = '9.3' s.ios.deployment_target = '10'
s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox' s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox'
s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-gpl-VERSION-ios-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-gpl-VERSION-ios-framework.zip" }
s.ios.deployment_target = '9.3' s.ios.deployment_target = '10'
s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox' s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox'
s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-VERSION-ios-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-VERSION-ios-framework.zip" }
s.ios.deployment_target = '9.3' s.ios.deployment_target = '10'
s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox' s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox'
s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-gpl-VERSION-ios-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-gpl-VERSION-ios-framework.zip" }
s.ios.deployment_target = '9.3' s.ios.deployment_target = '10'
s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox' s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox'
s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-VERSION-ios-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-VERSION-ios-framework.zip" }
s.ios.deployment_target = '9.3' s.ios.deployment_target = '10'
s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox' s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox'
s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-gpl-VERSION-ios-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-gpl-VERSION-ios-framework.zip" }
s.ios.deployment_target = '9.3' s.ios.deployment_target = '10'
s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox' s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox'
s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-VERSION-ios-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-VERSION-ios-framework.zip" }
s.ios.deployment_target = '9.3' s.ios.deployment_target = '10'
s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox' s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox'
s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-video-VERSION-ios-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-video-VERSION-ios-framework.zip" }
s.ios.deployment_target = '9.3' s.ios.deployment_target = '10'
s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox' s.ios.frameworks = 'AudioToolbox','AVFoundation','CoreMedia','VideoToolbox'
s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.ios.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-audio-VERSION-macos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-audio-VERSION-macos-framework.zip" }
s.osx.deployment_target = '10.11' s.osx.deployment_target = '10.12'
s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL','VideoToolbox' s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL','VideoToolbox'
s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-gpl-VERSION-macos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-gpl-VERSION-macos-framework.zip" }
s.osx.deployment_target = '10.11' s.osx.deployment_target = '10.12'
s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL', 'Security', 'VideoToolbox' s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL', 'Security', 'VideoToolbox'
s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-VERSION-macos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-VERSION-macos-framework.zip" }
s.osx.deployment_target = '10.11' s.osx.deployment_target = '10.12'
s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL', 'Security', 'VideoToolbox' s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL', 'Security', 'VideoToolbox'
s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-gpl-VERSION-macos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-gpl-VERSION-macos-framework.zip" }
s.osx.deployment_target = '10.11' s.osx.deployment_target = '10.12'
s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL', 'Security', 'VideoToolbox' s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL', 'Security', 'VideoToolbox'
s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-VERSION-macos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-VERSION-macos-framework.zip" }
s.osx.deployment_target = '10.11' s.osx.deployment_target = '10.12'
s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL', 'Security', 'VideoToolbox' s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL', 'Security', 'VideoToolbox'
s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-gpl-VERSION-macos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-gpl-VERSION-macos-framework.zip" }
s.osx.deployment_target = '10.11' s.osx.deployment_target = '10.12'
s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL','VideoToolbox' s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL','VideoToolbox'
s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-VERSION-macos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-VERSION-macos-framework.zip" }
s.osx.deployment_target = '10.11' s.osx.deployment_target = '10.12'
s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL','VideoToolbox' s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL','VideoToolbox'
s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-video-VERSION-macos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-video-VERSION-macos-framework.zip" }
s.osx.deployment_target = '10.11' s.osx.deployment_target = '10.12'
s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL','VideoToolbox' s.osx.frameworks = 'AudioToolbox','AVFoundation','CoreAudio','CoreImage','CoreMedia','OpenCL','OpenGL','VideoToolbox'
s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.osx.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-audio-VERSION-tvos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-audio-VERSION-tvos-framework.zip" }
s.tvos.deployment_target = '9.2' s.tvos.deployment_target = '10.0'
s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia' s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia'
s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-gpl-VERSION-tvos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-gpl-VERSION-tvos-framework.zip" }
s.tvos.deployment_target = '9.2' s.tvos.deployment_target = '10.0'
s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia' s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia'
s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-VERSION-tvos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-full-VERSION-tvos-framework.zip" }
s.tvos.deployment_target = '9.2' s.tvos.deployment_target = '10.0'
s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia' s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia'
s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-gpl-VERSION-tvos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-gpl-VERSION-tvos-framework.zip" }
s.tvos.deployment_target = '9.2' s.tvos.deployment_target = '10.0'
s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia' s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia'
s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-VERSION-tvos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-https-VERSION-tvos-framework.zip" }
s.tvos.deployment_target = '9.2' s.tvos.deployment_target = '10.0'
s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia' s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia'
s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-gpl-VERSION-tvos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-gpl-VERSION-tvos-framework.zip" }
s.tvos.deployment_target = '9.2' s.tvos.deployment_target = '10.0'
s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia' s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia'
s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-VERSION-tvos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-min-VERSION-tvos-framework.zip" }
s.tvos.deployment_target = '9.2' s.tvos.deployment_target = '10.0'
s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia' s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia'
s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -17,7 +17,7 @@ Pod::Spec.new do |s|
s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-video-VERSION-tvos-framework.zip" } s.source = { :http => "https://github.com/tanersener/ffmpeg-kit/releases/download/vVERSION/ffmpeg-kit-video-VERSION-tvos-framework.zip" }
s.tvos.deployment_target = '9.2' s.tvos.deployment_target = '10.0'
s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia' s.tvos.frameworks = 'AudioToolbox','VideoToolbox','CoreMedia'
s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework' s.tvos.vendored_frameworks = 'ffmpegkit.framework', 'libavcodec.framework', 'libavdevice.framework', 'libavfilter.framework', 'libavformat.framework', 'libavutil.framework', 'libswresample.framework', 'libswscale.framework'

View File

@ -27,7 +27,7 @@ create_package() {
sed -i '' "s/\.framework/\.xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/\.framework/\.xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/-framework/-xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/-framework/-xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/ios\.xcframeworks/ios\.frameworks/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/ios\.xcframeworks/ios\.frameworks/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/9\.3/12\.1/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/10/12\.1/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/ffmpegkit\.xcframework\/LICENSE/ffmpegkit\.xcframework\/ios-arm64\/ffmpegkit\.framework\/LICENSE/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/ffmpegkit\.xcframework\/LICENSE/ffmpegkit\.xcframework\/ios-arm64\/ffmpegkit\.framework\/LICENSE/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
} }

View File

@ -27,7 +27,7 @@ create_package() {
sed -i '' "s/\.framework/\.xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/\.framework/\.xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/-framework/-xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/-framework/-xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/osx\.xcframeworks/osx\.frameworks/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/osx\.xcframeworks/osx\.frameworks/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/10\.11/10\.15/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/10\.12/10\.15/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/ffmpegkit\.xcframework\/LICENSE/ffmpegkit\.xcframework\/macos-arm64_x86_64\/ffmpegkit\.framework\/LICENSE/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/ffmpegkit\.xcframework\/LICENSE/ffmpegkit\.xcframework\/macos-arm64_x86_64\/ffmpegkit\.framework\/LICENSE/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
} }

View File

@ -27,7 +27,7 @@ create_package() {
sed -i '' "s/\.framework/\.xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/\.framework/\.xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/-framework/-xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/-framework/-xcframework/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/tvos\.xcframeworks/tvos\.frameworks/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/tvos\.xcframeworks/tvos\.frameworks/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/9\.2/10\.2/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/10\.0/11\.0/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/ffmpegkit\.xcframework\/LICENSE/ffmpegkit\.xcframework\/tvos-arm64\/ffmpegkit\.framework\/LICENSE/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1 sed -i '' "s/ffmpegkit\.xcframework\/LICENSE/ffmpegkit\.xcframework\/tvos-arm64\/ffmpegkit\.framework\/LICENSE/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
} }

View File

@ -139,7 +139,7 @@ done
# PROCESS FULL OPTION AS LAST OPTION # PROCESS FULL OPTION AS LAST OPTION
if [[ -n ${BUILD_FULL} ]]; then if [[ -n ${BUILD_FULL} ]]; then
for library in {0..58}; do for library in {0..61}; do
if [ ${GPL_ENABLED} == "yes" ]; then if [ ${GPL_ENABLED} == "yes" ]; then
enable_library "$(get_library_name "$library")" 1 enable_library "$(get_library_name "$library")" 1
else else
@ -220,7 +220,7 @@ for run_arch in {0..12}; do
TARGET_ARCH_LIST+=("${FULL_ARCH}") TARGET_ARCH_LIST+=("${FULL_ARCH}")
# CLEAR FLAGS # CLEAR FLAGS
for library in {0..58}; do for library in {0..61}; do
library_name=$(get_library_name "${library}") library_name=$(get_library_name "${library}")
unset "$(echo "OK_${library_name}" | sed "s/\-/\_/g")" unset "$(echo "OK_${library_name}" | sed "s/\-/\_/g")"
unset "$(echo "DEPENDENCY_REBUILT_${library_name}" | sed "s/\-/\_/g")" unset "$(echo "DEPENDENCY_REBUILT_${library_name}" | sed "s/\-/\_/g")"