;
void log(long, int, byte[]);
void statistics(long, int, float, float, long , int, double, double);
- void closeParcelFileDescriptor(int);
+ int safOpen(int);
+ int safClose(int);
}
-keep class com.arthenica.ffmpegkit.AbiDetect {
diff --git a/android/ffmpeg-kit-android-lib/src/main/cpp/ffmpegkit.h b/android/ffmpeg-kit-android-lib/src/main/cpp/ffmpegkit.h
index 5570e12..dc1660d 100644
--- a/android/ffmpeg-kit-android-lib/src/main/cpp/ffmpegkit.h
+++ b/android/ffmpeg-kit-android-lib/src/main/cpp/ffmpegkit.h
@@ -27,7 +27,7 @@
#include "libavutil/ffversion.h"
/** Library version string */
-#define FFMPEG_KIT_VERSION "4.5"
+#define FFMPEG_KIT_VERSION "4.5.1"
/** Defines tag used for Android logging. */
#define LIB_NAME "ffmpeg-kit"
diff --git a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/FFmpegKitConfig.java b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/FFmpegKitConfig.java
index 16b8829..1f58a8e 100644
--- a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/FFmpegKitConfig.java
+++ b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/FFmpegKitConfig.java
@@ -952,7 +952,7 @@ public class FFmpegKitConfig {
* Converts the given Structured Access Framework Uri ("content:…"
) into an
* SAF protocol url that can be used in FFmpeg and FFprobe commands.
*
- *
Requires API Level >= 19. On older API levels it returns an empty url.
+ *
Requires API Level 19+. On older API levels it returns an empty url.
*
* @param context application context
* @param uri SAF uri
diff --git a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/NativeLoader.java b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/NativeLoader.java
index 388e5c3..1197e83 100644
--- a/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/NativeLoader.java
+++ b/android/ffmpeg-kit-android-lib/src/main/java/com/arthenica/ffmpegkit/NativeLoader.java
@@ -85,7 +85,7 @@ public class NativeLoader {
}
static String loadVersion() {
- final String version = "4.5";
+ final String version = "4.5.1";
if (isTestModeDisabled()) {
return FFmpegKitConfig.getVersion();
diff --git a/apple/Doxyfile b/apple/Doxyfile
index 38dc890..473ffef 100644
--- a/apple/Doxyfile
+++ b/apple/Doxyfile
@@ -38,7 +38,7 @@ PROJECT_NAME = "FFmpegKit iOS / macOS / tvOS API"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 4.5
+PROJECT_NUMBER = 4.5.1
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/apple/README.md b/apple/README.md
index 2beaaad..821ae37 100644
--- a/apple/README.md
+++ b/apple/README.md
@@ -97,13 +97,10 @@ All libraries created can be found under the `prebuilt` directory.
- `tvOS` `xcframeworks` for `Main` builds are located under the `bundle-apple-xcframework-tvos` folder.
- `iOS` `frameworks` for `Main` builds are located under the `bundle-apple-framework-ios` folder.
- `iOS` `frameworks` for `LTS` builds are located under the `bundle-apple-framework-ios-lts` folder.
-- `iOS` `universal (fat) libraries (.a)` for `LTS` builds are located under the `bundle-apple-universal-ios-lts` folder.
- `macOS` `frameworks` for `Main` builds are located under the `bundle-apple-framework-macos` folder.
- `macOS` `frameworks` for `LTS` builds are located under the `bundle-apple-framework-macos-lts` folder.
-- `macOS` `universal (fat) libraries (.a)` for `LTS` builds are located under the `bundle-apple-universal-macos-lts` folder.
- `tvOS` `frameworks` for `Main` builds are located under the `bundle-apple-framework-tvos` folder.
- `tvOS` `frameworks` for `LTS` builds are located under the `bundle-apple-framework-tvos-lts` folder.
-- `tvOS` `universal (fat) libraries (.a)` for `LTS` builds are located under the `bundle-apple-universal-tvos-lts` folder.
### 3. Using
@@ -114,17 +111,17 @@ All libraries created can be found under the `prebuilt` directory.
- iOS
```yaml
- pod 'ffmpeg-kit-ios-full', '~> 4.5'
+ pod 'ffmpeg-kit-ios-full', '~> 4.5.1'
```
- macOS
```yaml
- pod 'ffmpeg-kit-macos-full', '~> 4.5'
+ pod 'ffmpeg-kit-macos-full', '~> 4.5.1'
```
- tvOS
```yaml
- pod 'ffmpeg-kit-tvos-full', '~> 4.5'
+ pod 'ffmpeg-kit-tvos-full', '~> 4.5.1'
```
2. Execute synchronous `FFmpeg` commands.
@@ -191,7 +188,7 @@ All libraries created can be found under the `prebuilt` directory.
4. Execute asynchronous `FFmpeg` commands by providing session specific `execute`/`log`/`session` callbacks.
```objectivec
- id session = [FFmpegKit executeAsync:@"-i file1.mp4 -c:v mpeg4 file2.mp4" withExecuteCallback:^(id session){
+ FFmpegSession* session = [FFmpegKit executeAsync:@"-i file1.mp4 -c:v mpeg4 file2.mp4" withCompleteCallback:^(FFmpegSession* session){
SessionState state = [session getState];
ReturnCode *returnCode = [session getReturnCode];
@@ -225,7 +222,7 @@ All libraries created can be found under the `prebuilt` directory.
- Asynchronous
```objectivec
- [FFprobeKit executeAsync:ffmpegCommand withExecuteCallback:^(id session) {
+ [FFprobeKit executeAsync:ffmpegCommand withCompleteCallback:^(FFprobeSession* session) {
CALLED WHEN SESSION IS EXECUTED
@@ -268,10 +265,18 @@ All libraries created can be found under the `prebuilt` directory.
9. Enable global callbacks.
- - Execute Callback, called when an async execution is ended
+ - Session type specific Complete Callbacks, called when an async session has been completed
```objectivec
- [FFmpegKitConfig enableExecuteCallback:^(id session) {
+ [FFmpegKitConfig enableFFmpegSessionCompleteCallback:^(FFmpegSession* session) {
+ ...
+ }];
+
+ [FFmpegKitConfig enableFFprobeSessionCompleteCallback:^(FFprobeSession* session) {
+ ...
+ }];
+
+ [FFmpegKitConfig enableMediaInformationSessionCompleteCallback:^(MediaInformationSession* session) {
...
}];
```
diff --git a/apple/configure b/apple/configure
index 8502b08..46b3882 100755
--- a/apple/configure
+++ b/apple/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for ffmpeg-kit 4.5.
+# Generated by GNU Autoconf 2.71 for ffmpeg-kit 4.5.1.
#
# Report bugs to .
#
@@ -622,8 +622,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ffmpeg-kit'
PACKAGE_TARNAME='ffmpeg-kit'
-PACKAGE_VERSION='4.5'
-PACKAGE_STRING='ffmpeg-kit 4.5'
+PACKAGE_VERSION='4.5.1'
+PACKAGE_STRING='ffmpeg-kit 4.5.1'
PACKAGE_BUGREPORT='https://github.com/tanersener/ffmpeg-kit/issues/new'
PACKAGE_URL=''
@@ -1367,7 +1367,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ffmpeg-kit 4.5 to adapt to many kinds of systems.
+\`configure' configures ffmpeg-kit 4.5.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1438,7 +1438,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ffmpeg-kit 4.5:";;
+ short | recursive ) echo "Configuration of ffmpeg-kit 4.5.1:";;
esac
cat <<\_ACEOF
@@ -1554,7 +1554,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ffmpeg-kit configure 4.5
+ffmpeg-kit configure 4.5.1
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2048,7 +2048,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ffmpeg-kit $as_me 4.5, which was
+It was created by ffmpeg-kit $as_me 4.5.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3320,7 +3320,7 @@ fi
# Define the identity of the package.
PACKAGE='ffmpeg-kit'
- VERSION='4.5'
+ VERSION='4.5.1'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -15374,7 +15374,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ffmpeg-kit $as_me 4.5, which was
+This file was extended by ffmpeg-kit $as_me 4.5.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15433,7 +15433,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-ffmpeg-kit config.status 4.5
+ffmpeg-kit config.status 4.5.1
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/apple/configure.ac b/apple/configure.ac
index 99de66f..ae43e5f 100644
--- a/apple/configure.ac
+++ b/apple/configure.ac
@@ -1,6 +1,6 @@
-# ffmpeg-kit 4.5 configure.ac
+# ffmpeg-kit 4.5.1 configure.ac
-AC_INIT([ffmpeg-kit], [4.5], [https://github.com/tanersener/ffmpeg-kit/issues/new])
+AC_INIT([ffmpeg-kit], [4.5.1], [https://github.com/tanersener/ffmpeg-kit/issues/new])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/FFmpegKit.m])
diff --git a/apple/src/FFmpegKitConfig.m b/apple/src/FFmpegKitConfig.m
index 37a4756..a9f4296 100644
--- a/apple/src/FFmpegKitConfig.m
+++ b/apple/src/FFmpegKitConfig.m
@@ -36,7 +36,7 @@
#import "SessionState.h"
/** Global library version */
-NSString* const FFmpegKitVersion = @"4.5";
+NSString* const FFmpegKitVersion = @"4.5.1";
/**
* Prefix of named pipes created by ffmpeg-kit.
diff --git a/scripts/function-android.sh b/scripts/function-android.sh
index 41cd5a1..c1c6029 100755
--- a/scripts/function-android.sh
+++ b/scripts/function-android.sh
@@ -251,7 +251,7 @@ get_arch_specific_cflags() {
x86)
case ${DETECTED_NDK_VERSION} in
23*)
- echo "-march=i686 -mssse3 -mfpmath=sse -m32 -DFFMPEG_KIT_X86"
+ echo "-march=i686 -mtune=generic -mssse3 -mfpmath=sse -m32 -DFFMPEG_KIT_X86"
;;
*)
echo "-march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32 -DFFMPEG_KIT_X86"
@@ -261,7 +261,7 @@ get_arch_specific_cflags() {
x86-64)
case ${DETECTED_NDK_VERSION} in
23*)
- echo "-march=x86-64 -msse4.2 -mpopcnt -m64 -DFFMPEG_KIT_X86_64"
+ echo "-march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=generic -DFFMPEG_KIT_X86_64"
;;
*)
echo "-march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -DFFMPEG_KIT_X86_64"
diff --git a/scripts/function.sh b/scripts/function.sh
index 65f5d22..02f1ff3 100755
--- a/scripts/function.sh
+++ b/scripts/function.sh
@@ -1581,15 +1581,15 @@ get_external_library_license_path() {
case $1 in
1) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE.TXT" ;;
35) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE.txt" ;;
- 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" ;;
+ 3 | 42) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.LESSERv3" ;;
+ 5 | 44) 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" ;;
26) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.LGPL" ;;
28 | 38) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE.md " ;;
30) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING.txt" ;;
43) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYRIGHT" ;;
46) echo "${BASEDIR}/src/$(get_library_name "$1")/leptonica-license.txt" ;;
- 4 | 10 | 13 | 21 | 27 | 31 | 32 | 36 | 40 | 49) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE" ;;
+ 4 | 10 | 13 | 17 | 21 | 27 | 31 | 32 | 36 | 40 | 49) echo "${BASEDIR}/src/$(get_library_name "$1")/LICENSE" ;;
*) echo "${BASEDIR}/src/$(get_library_name "$1")/COPYING" ;;
esac
}
diff --git a/tools/create_ios_universal_test_package.sh b/tools/create_ios_universal_test_package.sh
deleted file mode 100755
index c6e2c99..0000000
--- a/tools/create_ios_universal_test_package.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-cd ../prebuilt/bundle-apple-universal-ios || exit 1
-find . -name "*.dylib" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1
-cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1
-
-# COPY LICENSE FILE OF EACH LIBRARY
-LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)
-for LICENSE_FILE in ${LICENSE_FILES[@]}
-do
- LIBRARY_NAME=$(echo ${LICENSE_FILE} | sed 's/\.\///g;s/\/LICENSE//g')
- cp ${LICENSE_FILE} ffmpeg-kit/LICENSE.${LIBRARY_NAME} || exit 1
-done
-
-zip -r "../ffmpeg-kit-ios-universal.zip" ffmpeg-kit || exit 1
\ No newline at end of file
diff --git a/tools/create_macos_universal_test_package.sh b/tools/create_macos_universal_test_package.sh
deleted file mode 100755
index 1bbb6c3..0000000
--- a/tools/create_macos_universal_test_package.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-cd ../prebuilt/bundle-apple-universal-macos || exit 1
-find . -name "*.dylib" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1
-cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1
-
-# COPY LICENSE FILE OF EACH LIBRARY
-LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)
-for LICENSE_FILE in ${LICENSE_FILES[@]}
-do
- LIBRARY_NAME=$(echo ${LICENSE_FILE} | sed 's/\.\///g;s/\/LICENSE//g')
- cp ${LICENSE_FILE} ffmpeg-kit/LICENSE.${LIBRARY_NAME} || exit 1
-done
-
-zip -r "../ffmpeg-kit-macos-universal.zip" ffmpeg-kit || exit 1
\ No newline at end of file
diff --git a/tools/create_tvos_universal_test_package.sh b/tools/create_tvos_universal_test_package.sh
deleted file mode 100755
index 80ab6d0..0000000
--- a/tools/create_tvos_universal_test_package.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-cd ../prebuilt/bundle-apple-universal-tvos || exit 1
-find . -name "*.dylib" -not -path "./ffmpeg-kit/*" -exec cp {} ./ffmpeg-kit/lib \; || exit 1
-cp -r ffmpeg/include/* ffmpeg-kit/include || exit 1
-
-# COPY LICENSE FILE OF EACH LIBRARY
-LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)
-for LICENSE_FILE in ${LICENSE_FILES[@]}
-do
- LIBRARY_NAME=$(echo ${LICENSE_FILE} | sed 's/\.\///g;s/\/LICENSE//g')
- cp ${LICENSE_FILE} ffmpeg-kit/LICENSE.${LIBRARY_NAME} || exit 1
-done
-
-zip -r "../ffmpeg-kit-tvos-universal.zip" ffmpeg-kit || exit 1
\ No newline at end of file
diff --git a/tools/release/android.lts.sh b/tools/release/android.lts.sh
index 72e0213..4e03eab 100755
--- a/tools/release/android.lts.sh
+++ b/tools/release/android.lts.sh
@@ -22,7 +22,8 @@ if [ $# -ne 1 ]; then
exit 1
fi
-export VERSION_CODE="${ANDROID_LTS_MIN_SDK}0"$(echo $1 | sed "s/\.//g")"0"
+VERSION_CODE="${ANDROID_LTS_MIN_SDK}0"$(echo $1 | sed "s/\.//g")"0"
+export VERSION_CODE=${VERSION_CODE:0:6}
# VALIDATE VERSIONS
if [[ "${ANDROID_FFMPEG_KIT_VERSION}" != "$1" ]]; then
diff --git a/tools/release/android.sh b/tools/release/android.sh
index b39d8aa..df2581a 100755
--- a/tools/release/android.sh
+++ b/tools/release/android.sh
@@ -22,7 +22,8 @@ if [ $# -ne 1 ]; then
exit 1
fi
-export VERSION_CODE="${ANDROID_MAIN_MIN_SDK}0"$(echo $1 | sed "s/\.//g")"0"
+VERSION_CODE="${ANDROID_MAIN_MIN_SDK}0"$(echo $1 | sed "s/\.//g")"0"
+export VERSION_CODE=${VERSION_CODE:0:6}
# VALIDATE VERSIONS
if [[ "${ANDROID_FFMPEG_KIT_VERSION}" != "$1" ]]; then
diff --git a/tools/release/android/build.gradle b/tools/release/android/build.gradle
index 2b88073..927cf4a 100644
--- a/tools/release/android/build.gradle
+++ b/tools/release/android/build.gradle
@@ -7,8 +7,8 @@ android {
defaultConfig {
minSdkVersion 24
targetSdkVersion 30
- versionCode 240450
- versionName "4.5"
+ versionCode 240451
+ versionName "4.5.1"
project.archivesBaseName = "ffmpeg-kit"
consumerProguardFiles 'proguard-rules.pro'
}
diff --git a/tools/release/android/build.lts.gradle b/tools/release/android/build.lts.gradle
index 89163ed..e916858 100644
--- a/tools/release/android/build.lts.gradle
+++ b/tools/release/android/build.lts.gradle
@@ -7,8 +7,8 @@ android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 30
- versionCode 160450
- versionName "4.5.LTS"
+ versionCode 160451
+ versionName "4.5.1.LTS"
project.archivesBaseName = "ffmpeg-kit"
consumerProguardFiles 'proguard-rules.pro'
}
diff --git a/tools/release/common.sh b/tools/release/common.sh
index 1e092ff..857bed9 100755
--- a/tools/release/common.sh
+++ b/tools/release/common.sh
@@ -6,7 +6,7 @@ export ANDROID_MAIN_OPTIONS="--disable-arm-v7a --enable-android-media-codec --en
export ANDROID_LTS_OPTIONS="--lts --enable-android-media-codec --enable-android-zlib"
export IOS_MAIN_OPTIONS="--xcframework --disable-armv7 --disable-armv7s --disable-i386 --disable-arm64e --enable-ios-audiotoolbox --enable-ios-avfoundation --enable-ios-bzip2 --enable-ios-libiconv --enable-ios-videotoolbox --enable-ios-zlib"
-export IOS_LTS_OPTIONS="--disable-armv7s --lts --enable-ios-audiotoolbox --enable-ios-bzip2 --enable-ios-libiconv --enable-ios-zlib"
+export IOS_LTS_OPTIONS="--disable-armv7s --disable-arm64e --lts --enable-ios-audiotoolbox --enable-ios-bzip2 --enable-ios-libiconv --enable-ios-zlib"
export TVOS_MAIN_OPTIONS="--xcframework --enable-tvos-bzip2 --enable-tvos-audiotoolbox --enable-tvos-libiconv --enable-tvos-videotoolbox --enable-tvos-zlib"
export TVOS_LTS_OPTIONS="--disable-arm64-simulator --lts --enable-tvos-bzip2 --enable-tvos-audiotoolbox --enable-tvos-libiconv --enable-tvos-zlib"
@@ -25,8 +25,8 @@ fi
export GPL_PACKAGES="--enable-gpl --enable-libvidstab --enable-x264 --enable-x265 --enable-xvidcore"
export HTTPS_PACKAGES="--enable-gnutls --enable-gmp"
export AUDIO_PACKAGES="--enable-lame --enable-libilbc --enable-libvorbis --enable-opencore-amr --enable-opus --enable-shine --enable-soxr --enable-speex --enable-twolame --enable-vo-amrwbenc"
-export VIDEO_PACKAGES="--enable-dav1d --enable-fontconfig --enable-freetype --enable-fribidi --enable-kvazaar --enable-libass ${ANDROID_EXTRA_VIDEO_PACKAGES} --enable-libtheora --enable-libvpx --enable-snappy --enable-libwebp"
-export FULL_PACKAGES="--enable-dav1d --enable-fontconfig --enable-freetype --enable-fribidi --enable-gmp --enable-gnutls --enable-kvazaar --enable-lame --enable-libass ${ANDROID_EXTRA_VIDEO_PACKAGES} --enable-libilbc --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-opencore-amr --enable-opus --enable-shine --enable-snappy --enable-soxr --enable-speex --enable-twolame --enable-vo-amrwbenc"
+export VIDEO_PACKAGES="--enable-dav1d --enable-fontconfig --enable-freetype --enable-fribidi --enable-kvazaar --enable-libass ${ANDROID_EXTRA_VIDEO_PACKAGES} --enable-libtheora --enable-libvpx --enable-snappy --enable-libwebp --enable-zimg"
+export FULL_PACKAGES="--enable-dav1d --enable-fontconfig --enable-freetype --enable-fribidi --enable-gmp --enable-gnutls --enable-kvazaar --enable-lame --enable-libass ${ANDROID_EXTRA_VIDEO_PACKAGES} --enable-libilbc --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-zimg --enable-libxml2 --enable-opencore-amr --enable-opus --enable-shine --enable-snappy --enable-soxr --enable-speex --enable-twolame --enable-vo-amrwbenc"
export ANDROID_FFMPEG_KIT_VERSION=$(grep '#define FFMPEG_KIT_VERSION' "${BASEDIR}"/../../android/ffmpeg-kit-android-lib/src/main/cpp/ffmpegkit.h | grep -Eo '\".*\"' | sed -e 's/\"//g')
export APPLE_FFMPEG_KIT_VERSION=$(grep 'FFmpegKitVersion ' ${BASEDIR}/../../apple/src/FFmpegKitConfig.m | grep -Eo '\".*\"' | sed -e 's/\"//g')
@@ -40,6 +40,6 @@ export LIBRARY_DESCRIPTION_MIN_GPL="Includes FFmpeg with libvid.stab, x264, x265
export LIBRARY_DESCRIPTION_HTTPS="Includes FFmpeg with gmp and gnutls libraries enabled."
export LIBRARY_DESCRIPTION_HTTPS_GPL="Includes FFmpeg with gmp, gnutls, libvid.stab, x264, x265 and xvidcore libraries enabled."
export LIBRARY_DESCRIPTION_AUDIO="Includes FFmpeg with lame, libilbc, libvorbis, opencore-amr, opus, shine, soxr, speex, twolame and vo-amrwbenc libraries enabled."
-export LIBRARY_DESCRIPTION_VIDEO="Includes FFmpeg with dav1d, fontconfig, freetype, fribidi, kvazaar, libass, ${ANDROID_EXTRA_DESCRIPTION}libtheora, libvpx, snappy and libwebp libraries enabled."
-export LIBRARY_DESCRIPTION_FULL="Includes FFmpeg with dav1d, fontconfig, freetype, fribidi, gmp, gnutls, kvazaar, lame, libass, ${ANDROID_EXTRA_DESCRIPTION}libilbc, libtheora, libvorbis, libvpx, libwebp, libxml2, opencore-amr, opus, shine, snappy, soxr, speex, twolame and vo-amrwbenc libraries enabled."
-export LIBRARY_DESCRIPTION_FULL_GPL="Includes FFmpeg with dav1d, fontconfig, freetype, fribidi, gmp, gnutls, kvazaar, lame, libass, ${ANDROID_EXTRA_DESCRIPTION}libilbc, libtheora, libvid.stab, libvorbis, libvpx, libwebp, libxml2, opencore-amr, opus, shine, snappy, soxr, speex, twolame, vo-amrwbenc, x264, x265 and xvidcore libraries enabled."
+export LIBRARY_DESCRIPTION_VIDEO="Includes FFmpeg with dav1d, fontconfig, freetype, fribidi, kvazaar, libass, ${ANDROID_EXTRA_DESCRIPTION}libtheora, libvpx, snappy, libwebp and zimg libraries enabled."
+export LIBRARY_DESCRIPTION_FULL="Includes FFmpeg with dav1d, fontconfig, freetype, fribidi, gmp, gnutls, kvazaar, lame, libass, ${ANDROID_EXTRA_DESCRIPTION}libilbc, libtheora, libvorbis, libvpx, libwebp, zimg, libxml2, opencore-amr, opus, shine, snappy, soxr, speex, twolame and vo-amrwbenc libraries enabled."
+export LIBRARY_DESCRIPTION_FULL_GPL="Includes FFmpeg with dav1d, fontconfig, freetype, fribidi, gmp, gnutls, kvazaar, lame, libass, ${ANDROID_EXTRA_DESCRIPTION}libilbc, libtheora, libvid.stab, libvorbis, libvpx, libwebp, zimg, libxml2, opencore-amr, opus, shine, snappy, soxr, speex, twolame, vo-amrwbenc, x264, x265 and xvidcore libraries enabled."
diff --git a/tools/release/ios.lts.sh b/tools/release/ios.lts.sh
index 3cb42a6..c5ad8de 100755
--- a/tools/release/ios.lts.sh
+++ b/tools/release/ios.lts.sh
@@ -6,8 +6,6 @@
source ./common.sh
export SOURCE_PACKAGE="${BASEDIR}/../../prebuilt/bundle-apple-framework-ios-lts"
export COCOAPODS_DIRECTORY="${BASEDIR}/../../prebuilt/bundle-apple-cocoapods-ios-lts"
-export SOURCE_UNIVERSAL_PACKAGE="${BASEDIR}/../../prebuilt/bundle-apple-universal-ios-lts"
-export ALL_UNIVERSAL_DIRECTORY="${BASEDIR}/../../prebuilt/bundle-apple-all-universal-ios-lts"
create_package() {
local PACKAGE_NAME="ffmpeg-kit-ios-$1"
@@ -20,7 +18,7 @@ create_package() {
cp -R "${SOURCE_PACKAGE}"/* "${CURRENT_PACKAGE}" || exit 1
cd "${CURRENT_PACKAGE}" || exit 1
- zip -r "../ffmpeg-kit-$1-${PACKAGE_VERSION}-ios-framework.zip" * || exit 1
+ zip -r -y "../ffmpeg-kit-$1-${PACKAGE_VERSION}-ios-framework.zip" * || exit 1
# COPY PODSPEC AS THE LAST ITEM
cp "${BASEDIR}"/apple/"${PACKAGE_NAME}".podspec "${CURRENT_PACKAGE}" || exit 1
@@ -28,31 +26,6 @@ create_package() {
sed -i '' "s/DESCRIPTION/${PACKAGE_DESCRIPTION}/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/\,\'AVFoundation\'//g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/\,\'VideoToolbox\'//g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
-
- mkdir -p "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
- local CURRENT_UNIVERSAL_PACKAGE="${ALL_UNIVERSAL_DIRECTORY}/${PACKAGE_NAME}-universal"
- rm -rf "${CURRENT_UNIVERSAL_PACKAGE}"
- mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1
-
- cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1
- find . -name "*.dylib" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1
-
- # COPY THE LICENSE FILE OF EACH LIBRARY
- LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)
-
- for LICENSE_FILE in ${LICENSE_FILES[@]}
- do
- LIBRARY_NAME=$(echo "${LICENSE_FILE}" | sed 's/\.\///g;s/\/LICENSE//g')
- cp "${LICENSE_FILE}" "${CURRENT_UNIVERSAL_PACKAGE}"/LICENSE."${LIBRARY_NAME}" || exit 1
- done
-
- cp -R "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg-kit/include/* "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- cp -R "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg/include/* "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- cp "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg/LICENSE "${CURRENT_UNIVERSAL_PACKAGE}"/LICENSE || exit 1
-
- cd "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
- zip -r "ffmpeg-kit-$1-${PACKAGE_VERSION}-ios-static-universal.zip" "${PACKAGE_NAME}"-universal || exit 1
}
if [[ $# -ne 1 ]];
@@ -77,9 +50,6 @@ fi
rm -rf "${COCOAPODS_DIRECTORY}"
mkdir -p "${COCOAPODS_DIRECTORY}" || exit 1
-rm -rf "${ALL_UNIVERSAL_DIRECTORY}"
-mkdir -p "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
-
# MIN RELEASE
cd "${BASEDIR}/../.." || exit 1
./ios.sh ${IOS_LTS_OPTIONS} || exit 1
diff --git a/tools/release/ios.sh b/tools/release/ios.sh
index 11f68cf..74db917 100755
--- a/tools/release/ios.sh
+++ b/tools/release/ios.sh
@@ -18,7 +18,7 @@ create_package() {
cp -R "${SOURCE_PACKAGE}"/* "${CURRENT_PACKAGE}" || exit 1
cd "${CURRENT_PACKAGE}" || exit 1
- zip -r "../ffmpeg-kit-$1-${PACKAGE_VERSION}-ios-xcframework.zip" * || exit 1
+ zip -r -y "../ffmpeg-kit-$1-${PACKAGE_VERSION}-ios-xcframework.zip" * || exit 1
# COPY PODSPEC AS THE LAST ITEM
cp "${BASEDIR}"/apple/"${PACKAGE_NAME}".podspec "${CURRENT_PACKAGE}" || exit 1
diff --git a/tools/release/macos.lts.sh b/tools/release/macos.lts.sh
index 3eaee4d..0b60ebe 100755
--- a/tools/release/macos.lts.sh
+++ b/tools/release/macos.lts.sh
@@ -6,8 +6,6 @@
source ./common.sh
export SOURCE_PACKAGE="${BASEDIR}/../../prebuilt/bundle-apple-framework-macos-lts"
export COCOAPODS_DIRECTORY="${BASEDIR}/../../prebuilt/bundle-apple-cocoapods-macos-lts"
-export SOURCE_UNIVERSAL_PACKAGE="${BASEDIR}/../../prebuilt/bundle-apple-universal-macos-lts"
-export ALL_UNIVERSAL_DIRECTORY="${BASEDIR}/../../prebuilt/bundle-apple-all-universal-macos-lts"
create_package() {
local PACKAGE_NAME="ffmpeg-kit-macos-$1"
@@ -20,38 +18,14 @@ create_package() {
cp -R "${SOURCE_PACKAGE}"/* "${CURRENT_PACKAGE}" || exit 1
cd "${CURRENT_PACKAGE}" || exit 1
- zip -r "../ffmpeg-kit-$1-${PACKAGE_VERSION}-macos-framework.zip" * || exit 1
+ zip -r -y "../ffmpeg-kit-$1-${PACKAGE_VERSION}-macos-framework.zip" * || exit 1
# COPY PODSPEC AS THE LAST ITEM
cp "${BASEDIR}"/apple/"${PACKAGE_NAME}".podspec "${CURRENT_PACKAGE}" || exit 1
sed -i '' "s/VERSION/${PACKAGE_VERSION}/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/DESCRIPTION/${PACKAGE_DESCRIPTION}/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
+ sed -i '' "s|ffmpegkit\.framework\/LICENSE|ffmpegkit\.framework\/Resources\/LICENSE|g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/\,\'AVFoundation\'//g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
-
- mkdir -p "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
- local CURRENT_UNIVERSAL_PACKAGE="${ALL_UNIVERSAL_DIRECTORY}/${PACKAGE_NAME}-universal"
- rm -rf "${CURRENT_UNIVERSAL_PACKAGE}"
- mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1
-
- cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1
- find . -name "*.dylib" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1
-
- # COPY THE LICENSE FILE OF EACH LIBRARY
- LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)
-
- for LICENSE_FILE in ${LICENSE_FILES[@]}
- do
- LIBRARY_NAME=$(echo "${LICENSE_FILE}" | sed 's/\.\///g;s/\/LICENSE//g')
- cp "${LICENSE_FILE}" "${CURRENT_UNIVERSAL_PACKAGE}"/LICENSE."${LIBRARY_NAME}" || exit 1
- done
-
- cp -R "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg-kit/include/* "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- cp -R "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg/include/* "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- cp "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg/LICENSE "${CURRENT_UNIVERSAL_PACKAGE}"/LICENSE || exit 1
-
- cd "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
- zip -r "ffmpeg-kit-$1-${PACKAGE_VERSION}-macos-static-universal.zip" "${PACKAGE_NAME}"-universal || exit 1
}
if [[ $# -ne 1 ]];
@@ -76,9 +50,6 @@ fi
rm -rf "${COCOAPODS_DIRECTORY}"
mkdir -p "${COCOAPODS_DIRECTORY}" || exit 1
-rm -rf "${ALL_UNIVERSAL_DIRECTORY}"
-mkdir -p "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
-
# MIN RELEASE
cd "${BASEDIR}/../.." || exit 1
./macos.sh ${MACOS_LTS_OPTIONS} || exit 1
diff --git a/tools/release/macos.sh b/tools/release/macos.sh
index 189b048..036266c 100755
--- a/tools/release/macos.sh
+++ b/tools/release/macos.sh
@@ -18,7 +18,7 @@ create_package() {
cp -R "${SOURCE_PACKAGE}"/* "${CURRENT_PACKAGE}" || exit 1
cd "${CURRENT_PACKAGE}" || exit 1
- zip -r "../ffmpeg-kit-$1-${PACKAGE_VERSION}-macos-xcframework.zip" * || exit 1
+ zip -r -y "../ffmpeg-kit-$1-${PACKAGE_VERSION}-macos-xcframework.zip" * || exit 1
# COPY PODSPEC AS THE LAST ITEM
cp "${BASEDIR}"/apple/"${PACKAGE_NAME}".podspec "${CURRENT_PACKAGE}" || exit 1
diff --git a/tools/release/tvos.lts.sh b/tools/release/tvos.lts.sh
index b1f52d7..c386f29 100755
--- a/tools/release/tvos.lts.sh
+++ b/tools/release/tvos.lts.sh
@@ -6,8 +6,6 @@
source ./common.sh
export SOURCE_PACKAGE="${BASEDIR}/../../prebuilt/bundle-apple-framework-tvos-lts"
export COCOAPODS_DIRECTORY="${BASEDIR}/../../prebuilt/bundle-apple-cocoapods-tvos-lts"
-export SOURCE_UNIVERSAL_PACKAGE="${BASEDIR}/../../prebuilt/bundle-apple-universal-tvos-lts"
-export ALL_UNIVERSAL_DIRECTORY="${BASEDIR}/../../prebuilt/bundle-apple-all-universal-tvos-lts"
create_package() {
local PACKAGE_NAME="ffmpeg-kit-tvos-$1"
@@ -20,38 +18,13 @@ create_package() {
cp -R "${SOURCE_PACKAGE}"/* "${CURRENT_PACKAGE}" || exit 1
cd "${CURRENT_PACKAGE}" || exit 1
- zip -r "../ffmpeg-kit-$1-${PACKAGE_VERSION}-tvos-framework.zip" * || exit 1
+ zip -r -y "../ffmpeg-kit-$1-${PACKAGE_VERSION}-tvos-framework.zip" * || exit 1
# COPY PODSPEC AS THE LAST ITEM
cp "${BASEDIR}"/apple/"${PACKAGE_NAME}".podspec "${CURRENT_PACKAGE}" || exit 1
sed -i '' "s/VERSION/${PACKAGE_VERSION}/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/DESCRIPTION/${PACKAGE_DESCRIPTION}/g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
sed -i '' "s/\,\'VideoToolbox\'//g" "${CURRENT_PACKAGE}"/"${PACKAGE_NAME}".podspec || exit 1
-
- mkdir -p "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
- local CURRENT_UNIVERSAL_PACKAGE="${ALL_UNIVERSAL_DIRECTORY}/${PACKAGE_NAME}-universal"
- rm -rf "${CURRENT_UNIVERSAL_PACKAGE}"
- mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- mkdir -p "${CURRENT_UNIVERSAL_PACKAGE}"/lib || exit 1
-
- cd "${SOURCE_UNIVERSAL_PACKAGE}" || exit 1
- find . -name "*.dylib" -exec cp {} "${CURRENT_UNIVERSAL_PACKAGE}"/lib \; || exit 1
-
- # COPY LICENSE FILE OF EACH LIBRARY
- LICENSE_FILES=$(find . -name LICENSE | grep -vi ffmpeg)
-
- for LICENSE_FILE in ${LICENSE_FILES[@]}
- do
- LIBRARY_NAME=$(echo "${LICENSE_FILE}" | sed 's/\.\///g;s/\/LICENSE//g')
- cp "${LICENSE_FILE}" "${CURRENT_UNIVERSAL_PACKAGE}"/LICENSE."${LIBRARY_NAME}" || exit 1
- done
-
- cp -R "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg-kit/include/* "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- cp -R "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg/include/* "${CURRENT_UNIVERSAL_PACKAGE}"/include || exit 1
- cp "${SOURCE_UNIVERSAL_PACKAGE}"/ffmpeg/LICENSE "${CURRENT_UNIVERSAL_PACKAGE}"/LICENSE || exit 1
-
- cd "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
- zip -r "ffmpeg-kit-$1-${PACKAGE_VERSION}-tvos-static-universal.zip" "${PACKAGE_NAME}"-universal || exit 1
}
if [[ $# -ne 1 ]];
@@ -76,9 +49,6 @@ fi
rm -rf "${COCOAPODS_DIRECTORY}"
mkdir -p "${COCOAPODS_DIRECTORY}" || exit 1
-rm -rf "${ALL_UNIVERSAL_DIRECTORY}"
-mkdir -p "${ALL_UNIVERSAL_DIRECTORY}" || exit 1
-
# MIN RELEASE
cd "${BASEDIR}/../.." || exit 1
./tvos.sh ${TVOS_LTS_OPTIONS} || exit 1
diff --git a/tools/release/tvos.sh b/tools/release/tvos.sh
index 6dd0c47..8f635a1 100755
--- a/tools/release/tvos.sh
+++ b/tools/release/tvos.sh
@@ -18,7 +18,7 @@ create_package() {
cp -R "${SOURCE_PACKAGE}"/* "${CURRENT_PACKAGE}" || exit 1
cd "${CURRENT_PACKAGE}" || exit 1
- zip -r "../ffmpeg-kit-$1-${PACKAGE_VERSION}-tvos-xcframework.zip" * || exit 1
+ zip -r -y "../ffmpeg-kit-$1-${PACKAGE_VERSION}-tvos-xcframework.zip" * || exit 1
# COPY PODSPEC AS THE LAST ITEM
cp "${BASEDIR}"/apple/"${PACKAGE_NAME}".podspec "${CURRENT_PACKAGE}" || exit 1