From a2908f5d326a8cdf599eecc9dcef2c9a407646e3 Mon Sep 17 00:00:00 2001 From: Taner Sener Date: Wed, 29 Dec 2021 11:53:56 +0000 Subject: [PATCH] freeze v4.5.1 --- .github/workflows/android-build-scripts.yml | 8 ++-- README.md | 9 ++-- android/README.md | 42 +++++++++++++++---- android/ffmpeg-kit-android-lib/Doxyfile | 2 +- android/ffmpeg-kit-android-lib/build.gradle | 4 +- .../ffmpeg-kit-android-lib/proguard-rules.pro | 3 +- .../src/main/cpp/ffmpegkit.h | 2 +- .../arthenica/ffmpegkit/FFmpegKitConfig.java | 2 +- .../com/arthenica/ffmpegkit/NativeLoader.java | 2 +- apple/Doxyfile | 2 +- apple/README.md | 25 ++++++----- apple/configure | 20 ++++----- apple/configure.ac | 4 +- apple/src/FFmpegKitConfig.m | 2 +- scripts/function-android.sh | 4 +- scripts/function.sh | 6 +-- tools/create_ios_universal_test_package.sh | 15 ------- tools/create_macos_universal_test_package.sh | 15 ------- tools/create_tvos_universal_test_package.sh | 15 ------- tools/release/android.lts.sh | 3 +- tools/release/android.sh | 3 +- tools/release/android/build.gradle | 4 +- tools/release/android/build.lts.gradle | 4 +- tools/release/common.sh | 12 +++--- tools/release/ios.lts.sh | 32 +------------- tools/release/ios.sh | 2 +- tools/release/macos.lts.sh | 33 +-------------- tools/release/macos.sh | 2 +- tools/release/tvos.lts.sh | 32 +------------- tools/release/tvos.sh | 2 +- 30 files changed, 105 insertions(+), 206 deletions(-) delete mode 100755 tools/create_ios_universal_test_package.sh delete mode 100755 tools/create_macos_universal_test_package.sh delete mode 100755 tools/create_tvos_universal_test_package.sh diff --git a/.github/workflows/android-build-scripts.yml b/.github/workflows/android-build-scripts.yml index 44a20c0..74f7d12 100644 --- a/.github/workflows/android-build-scripts.yml +++ b/.github/workflows/android-build-scripts.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - ndk-version: [ 'r21e-linux-x86_64', 'r22b-linux-x86_64', 'r23b-linux' ] + ndk-version: [ 'r22b-linux-x86_64', 'r23b-linux' ] defaults: run: shell: bash @@ -44,7 +44,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - ndk-version: [ 'r21e-linux-x86_64', 'r22b-linux-x86_64', 'r23b-linux' ] + ndk-version: [ 'r22b-linux-x86_64', 'r23b-linux' ] defaults: run: shell: bash @@ -73,7 +73,7 @@ jobs: runs-on: macos-10.15 strategy: matrix: - ndk-version: [ 'r21e-darwin-x86_64', 'r22b-darwin-x86_64', 'r23b-darwin' ] + ndk-version: [ 'r22b-darwin-x86_64', 'r23b-darwin' ] defaults: run: shell: bash @@ -102,7 +102,7 @@ jobs: runs-on: macos-10.15 strategy: matrix: - ndk-version: [ 'r21e-darwin-x86_64', 'r22b-darwin-x86_64', 'r23b-darwin' ] + ndk-version: [ 'r22b-darwin-x86_64', 'r23b-darwin' ] defaults: run: shell: bash diff --git a/README.md b/README.md index 511d5b5..07722ac 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# FFmpegKit ![GitHub release](https://img.shields.io/badge/release-v4.5-blue.svg) ![Maven Central](https://img.shields.io/maven-central/v/com.arthenica/ffmpeg-kit-min) ![CocoaPods](https://img.shields.io/cocoapods/v/ffmpeg-kit-ios-min) ![pub](https://img.shields.io/pub/v/ffmpeg_kit_flutter.svg) ![npm](https://img.shields.io/npm/v/ffmpeg-kit-react-native.svg) +# FFmpegKit ![GitHub release](https://img.shields.io/badge/release-v4.5.1-blue.svg) ![Maven Central](https://img.shields.io/maven-central/v/com.arthenica/ffmpeg-kit-min) ![CocoaPods](https://img.shields.io/cocoapods/v/ffmpeg-kit-ios-min) ![pub](https://img.shields.io/pub/v/ffmpeg_kit_flutter.svg) ![npm](https://img.shields.io/npm/v/ffmpeg-kit-react-native.svg) @@ -83,9 +83,9 @@ include them. gmp
gnutls gmp
gnutls
vid.stab
x264
x265
xvidcore lame
libilbc
libvorbis
opencore-amr
opus
shine
soxr
speex
twolame
vo-amrwbenc -dav1d
fontconfig
freetype
fribidi
kvazaar
libass
libiconv
libtheora
libvpx
libwebp
snappy -dav1d
fontconfig
freetype
fribidi
gmp
gnutls
kvazaar
lame
libass
libiconv
libilbc
libtheora
libvorbis
libvpx
libwebp
libxml2
opencore-amr
opus
shine
snappy
soxr
speex
twolame
vo-amrwbenc -dav1d
fontconfig
freetype
fribidi
gmp
gnutls
kvazaar
lame
libass
libiconv
libilbc
libtheora
libvorbis
libvpx
libwebp
libxml2
opencore-amr
opus
shine
snappy
soxr
speex
twolame
vid.stab
vo-amrwbenc
x264
x265
xvidcore +dav1d
fontconfig
freetype
fribidi
kvazaar
libass
libiconv
libtheora
libvpx
libwebp
snappy
zimg +dav1d
fontconfig
freetype
fribidi
gmp
gnutls
kvazaar
lame
libass
libiconv
libilbc
libtheora
libvorbis
libvpx
libwebp
libxml2
opencore-amr
opus
shine
snappy
soxr
speex
twolame
vo-amrwbenc
zimg +dav1d
fontconfig
freetype
fribidi
gmp
gnutls
kvazaar
lame
libass
libiconv
libilbc
libtheora
libvorbis
libvpx
libwebp
libxml2
opencore-amr
opus
shine
snappy
soxr
speex
twolame
vid.stab
vo-amrwbenc
x264
x265
xvidcore
zimg android system libraries @@ -109,6 +109,7 @@ include them. - `AVFoundation` is not available on `tvOS` - `VideoToolbox` is not available on LTS releases of `iOS` and `tvOS` + - `zimg` is supported since `v4.5.1` ### 9. Versions diff --git a/android/README.md b/android/README.md index 2b52687..ef14f61 100644 --- a/android/README.md +++ b/android/README.md @@ -22,7 +22,7 @@ external libraries enabled. ##### 2.1.1 Android Tools - Android SDK Build Tools - - Android NDK r21e or later with LLDB and CMake + - Android NDK r22b or later with LLDB and CMake ##### 2.1.2 Packages @@ -77,7 +77,7 @@ All libraries created by `android.sh` can be found under the `prebuilt` director } dependencies { - implementation 'com.arthenica:ffmpeg-kit-full:4.5' + implementation 'com.arthenica:ffmpeg-kit-full:4.5.1' } ``` @@ -144,10 +144,10 @@ All libraries created by `android.sh` can be found under the `prebuilt` director 4. Execute asynchronous `FFmpeg` commands by providing session specific `execute`/`log`/`session` callbacks. ```java - FFmpegKit.executeAsync("-i file1.mp4 -c:v mpeg4 file2.mp4", new ExecuteCallback() { + FFmpegKit.executeAsync("-i file1.mp4 -c:v mpeg4 file2.mp4", new FFmpegSessionCompleteCallback() { @Override - public void apply(Session session) { + public void apply(FFmpegSession session) { SessionState state = session.getState(); ReturnCode returnCode = session.getReturnCode(); @@ -189,10 +189,10 @@ All libraries created by `android.sh` can be found under the `prebuilt` director - Asynchronous ```java - FFprobeKit.executeAsync(ffprobeCommand, new ExecuteCallback() { + FFprobeKit.executeAsync(ffprobeCommand, new FFprobeSessionCompleteCallback() { @Override - public void apply(Session session) { + public void apply(FFprobeSession session) { CALLED WHEN SESSION IS EXECUTED @@ -235,6 +235,14 @@ All libraries created by `android.sh` can be found under the `prebuilt` director FFmpegKit.execute("-i file1.mp4 -c:v mpeg4 " + outputVideoPath); ``` + - Writing to a file in a custom mode. + + ```java + Uri safUri = intent.getData(); + String path = FFmpegKitConfig.getSafParameter(requireContext(), safUri, "rw"); + FFmpegKit.execute("-i file1.mp4 -c:v mpeg4 " + path); + ``` + 9. Get previous `FFmpeg` and `FFprobe` sessions from session history. ```java @@ -253,13 +261,29 @@ All libraries created by `android.sh` can be found under the `prebuilt` director 10. 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 ```java - FFmpegKitConfig.enableExecuteCallback(new ExecuteCallback() { + FFmpegKitConfig.enableFFmpegSessionCompleteCallback(new FFmpegSessionCompleteCallback() { + + @Override + public void apply(FFmpegSession session) { + + } + }); + + FFmpegKitConfig.enableFFprobeSessionCompleteCallback(new FFprobeSessionCompleteCallback() { + + @Override + public void apply(FFprobeSession session) { + + } + }); + + FFmpegKitConfig.enableMediaInformationSessionCompleteCallback(new MediaInformationSessionCompleteCallback() { @Override - public void apply(Session session) { + public void apply(MediaInformationSession session) { } }); diff --git a/android/ffmpeg-kit-android-lib/Doxyfile b/android/ffmpeg-kit-android-lib/Doxyfile index ae2944f..9272c39 100644 --- a/android/ffmpeg-kit-android-lib/Doxyfile +++ b/android/ffmpeg-kit-android-lib/Doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "FFmpegKit Android 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/android/ffmpeg-kit-android-lib/build.gradle b/android/ffmpeg-kit-android-lib/build.gradle index 2b88073..927cf4a 100644 --- a/android/ffmpeg-kit-android-lib/build.gradle +++ b/android/ffmpeg-kit-android-lib/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/android/ffmpeg-kit-android-lib/proguard-rules.pro b/android/ffmpeg-kit-android-lib/proguard-rules.pro index 3436a7b..e76a81a 100644 --- a/android/ffmpeg-kit-android-lib/proguard-rules.pro +++ b/android/ffmpeg-kit-android-lib/proguard-rules.pro @@ -9,7 +9,8 @@ native ; 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