diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml
new file mode 100644
index 0000000000..207877d2f6
--- /dev/null
+++ b/.github/workflows/android.yml
@@ -0,0 +1,50 @@
+name: android-ijkplayer-aar
+
+on:
+ # push:
+ # branches: [master]
+ # pull_request:
+ # branches: [master]
+ workflow_dispatch:
+ inputs:
+ beta:
+ type: boolean
+ description: publish beta edition
+ default: true
+ required: false
+jobs:
+ build:
+ name: build-android-ijk-aar
+ runs-on: macos-15
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ submodules: recursive
+ - name: Prepare Beta Version
+ if: ${{ inputs.beta == true }}
+ run: |
+ grep -m 1 VERSION_NAME= version.sh | awk -F = '{printf "VERSION=%s",$2}' | xargs > constants.env
+ echo "RELEAE_DATE=$(TZ=UTC-8 date +'%y%m%d%H%M%S')" >> constants.env
+ echo "TAG=k"$(grep "VERSION" constants.env | cut -d'=' -f2)"-beta-"$(grep "RELEAE_DATE" constants.env | cut -d'=' -f2) >> constants.env
+ cat constants.env
+ - name: Prepare Normal Version
+ if: ${{ inputs.beta == false }}
+ run: |
+ grep -m 1 VERSION_NAME= version.sh | awk -F = '{printf "TAG=k%s",$2}' | xargs > constants.env
+ cat constants.env
+ - name: Export Env
+ uses: cardinalby/export-env-action@v2
+ with:
+ envFile: 'constants.env'
+ - name: Download Pre Compiled Dependencies
+ run: cd android && ./install-ffmpeg.sh
+ - name: Build android arr
+ run: cd android && ./build-aar.sh
+ - name: Upload Release Asset
+ env:
+ GH_TOKEN: ${{ github.token }}
+ run: |
+ branch=$(git branch --show-current)
+ gh release create ${{ env.TAG }} --target $branch -t "👏👏 ijkplayer-cmake-aar ${{ env.TAG }}" android/ijkplayer/ijkplayer-cmake/build/outputs/aar/*.*
\ No newline at end of file
diff --git a/.github/workflows/ios-android.yml b/.github/workflows/ios-android.yml
new file mode 100644
index 0000000000..7dcb3a8ec3
--- /dev/null
+++ b/.github/workflows/ios-android.yml
@@ -0,0 +1,67 @@
+name: ios-android
+
+on:
+ # push:
+ # branches: [master]
+ # pull_request:
+ # branches: [master]
+ workflow_dispatch:
+ inputs:
+ beta:
+ type: boolean
+ description: publish beta edition
+ default: true
+ required: false
+jobs:
+ build:
+ name: ijkplayer
+ runs-on: macos-15
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ submodules: recursive
+ - name: Prepare Beta Version
+ if: ${{ inputs.beta == true }}
+ run: |
+ grep -m 1 VERSION_NAME= version.sh | awk -F = '{printf "VERSION=%s",$2}' | xargs > constants.env
+ echo "RELEAE_DATE=$(TZ=UTC-8 date +'%y%m%d%H%M%S')" >> constants.env
+ echo "TAG="$(grep "VERSION" constants.env | cut -d'=' -f2)"-beta-"$(grep "RELEAE_DATE" constants.env | cut -d'=' -f2) >> constants.env
+ cat constants.env
+ - name: Prepare Normal Version
+ if: ${{ inputs.beta == false }}
+ run: |
+ grep -m 1 VERSION_NAME= version.sh | awk -F = '{printf "TAG=%s",$2}' | xargs > constants.env
+ cat constants.env
+ - name: Export Env
+ uses: cardinalby/export-env-action@v2
+ with:
+ envFile: 'constants.env'
+ - name: Download Pre Compiled Dependencies
+ run: cd ios && ./install-ffmpeg.sh
+ - name: Build iOS Framework
+ run: cd ios && ./build-framework.sh
+ - name: Make xcframework
+ run: cd ios/xcframewrok && ./make-xcframework.sh
+ - name: Make podspec
+ run: cd ios/xcframewrok && ./make-podspec.sh "${{ env.TAG }}"
+ - name: Make Distribution Resources
+ run: |
+ mkdir dist
+ cp NEWS.md dist
+ cp README.md dist
+ cp COPYING.LGPLv3 dist/LICENSE
+ cp -pPR ios/xcframewrok/IJKMediaFramework.xcframework dist
+ cd dist
+ zip -ryq IJKMediaFramework.zip ./*
+ - name: Download Pre Compiled Dependencies
+ run: cd android && ./install-ffmpeg.sh
+ - name: Build android arr
+ run: cd android && ./build-aar.sh
+ - name: Upload Release Asset
+ env:
+ GH_TOKEN: ${{ github.token }}
+ run: |
+ branch=$(git branch --show-current)
+ gh release create k${{ env.TAG }} --target $branch -t "👏👏 ijkplayer k${{ env.TAG }}" dist/IJKMediaFramework.zip ios/xcframewrok/IJKMediaFramework.spec.json android/ijkplayer/ijkplayer-cmake/build/outputs/aar/*.*
diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml
new file mode 100644
index 0000000000..cc600e6166
--- /dev/null
+++ b/.github/workflows/ios.yml
@@ -0,0 +1,64 @@
+name: ios
+
+on:
+ # push:
+ # branches: [master]
+ # pull_request:
+ # branches: [master]
+ workflow_dispatch:
+ inputs:
+ beta:
+ type: boolean
+ description: publish beta edition
+ default: true
+ required: false
+jobs:
+ build:
+ name: build-ios-ijk-framework
+ runs-on: macos-15
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ submodules: recursive
+ - name: Prepare Beta Version
+ if: ${{ inputs.beta == true }}
+ run: |
+ grep -m 1 VERSION_NAME= version.sh | awk -F = '{printf "VERSION=%s",$2}' | xargs > constants.env
+ echo "RELEAE_DATE=$(TZ=UTC-8 date +'%y%m%d%H%M%S')" >> constants.env
+ echo "TAG="$(grep "VERSION" constants.env | cut -d'=' -f2)"-beta-"$(grep "RELEAE_DATE" constants.env | cut -d'=' -f2) >> constants.env
+ cat constants.env
+ - name: Prepare Normal Version
+ if: ${{ inputs.beta == false }}
+ run: |
+ grep -m 1 VERSION_NAME= version.sh | awk -F = '{printf "TAG=%s",$2}' | xargs > constants.env
+ cat constants.env
+ - name: Export Env
+ uses: cardinalby/export-env-action@v2
+ with:
+ envFile: 'constants.env'
+ - run: brew install tree
+ - name: Download Pre Compiled Dependencies
+ run: cd ios && ./install-ffmpeg.sh
+ - name: Build iOS Framework
+ run: cd ios && ./build-framework.sh
+ - name: Make xcframework
+ run: cd ios/xcframewrok && ./make-xcframework.sh
+ - name: Make podspec
+ run: cd ios/xcframewrok && ./make-podspec.sh "${{ env.TAG }}"
+ - name: Make Distribution Resources
+ run: |
+ mkdir dist
+ cp NEWS.md dist
+ cp README.md dist
+ cp COPYING.LGPLv3 dist/LICENSE
+ cp -pPR ios/xcframewrok/IJKMediaFramework.xcframework dist
+ cd dist
+ zip -ryq IJKMediaFramework.zip ./*
+ - name: Upload Release Asset
+ env:
+ GH_TOKEN: ${{ github.token }}
+ run: |
+ branch=$(git branch --show-current)
+ gh release create k${{ env.TAG }} --target $branch -t "👏👏 IJKMediaFramework k${{ env.TAG }}" dist/IJKMediaFramework.zip ios/xcframewrok/IJKMediaFramework.spec.json
diff --git a/.gitignore b/.gitignore
index 6fd00bbcec..f370ce6ea3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,6 @@ ios/openssl-*
extra
.DS_Store
ijkmedia/ijkyuv/
-ijkmedia/ijksoundtouch
ijkprof/android-ndk-profiler/
# built application files
@@ -41,3 +40,8 @@ xcuserdata
xcshareddata
*.xccheckout
+android/ijkplayer/ijkplayer-cmake/.cxx
+ios/IJKMediaPlayer/Release-iphoneos
+ios/IJKMediaPlayer/Release-iphonesimulator
+ios/xcframewrok/IJKMediaFramework.xcframework
+ios/xcframewrok/IJKMediaFramework.spec.json
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000..590a6467a0
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "FFToolChain"]
+ path = FFToolChain
+ url = https://github.com/debugly/MRFFToolChainBuildShell.git
diff --git a/FFToolChain b/FFToolChain
new file mode 160000
index 0000000000..9bb1f4b6d3
--- /dev/null
+++ b/FFToolChain
@@ -0,0 +1 @@
+Subproject commit 9bb1f4b6d364309f70e750d7aa93e3615817bfbb
diff --git a/NEWS.md b/NEWS.md
index ad3afde5e1..14e82c1a00 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,6 +1,9 @@
-tag next
+tag k0.8.9
--------------------------------
- ffmpeg: upgrade to 4.0
+- upgrade ndk to r27c
+- merge android three so to one
+- android page size use 16KB,#117
tag k0.8.8
--------------------------------
diff --git a/README.md b/README.md
index a670aa4b17..55aab7338a 100644
--- a/README.md
+++ b/README.md
@@ -1,280 +1,66 @@
# ijkplayer
- Platform | Build Status
- -------- | ------------
- Android | [](https://travis-ci.org/Bilibili/ci-ijk-ffmpeg-android)
- iOS | [](https://travis-ci.org/Bilibili/ci-ijk-ffmpeg-ios)
+
+
+## 特色
+
+- [x] 支持安卓15 和 iOS18
+- [x] 保留了原汁原味的 ijkpalyer,功能没有变化
+- [x] 预编译出了 Android 平台的 ijkpalyer.arr,取代之前的三个 so
+- [x] 预编译出了 iOS 平台的 IJKMediaFramework.xcframework
+- [x] ABI 支持:armv7a arm64 x86 x86_64
+- [x] NDK 使用最新最稳定的 r27c
+- [x] 将依赖的 ffmpeg、openssl 等所有三方库编译成静态库
+- [x] openssl 升级到了最新 1.1.1w
+- [x] soundtouch 升级到了 2.3.3,并且预编译成静态库
+- [x] yuv 升级到最稳定分支最新提交,并且预编译成静态库
+- [x] 使用 cmake 重新组织工程,抛弃之前的 ndk-build
+- [x] 合并 jni 调用,缩减了 so 的数量
+- [x] 使用全新的编译脚本,ffmpeg 使用 module-lite.sh
+- [x] 支持 rtsp 协议
+
+## 安装使用
-Video player based on [ffplay](http://ffmpeg.org)
-
-### Download
-
-- Android:
- - Gradle
-```
-# required
-allprojects {
- repositories {
- jcenter()
- }
-}
-
-dependencies {
- # required, enough for most devices.
- compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
- compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
-
- # Other ABIs: optional
- compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
- compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
- compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
- compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
-
- # ExoPlayer as IMediaPlayer: optional, experimental
- compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
-}
-```
-- iOS
- - in coming...
-
-### My Build Environment
-- Common
- - Mac OS X 10.11.5
-- Android
- - [NDK r10e](http://developer.android.com/tools/sdk/ndk/index.html)
- - Android Studio 2.1.3
- - Gradle 2.14.1
-- iOS
- - Xcode 7.3 (7D175)
-- [HomeBrew](http://brew.sh)
- - ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- - brew install git
-
-### Latest Changes
-- [NEWS.md](NEWS.md)
-
-### Features
-- Common
- - remove rarely used ffmpeg components to reduce binary size [config/module-lite.sh](config/module-lite.sh)
- - workaround for some buggy online video.
-- Android
- - platform: API 9~23
- - cpu: ARMv7a, ARM64v8a, x86 (ARMv5 is not tested on real devices)
- - api: [MediaPlayer-like](android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IMediaPlayer.java)
- - video-output: NativeWindow, OpenGL ES 2.0
- - audio-output: AudioTrack, OpenSL ES
- - hw-decoder: MediaCodec (API 16+, Android 4.1+)
- - alternative-backend: android.media.MediaPlayer, ExoPlayer
- iOS
- - platform: iOS 7.0~10.2.x
- - cpu: armv7, arm64, i386, x86_64, (armv7s is obselete)
- - api: [MediaPlayer.framework-like](ios/IJKMediaPlayer/IJKMediaPlayer/IJKMediaPlayback.h)
- - video-output: OpenGL ES 2.0
- - audio-output: AudioQueue, AudioUnit
- - hw-decoder: VideoToolbox (iOS 8+)
- - alternative-backend: AVFoundation.Framework.AVPlayer, MediaPlayer.Framework.MPMoviePlayerControlelr (obselete since iOS 8)
-
-### NOT-ON-PLAN
-- obsolete platforms (Android: API-8 and below; iOS: pre-6.0)
-- obsolete cpu: ARMv5, ARMv6, MIPS (I don't even have these types of devices…)
-- native subtitle render
-- avfilter support
-
-### Before Build
-```
-# install homebrew, git, yasm
-ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-brew install git
-brew install yasm
-
-# add these lines to your ~/.bash_profile or ~/.profile
-# export ANDROID_SDK=
-# export ANDROID_NDK=
-
-# on Cygwin (unmaintained)
-# install git, make, yasm
-```
-
-- If you prefer more codec/format
-```
-cd config
-rm module.sh
-ln -s module-default.sh module.sh
-cd android/contrib
-# cd ios
-sh compile-ffmpeg.sh clean
-```
-
-- If you prefer less codec/format for smaller binary size (include hevc function)
-```
-cd config
-rm module.sh
-ln -s module-lite-hevc.sh module.sh
-cd android/contrib
-# cd ios
-sh compile-ffmpeg.sh clean
-```
-
-- If you prefer less codec/format for smaller binary size (by default)
-```
-cd config
-rm module.sh
-ln -s module-lite.sh module.sh
-cd android/contrib
-# cd ios
-sh compile-ffmpeg.sh clean
-```
-
-- For Ubuntu/Debian users.
-```
-# choose [No] to use bash
-sudo dpkg-reconfigure dash
-```
-
-- If you'd like to share your config, pull request is welcome.
-
-### Build Android
-```
-git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
-cd ijkplayer-android
-git checkout -B latest k0.8.8
+
+ ```
+ pod "IJKMediaFramework", :podspec => 'https://github.com/debugly/ijkplayer/releases/download/k0.8.9/IJKMediaFramework.spec.json'
+ ```
-./init-android.sh
+- android
+
+ ```
+ https://github.com/debugly/ijkplayer/releases/download/k0.8.9/ijkplayer-cmake-release.aar
+ ```
+
+ 更多版本,查看 [Releases](https://github.com/debugly/ijkplayer/releases) 页面。
-cd android/contrib
-./compile-ffmpeg.sh clean
-./compile-ffmpeg.sh all
+## 运行 Demo
-cd ..
-./compile-ijk.sh all
+原版 demo 可以正常运行:
-# Android Studio:
-# Open an existing Android Studio project
-# Select android/ijkplayer/ and import
-#
-# define ext block in your root build.gradle
-# ext {
-# compileSdkVersion = 23 // depending on your sdk version
-# buildToolsVersion = "23.0.0" // depending on your build tools version
-#
-# targetSdkVersion = 23 // depending on your sdk version
-# }
-#
-# If you want to enable debugging ijkplayer(native modules) on Android Studio 2.2+: (experimental)
-# sh android/patch-debugging-with-lldb.sh armv7a
-# Install Android Studio 2.2(+)
-# Preference -> Android SDK -> SDK Tools
-# Select (LLDB, NDK, Android SDK Build-tools,Cmake) and install
-# Open an existing Android Studio project
-# Select android/ijkplayer
-# Sync Project with Gradle Files
-# Run -> Edit Configurations -> Debugger -> Symbol Directories
-# Add "ijkplayer-armv7a/.externalNativeBuild/ndkBuild/release/obj/local/armeabi-v7a" to Symbol Directories
-# Run -> Debug 'ijkplayer-example'
-# if you want to reverse patches:
-# sh patch-debugging-with-lldb.sh reverse armv7a
-#
-# Eclipse: (obselete)
-# File -> New -> Project -> Android Project from Existing Code
-# Select android/ and import all project
-# Import appcompat-v7
-# Import preference-v7
-#
-# Gradle
-# cd ijkplayer
-# gradle
-
-```
-
-
-### Build iOS
-```
-git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
-cd ijkplayer-ios
-git checkout -B latest k0.8.8
-
-./init-ios.sh
-
-cd ios
-./compile-ffmpeg.sh clean
-./compile-ffmpeg.sh all
-
-# Demo
-# open ios/IJKMediaDemo/IJKMediaDemo.xcodeproj with Xcode
-#
-# Import into Your own Application
-# Select your project in Xcode.
-# File -> Add Files to ... -> Select ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj
-# Select your Application's target.
-# Build Phases -> Target Dependencies -> Select IJKMediaFramework
-# Build Phases -> Link Binary with Libraries -> Add:
-# IJKMediaFramework.framework
-#
-# AudioToolbox.framework
-# AVFoundation.framework
-# CoreGraphics.framework
-# CoreMedia.framework
-# CoreVideo.framework
-# libbz2.tbd
-# libz.tbd
-# MediaPlayer.framework
-# MobileCoreServices.framework
-# OpenGLES.framework
-# QuartzCore.framework
-# UIKit.framework
-# VideoToolbox.framework
-#
-# ... (Maybe something else, if you get any link error)
-#
-```
-
-
-### Support (支持) ###
-- Please do not send e-mail to me. Public technical discussion on github is preferred.
-- 请尽量在 github 上公开讨论[技术问题](https://github.com/bilibili/ijkplayer/issues),不要以邮件方式私下询问,恕不一一回复。
-
-
-### License
-
-```
-Copyright (c) 2017 Bilibili
-Licensed under LGPLv2.1 or later
-```
-
-ijkplayer required features are based on or derives from projects below:
-- LGPL
- - [FFmpeg](http://git.videolan.org/?p=ffmpeg.git)
- - [libVLC](http://git.videolan.org/?p=vlc.git)
- - [kxmovie](https://github.com/kolyvan/kxmovie)
- - [soundtouch](http://www.surina.net/soundtouch/sourcecode.html)
-- zlib license
- - [SDL](http://www.libsdl.org)
-- BSD-style license
- - [libyuv](https://code.google.com/p/libyuv/)
-- ISC license
- - [libyuv/source/x86inc.asm](https://code.google.com/p/libyuv/source/browse/trunk/source/x86inc.asm)
-
-android/ijkplayer-exo is based on or derives from projects below:
-- Apache License 2.0
- - [ExoPlayer](https://github.com/google/ExoPlayer)
-
-android/example is based on or derives from projects below:
-- GPL
- - [android-ndk-profiler](https://github.com/richq/android-ndk-profiler) (not included by default)
-
-ios/IJKMediaDemo is based on or derives from projects below:
-- Unknown license
- - [iOS7-BarcodeScanner](https://github.com/jpwiddy/iOS7-BarcodeScanner)
-
-ijkplayer's build scripts are based on or derives from projects below:
-- [gas-preprocessor](http://git.libav.org/?p=gas-preprocessor.git)
-- [VideoLAN](http://git.videolan.org)
-- [yixia/FFmpeg-Android](https://github.com/yixia/FFmpeg-Android)
-- [kewlbear/FFmpeg-iOS-build-script](https://github.com/kewlbear/FFmpeg-iOS-build-script)
-
-### Commercial Use
-ijkplayer is licensed under LGPLv2.1 or later, so itself is free for commercial use under LGPLv2.1 or later
-
-But ijkplayer is also based on other different projects under various licenses, which I have no idea whether they are compatible to each other or to your product.
-
-[IANAL](https://en.wikipedia.org/wiki/IANAL), you should always ask your lawyer for these stuffs before use it in your product.
+- iOS
+
+ ```
+ git submodule update --init
+ cd ios
+ ./install-ffmpeg.sh
+ open IJKMediaDemo/IJKMediaDemo.xcodeproj
+ ```
+
+- android
+
+ ```
+ git submodule update --init
+ cd android
+ ./install-ffmpeg.sh
+ # 使用 Android Studio 打开 ijkplayer 目录工程
+ ```
+
+## FSPlayer
+
+如果 ijkplayer 功能不能满足当前复杂的业务需求,则可以使用 ijkplayer 的升级版 [fsplayer](https://github.com/debugly/fsplayer) ,它提供了更加强劲的功能。
+
+## 定制功能
+
+请邮件联系:[debugly@icloud.com](mailto:debugly@icloud.com)
diff --git a/android/.gitignore b/android/.gitignore
deleted file mode 100644
index 06e3b7af50..0000000000
--- a/android/.gitignore
+++ /dev/null
@@ -1,86 +0,0 @@
-#--------------------
-# Android.gitignore
-# https://github.com/github/gitignore/blob/master/Android.gitignore
-#--------------------
-# Built application files
-*.apk
-*.ap_
-
-# Files for the Dalvik VM
-*.dex
-
-# Java class files
-*.class
-
-# Generated files
-bin/
-gen/
-
-# Gradle files
-.gradle/
-build/
-
-# Local configuration file (sdk path, etc)
-local.properties
-
-# Proguard folder generated by Eclipse
-proguard/
-
-# Log Files
-*.log
-
-#--------------------
-# Gradle.gitignore
-# https://github.com/github/gitignore/blob/master/Gradle.gitignore
-#--------------------
-.gradle
-build/
-
-# Ignore Gradle GUI config
-gradle-app.setting
-
-# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
-!gradle-wrapper.jar
-
-
-#--------------------
-# Android Studio .gitignore
-# https://gist.github.com/iainconnor/8605514
-#--------------------
-# Built application files
-/*/build/
-
-# Crashlytics configuations
-com_crashlytics_export_strings.xml
-
-# Local configuration file (sdk path, etc)
-local.properties
-
-# Gradle generated files
-.gradle/
-
-# Signing files
-.signing/
-
-# User-specific configurations
-.idea/libraries/
-.idea/workspace.xml
-.idea/tasks.xml
-.idea/.name
-.idea/compiler.xml
-.idea/copyright/profiles_settings.xml
-.idea/encodings.xml
-.idea/misc.xml
-.idea/modules.xml
-.idea/scopes/scope_settings.xml
-.idea/vcs.xml
-*.iml
-
-# OS-specific files
-.DS_Store
-.DS_Store?
-._*
-.Spotlight-V100
-.Trashes
-ehthumbs.db
-Thumbs.db
diff --git a/android/android-ndk-prof b/android/android-ndk-prof
deleted file mode 120000
index 0a3ee45fc0..0000000000
--- a/android/android-ndk-prof
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../ijkprof/android-ndk-profiler-dummy/jni
\ No newline at end of file
diff --git a/init-config.sh b/android/build-aar.sh
similarity index 75%
rename from init-config.sh
rename to android/build-aar.sh
index d3e7280420..4fa8570c10 100755
--- a/init-config.sh
+++ b/android/build-aar.sh
@@ -1,8 +1,7 @@
#! /usr/bin/env bash
#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
+# Copyright (C) 2024 Matt Reach
+
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
@@ -14,8 +13,11 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-#
-if [ ! -f 'config/module.sh' ]; then
- cp config/module-lite.sh config/module.sh
-fi
\ No newline at end of file
+THIS_DIR=$(DIRNAME=$(dirname "$0"); cd "$DIRNAME"; pwd)
+cd "$THIS_DIR"
+
+set -e
+cd ijkplayer
+
+./gradlew :ijkplayer-cmake:assemble
\ No newline at end of file
diff --git a/android/build-on-travis.sh b/android/build-on-travis.sh
deleted file mode 100755
index f339322300..0000000000
--- a/android/build-on-travis.sh
+++ /dev/null
@@ -1,111 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Bilibili
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-set -e
-
-if [ -z "$ANDROID_NDK" -o -z "$ANDROID_NDK" ]; then
- echo "You must define ANDROID_NDK, ANDROID_SDK before starting."
- echo "They must point to your NDK and SDK directories.\n"
- exit 1
-fi
-
-
-REQUEST_TARGET=$1
-ACT_ABI_32="armv5 armv7a x86"
-ACT_ABI_64="armv5 armv7a arm64 x86 x86_64"
-ACT_ABI_ALL=$ACT_ABI_64
-
-
-IJK_VERSION=`../version.sh show`
-
-
-
-wget_uploaded_version() {
- PARAM_TARGET=$1
-
- VERSION_URL="https://jcenter.bintray.com/tv/danmaku/ijk/media/ijkplayer-$PARAM_TARGET/$IJK_VERSION"
- echo "VERSION_URL="$VERSION_URL
- wget $VERSION_URL -O /dev/null
-}
-
-do_build_native() {
- PARAM_TARGET=$1
-
- wget_uploaded_version $PARAM_TARGET && echo "ijkplayer-$PARAM_TARGET $IJK_VERSION already uploaded, skip..." && return 0
-
- cd contrib
- ./compile-ffmpeg.sh $PARAM_TARGET
- cd ..
- ./compile-ijk.sh $PARAM_TARGET
- cd ijkplayer
- ./gradlew :ijkplayer-$PARAM_TARGET:bintrayUpload
- cd ..
-}
-
-do_build_java() {
- wget_uploaded_version java && echo "ijkplayer-$PARAM_TARGET $IJK_VERSION already uploaded, skip..." && return 0
-
- cd ijkplayer
- ./gradlew :ijkplayer-java:bintrayUpload
- cd ..
-}
-
-do_build_exo() {
- wget_uploaded_version exo && echo "ijkplayer-$PARAM_TARGET $IJK_VERSION already uploaded, skip..." && return 0
-
- cd ijkplayer
- ./gradlew :ijkplayer-exo:bintrayUpload
- cd ..
-}
-
-case "$REQUEST_TARGET" in
- armv5|armv7a|arm64|x86|x86_64)
- do_build_native $REQUEST_TARGET
- ;;
- java)
- do_build_java
- ;;
- exo)
- do_build_exo
- ;;
- all32)
- do_build_java
- for ABI in $ACT_ABI_32
- do
- do_build_native "$ABI";
- done
- do_build_exo
- ;;
- all|all64)
- do_build_java
- for ABI in $ACT_ABI_64
- do
- do_build_native "$ABI";
- done
- do_build_exo
- ;;
- *)
- echo "Usage:"
- echo " build-on-travis.sh armv5|armv7a|arm64|x86|x86_64"
- echo " build-on-travis.sh java"
- echo " build-on-travis.sh exo"
- echo " build-on-travis.sh all|all32"
- echo " build-on-travis.sh all64"
- ;;
-esac
-
diff --git a/android/compile-ijk.sh b/android/compile-ijk.sh
deleted file mode 100755
index 95062ea421..0000000000
--- a/android/compile-ijk.sh
+++ /dev/null
@@ -1,124 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Bilibili
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-if [ -z "$ANDROID_NDK" -o -z "$ANDROID_NDK" ]; then
- echo "You must define ANDROID_NDK, ANDROID_SDK before starting."
- echo "They must point to your NDK and SDK directories.\n"
- exit 1
-fi
-
-REQUEST_TARGET=$1
-REQUEST_SUB_CMD=$2
-ACT_ABI_32="armv5 armv7a x86"
-ACT_ABI_64="armv5 armv7a arm64 x86 x86_64"
-ACT_ABI_ALL=$ACT_ABI_64
-UNAME_S=$(uname -s)
-
-FF_MAKEFLAGS=
-if which nproc >/dev/null
-then
- FF_MAKEFLAGS=-j`nproc`
-elif [ "$UNAME_S" = "Darwin" ] && which sysctl >/dev/null
-then
- FF_MAKEFLAGS=-j`sysctl -n machdep.cpu.thread_count`
-fi
-
-do_sub_cmd () {
- SUB_CMD=$1
- if [ -L "./android-ndk-prof" ]; then
- rm android-ndk-prof
- fi
-
- if [ "$PARAM_SUB_CMD" = 'prof' ]; then
- echo 'profiler build: YES';
- ln -s ../../../../../../ijkprof/android-ndk-profiler/jni android-ndk-prof
- else
- echo 'profiler build: NO';
- ln -s ../../../../../../ijkprof/android-ndk-profiler-dummy/jni android-ndk-prof
- fi
-
- case $SUB_CMD in
- prof)
- $ANDROID_NDK/ndk-build $FF_MAKEFLAGS
- ;;
- clean)
- $ANDROID_NDK/ndk-build clean
- ;;
- rebuild)
- $ANDROID_NDK/ndk-build clean
- $ANDROID_NDK/ndk-build $FF_MAKEFLAGS
- ;;
- *)
- $ANDROID_NDK/ndk-build $FF_MAKEFLAGS
- ;;
- esac
-}
-
-do_ndk_build () {
- PARAM_TARGET=$1
- PARAM_SUB_CMD=$2
- case "$PARAM_TARGET" in
- armv5|armv7a)
- cd "ijkplayer/ijkplayer-$PARAM_TARGET/src/main/jni"
- do_sub_cmd $PARAM_SUB_CMD
- cd -
- ;;
- arm64|x86|x86_64)
- cd "ijkplayer/ijkplayer-$PARAM_TARGET/src/main/jni"
- if [ "$PARAM_SUB_CMD" = 'prof' ]; then PARAM_SUB_CMD=''; fi
- do_sub_cmd $PARAM_SUB_CMD
- cd -
- ;;
- esac
-}
-
-
-case "$REQUEST_TARGET" in
- "")
- do_ndk_build armv7a;
- ;;
- armv5|armv7a|arm64|x86|x86_64)
- do_ndk_build $REQUEST_TARGET $REQUEST_SUB_CMD;
- ;;
- all32)
- for ABI in $ACT_ABI_32
- do
- do_ndk_build "$ABI" $REQUEST_SUB_CMD;
- done
- ;;
- all|all64)
- for ABI in $ACT_ABI_64
- do
- do_ndk_build "$ABI" $REQUEST_SUB_CMD;
- done
- ;;
- clean)
- for ABI in $ACT_ABI_ALL
- do
- do_ndk_build "$ABI" clean;
- done
- ;;
- *)
- echo "Usage:"
- echo " compile-ijk.sh armv5|armv7a|arm64|x86|x86_64"
- echo " compile-ijk.sh all|all32"
- echo " compile-ijk.sh all64"
- echo " compile-ijk.sh clean"
- ;;
-esac
-
diff --git a/android/contrib/.gitignore b/android/contrib/.gitignore
deleted file mode 100644
index 7838ae1b98..0000000000
--- a/android/contrib/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-build
-ffmpeg-*
-libsoxr-*
-openssl-*
diff --git a/android/contrib/compile-ffmpeg.sh b/android/contrib/compile-ffmpeg.sh
deleted file mode 100755
index 62537a3107..0000000000
--- a/android/contrib/compile-ffmpeg.sh
+++ /dev/null
@@ -1,105 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# This script is based on projects below
-# https://github.com/yixia/FFmpeg-Android
-# http://git.videolan.org/?p=vlc-ports/android.git;a=summary
-
-#----------
-UNI_BUILD_ROOT=`pwd`
-FF_TARGET=$1
-FF_TARGET_EXTRA=$2
-set -e
-set +x
-
-FF_ACT_ARCHS_32="armv5 armv7a x86"
-FF_ACT_ARCHS_64="armv5 armv7a arm64 x86 x86_64"
-FF_ACT_ARCHS_ALL=$FF_ACT_ARCHS_64
-
-echo_archs() {
- echo "===================="
- echo "[*] check archs"
- echo "===================="
- echo "FF_ALL_ARCHS = $FF_ACT_ARCHS_ALL"
- echo "FF_ACT_ARCHS = $*"
- echo ""
-}
-
-echo_usage() {
- echo "Usage:"
- echo " compile-ffmpeg.sh armv5|armv7a|arm64|x86|x86_64"
- echo " compile-ffmpeg.sh all|all32"
- echo " compile-ffmpeg.sh all64"
- echo " compile-ffmpeg.sh clean"
- echo " compile-ffmpeg.sh check"
- exit 1
-}
-
-echo_nextstep_help() {
- echo ""
- echo "--------------------"
- echo "[*] Finished"
- echo "--------------------"
- echo "# to continue to build ijkplayer, run script below,"
- echo "sh compile-ijk.sh "
-}
-
-#----------
-case "$FF_TARGET" in
- "")
- echo_archs armv7a
- sh tools/do-compile-ffmpeg.sh armv7a
- ;;
- armv5|armv7a|arm64|x86|x86_64)
- echo_archs $FF_TARGET $FF_TARGET_EXTRA
- sh tools/do-compile-ffmpeg.sh $FF_TARGET $FF_TARGET_EXTRA
- echo_nextstep_help
- ;;
- all32)
- echo_archs $FF_ACT_ARCHS_32
- for ARCH in $FF_ACT_ARCHS_32
- do
- sh tools/do-compile-ffmpeg.sh $ARCH $FF_TARGET_EXTRA
- done
- echo_nextstep_help
- ;;
- all|all64)
- echo_archs $FF_ACT_ARCHS_64
- for ARCH in $FF_ACT_ARCHS_64
- do
- sh tools/do-compile-ffmpeg.sh $ARCH $FF_TARGET_EXTRA
- done
- echo_nextstep_help
- ;;
- clean)
- echo_archs FF_ACT_ARCHS_64
- for ARCH in $FF_ACT_ARCHS_ALL
- do
- if [ -d ffmpeg-$ARCH ]; then
- cd ffmpeg-$ARCH && git clean -xdf && cd -
- fi
- done
- rm -rf ./build/ffmpeg-*
- ;;
- check)
- echo_archs FF_ACT_ARCHS_ALL
- ;;
- *)
- echo_usage
- exit 1
- ;;
-esac
diff --git a/android/contrib/compile-libsoxr.sh b/android/contrib/compile-libsoxr.sh
deleted file mode 100755
index 78df0cd34c..0000000000
--- a/android/contrib/compile-libsoxr.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#----------
-UNI_BUILD_ROOT=`pwd`
-FF_TARGET=$1
-set -e
-set +x
-
-FF_ACT_ARCHS_32="armv5 armv7a x86"
-FF_ACT_ARCHS_64="armv5 armv7a arm64 x86 x86_64"
-FF_ACT_ARCHS_ALL=$FF_ACT_ARCHS_64
-
-echo_archs() {
- echo "===================="
- echo "[*] check archs"
- echo "===================="
- echo "FF_ALL_ARCHS = $FF_ACT_ARCHS_ALL"
- echo "FF_ACT_ARCHS = $*"
- echo ""
-}
-
-echo_usage() {
- echo "Usage:"
- echo " compile-libsoxr.sh armv5|armv7a|arm64|x86|x86_64"
- echo " compile-libsoxr.sh all|all32"
- echo " compile-libsoxr.sh all64"
- echo " compile-libsoxr.sh clean"
- echo " compile-libsoxr.sh check"
- exit 1
-}
-
-echo_nextstep_help() {
- #----------
- echo ""
- echo "--------------------"
- echo "[*] Finished"
- echo "--------------------"
- echo "# to continue to build ffmpeg, run script below,"
- echo "sh compile-ffmpeg.sh "
- echo "# to continue to build ijkplayer, run script below,"
- echo "sh compile-ijk.sh "
-}
-
-#----------
-case "$FF_TARGET" in
- "")
- echo_archs armv7a
- sh tools/do-compile-libsoxr.sh armv7a
- ;;
- armv5|armv7a|arm64|x86|x86_64)
- echo_archs $FF_TARGET
- sh tools/do-compile-libsoxr.sh $FF_TARGET
- echo_nextstep_help
- ;;
- all32)
- echo_archs $FF_ACT_ARCHS_32
- for ARCH in $FF_ACT_ARCHS_32
- do
- sh tools/do-compile-libsoxr.sh $ARCH
- done
- echo_nextstep_help
- ;;
- all|all64)
- echo_archs $FF_ACT_ARCHS_64
- for ARCH in $FF_ACT_ARCHS_64
- do
- sh tools/do-compile-libsoxr.sh $ARCH
- done
- echo_nextstep_help
- ;;
- clean)
- echo_archs FF_ACT_ARCHS_64
- for ARCH in $FF_ACT_ARCHS_ALL
- do
- if [ -d libsoxr-$ARCH ]; then
- cd libsoxr-$ARCH && git clean -xdf && cd -
- fi
- done
- rm -rf ./build/libsoxr-*
- ;;
- check)
- echo_archs FF_ACT_ARCHS_ALL
- ;;
- *)
- echo_usage
- exit 1
- ;;
-esac
diff --git a/android/contrib/compile-openssl.sh b/android/contrib/compile-openssl.sh
deleted file mode 100755
index 0d3e77ca6b..0000000000
--- a/android/contrib/compile-openssl.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#----------
-UNI_BUILD_ROOT=`pwd`
-FF_TARGET=$1
-set -e
-set +x
-
-FF_ACT_ARCHS_32="armv5 armv7a x86"
-FF_ACT_ARCHS_64="armv5 armv7a arm64 x86 x86_64"
-FF_ACT_ARCHS_ALL=$FF_ACT_ARCHS_64
-
-echo_archs() {
- echo "===================="
- echo "[*] check archs"
- echo "===================="
- echo "FF_ALL_ARCHS = $FF_ACT_ARCHS_ALL"
- echo "FF_ACT_ARCHS = $*"
- echo ""
-}
-
-echo_usage() {
- echo "Usage:"
- echo " compile-openssl.sh armv5|armv7a|arm64|x86|x86_64"
- echo " compile-openssl.sh all|all32"
- echo " compile-openssl.sh all64"
- echo " compile-openssl.sh clean"
- echo " compile-openssl.sh check"
- exit 1
-}
-
-echo_nextstep_help() {
- #----------
- echo ""
- echo "--------------------"
- echo "[*] Finished"
- echo "--------------------"
- echo "# to continue to build ffmpeg, run script below,"
- echo "sh compile-ffmpeg.sh "
- echo "# to continue to build ijkplayer, run script below,"
- echo "sh compile-ijk.sh "
-}
-
-#----------
-case "$FF_TARGET" in
- "")
- echo_archs armv7a
- sh tools/do-compile-openssl.sh armv7a
- ;;
- armv5|armv7a|arm64|x86|x86_64)
- echo_archs $FF_TARGET
- sh tools/do-compile-openssl.sh $FF_TARGET
- echo_nextstep_help
- ;;
- all32)
- echo_archs $FF_ACT_ARCHS_32
- for ARCH in $FF_ACT_ARCHS_32
- do
- sh tools/do-compile-openssl.sh $ARCH
- done
- echo_nextstep_help
- ;;
- all|all64)
- echo_archs $FF_ACT_ARCHS_64
- for ARCH in $FF_ACT_ARCHS_64
- do
- sh tools/do-compile-openssl.sh $ARCH
- done
- echo_nextstep_help
- ;;
- clean)
- echo_archs FF_ACT_ARCHS_64
- for ARCH in $FF_ACT_ARCHS_ALL
- do
- if [ -d openssl-$ARCH ]; then
- cd openssl-$ARCH && git clean -xdf && cd -
- fi
- done
- rm -rf ./build/openssl-*
- ;;
- check)
- echo_archs FF_ACT_ARCHS_ALL
- ;;
- *)
- echo_usage
- exit 1
- ;;
-esac
diff --git a/android/contrib/setup-as-commiter.sh b/android/contrib/setup-as-commiter.sh
deleted file mode 100755
index 5efcc4ad1d..0000000000
--- a/android/contrib/setup-as-commiter.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-cd ffmpeg-armv7a
-
-git remote set-url --push origin git@github.com:bbcallen/FFmpeg.git
-
-git remote add ffmpeg git://source.ffmpeg.org/ffmpeg.git
-git remote add libav git://git.libav.org/libav.git
-git remote add chromium https://chromium.googlesource.com/chromium/third_party/ffmpeg
-git remote add gitcafe git@gitcafe.com:bbcallen/FFmpeg.git
-git remote add oschina git@git.oschina.net:bbcallen/ffmpeg.git
-git remote add csdn git@code.csdn.net:bbcallen/FFmpeg.git
-git fetch --all
-
-git branch --track ffmpeg ffmpeg/master
-git branch --track libav libav/master
-git branch --track chromium chromium/master
diff --git a/android/contrib/sync-mirrors.sh b/android/contrib/sync-mirrors.sh
deleted file mode 100755
index 874a516373..0000000000
--- a/android/contrib/sync-mirrors.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-cd ffmpeg-armv7a
-
-git checkout ffmpeg
-git pull
-git checkout -
-
-git checkout libav
-git pull
-git checkout -
-
-git checkout master
-git pull
-git merge ffmpeg
-git checkout -
-
-git push origin --all --follow-tags
-git push gitcafe --all --follow-tags
-git push oschina --all --follow-tags
-git push csdn --all --follow-tags
-
-cd -
diff --git a/android/contrib/tools/do-compile-ffmpeg.sh b/android/contrib/tools/do-compile-ffmpeg.sh
deleted file mode 100755
index d6b3ba639d..0000000000
--- a/android/contrib/tools/do-compile-ffmpeg.sh
+++ /dev/null
@@ -1,389 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# This script is based on projects below
-# https://github.com/yixia/FFmpeg-Android
-# http://git.videolan.org/?p=vlc-ports/android.git;a=summary
-
-#--------------------
-echo "===================="
-echo "[*] check env $1"
-echo "===================="
-set -e
-
-
-#--------------------
-# common defines
-FF_ARCH=$1
-FF_BUILD_OPT=$2
-echo "FF_ARCH=$FF_ARCH"
-echo "FF_BUILD_OPT=$FF_BUILD_OPT"
-if [ -z "$FF_ARCH" ]; then
- echo "You must specific an architecture 'arm, armv7a, x86, ...'."
- echo ""
- exit 1
-fi
-
-
-FF_BUILD_ROOT=`pwd`
-FF_ANDROID_PLATFORM=android-9
-
-
-FF_BUILD_NAME=
-FF_SOURCE=
-FF_CROSS_PREFIX=
-FF_DEP_OPENSSL_INC=
-FF_DEP_OPENSSL_LIB=
-
-FF_DEP_LIBSOXR_INC=
-FF_DEP_LIBSOXR_LIB=
-
-FF_CFG_FLAGS=
-
-FF_EXTRA_CFLAGS=
-FF_EXTRA_LDFLAGS=
-FF_DEP_LIBS=
-
-FF_MODULE_DIRS="compat libavcodec libavfilter libavformat libavutil libswresample libswscale"
-FF_ASSEMBLER_SUB_DIRS=
-
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] make NDK standalone toolchain"
-echo "--------------------"
-. ./tools/do-detect-env.sh
-FF_MAKE_TOOLCHAIN_FLAGS=$IJK_MAKE_TOOLCHAIN_FLAGS
-FF_MAKE_FLAGS=$IJK_MAKE_FLAG
-FF_GCC_VER=$IJK_GCC_VER
-FF_GCC_64_VER=$IJK_GCC_64_VER
-
-
-#----- armv7a begin -----
-if [ "$FF_ARCH" = "armv7a" ]; then
- FF_BUILD_NAME=ffmpeg-armv7a
- FF_BUILD_NAME_OPENSSL=openssl-armv7a
- FF_BUILD_NAME_LIBSOXR=libsoxr-armv7a
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=arm-linux-androideabi
- FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-${FF_GCC_VER}
-
- FF_CFG_FLAGS="$FF_CFG_FLAGS --arch=arm --cpu=cortex-a8"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-neon"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-thumb"
-
- FF_EXTRA_CFLAGS="$FF_EXTRA_CFLAGS -march=armv7-a -mcpu=cortex-a8 -mfpu=vfpv3-d16 -mfloat-abi=softfp -mthumb"
- FF_EXTRA_LDFLAGS="$FF_EXTRA_LDFLAGS -Wl,--fix-cortex-a8"
-
- FF_ASSEMBLER_SUB_DIRS="arm"
-
-elif [ "$FF_ARCH" = "armv5" ]; then
- FF_BUILD_NAME=ffmpeg-armv5
- FF_BUILD_NAME_OPENSSL=openssl-armv5
- FF_BUILD_NAME_LIBSOXR=libsoxr-armv5
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=arm-linux-androideabi
- FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-${FF_GCC_VER}
-
- FF_CFG_FLAGS="$FF_CFG_FLAGS --arch=arm"
-
- FF_EXTRA_CFLAGS="$FF_EXTRA_CFLAGS -march=armv5te -mtune=arm9tdmi -msoft-float"
- FF_EXTRA_LDFLAGS="$FF_EXTRA_LDFLAGS"
-
- FF_ASSEMBLER_SUB_DIRS="arm"
-
-elif [ "$FF_ARCH" = "x86" ]; then
- FF_BUILD_NAME=ffmpeg-x86
- FF_BUILD_NAME_OPENSSL=openssl-x86
- FF_BUILD_NAME_LIBSOXR=libsoxr-x86
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=i686-linux-android
- FF_TOOLCHAIN_NAME=x86-${FF_GCC_VER}
-
- FF_CFG_FLAGS="$FF_CFG_FLAGS --arch=x86 --cpu=i686 --enable-yasm"
-
- FF_EXTRA_CFLAGS="$FF_EXTRA_CFLAGS -march=atom -msse3 -ffast-math -mfpmath=sse"
- FF_EXTRA_LDFLAGS="$FF_EXTRA_LDFLAGS"
-
- FF_ASSEMBLER_SUB_DIRS="x86"
-
-elif [ "$FF_ARCH" = "x86_64" ]; then
- FF_ANDROID_PLATFORM=android-21
-
- FF_BUILD_NAME=ffmpeg-x86_64
- FF_BUILD_NAME_OPENSSL=openssl-x86_64
- FF_BUILD_NAME_LIBSOXR=libsoxr-x86_64
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=x86_64-linux-android
- FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-${FF_GCC_64_VER}
-
- FF_CFG_FLAGS="$FF_CFG_FLAGS --arch=x86_64 --enable-yasm"
-
- FF_EXTRA_CFLAGS="$FF_EXTRA_CFLAGS"
- FF_EXTRA_LDFLAGS="$FF_EXTRA_LDFLAGS"
-
- FF_ASSEMBLER_SUB_DIRS="x86"
-
-elif [ "$FF_ARCH" = "arm64" ]; then
- FF_ANDROID_PLATFORM=android-21
-
- FF_BUILD_NAME=ffmpeg-arm64
- FF_BUILD_NAME_OPENSSL=openssl-arm64
- FF_BUILD_NAME_LIBSOXR=libsoxr-arm64
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=aarch64-linux-android
- FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-${FF_GCC_64_VER}
-
- FF_CFG_FLAGS="$FF_CFG_FLAGS --arch=aarch64 --enable-yasm"
-
- FF_EXTRA_CFLAGS="$FF_EXTRA_CFLAGS"
- FF_EXTRA_LDFLAGS="$FF_EXTRA_LDFLAGS"
-
- FF_ASSEMBLER_SUB_DIRS="aarch64 neon"
-
-else
- echo "unknown architecture $FF_ARCH";
- exit 1
-fi
-
-if [ ! -d $FF_SOURCE ]; then
- echo ""
- echo "!! ERROR"
- echo "!! Can not find FFmpeg directory for $FF_BUILD_NAME"
- echo "!! Run 'sh init-android.sh' first"
- echo ""
- exit 1
-fi
-
-FF_TOOLCHAIN_PATH=$FF_BUILD_ROOT/build/$FF_BUILD_NAME/toolchain
-FF_MAKE_TOOLCHAIN_FLAGS="$FF_MAKE_TOOLCHAIN_FLAGS --install-dir=$FF_TOOLCHAIN_PATH"
-
-FF_SYSROOT=$FF_TOOLCHAIN_PATH/sysroot
-FF_PREFIX=$FF_BUILD_ROOT/build/$FF_BUILD_NAME/output
-FF_DEP_OPENSSL_INC=$FF_BUILD_ROOT/build/$FF_BUILD_NAME_OPENSSL/output/include
-FF_DEP_OPENSSL_LIB=$FF_BUILD_ROOT/build/$FF_BUILD_NAME_OPENSSL/output/lib
-FF_DEP_LIBSOXR_INC=$FF_BUILD_ROOT/build/$FF_BUILD_NAME_LIBSOXR/output/include
-FF_DEP_LIBSOXR_LIB=$FF_BUILD_ROOT/build/$FF_BUILD_NAME_LIBSOXR/output/lib
-
-case "$UNAME_S" in
- CYGWIN_NT-*)
- FF_SYSROOT="$(cygpath -am $FF_SYSROOT)"
- FF_PREFIX="$(cygpath -am $FF_PREFIX)"
- ;;
-esac
-
-
-mkdir -p $FF_PREFIX
-# mkdir -p $FF_SYSROOT
-
-
-FF_TOOLCHAIN_TOUCH="$FF_TOOLCHAIN_PATH/touch"
-if [ ! -f "$FF_TOOLCHAIN_TOUCH" ]; then
- $ANDROID_NDK/build/tools/make-standalone-toolchain.sh \
- $FF_MAKE_TOOLCHAIN_FLAGS \
- --platform=$FF_ANDROID_PLATFORM \
- --toolchain=$FF_TOOLCHAIN_NAME
- touch $FF_TOOLCHAIN_TOUCH;
-fi
-
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] check ffmpeg env"
-echo "--------------------"
-export PATH=$FF_TOOLCHAIN_PATH/bin/:$PATH
-#export CC="ccache ${FF_CROSS_PREFIX}-gcc"
-export CC="${FF_CROSS_PREFIX}-gcc"
-export LD=${FF_CROSS_PREFIX}-ld
-export AR=${FF_CROSS_PREFIX}-ar
-export STRIP=${FF_CROSS_PREFIX}-strip
-
-FF_CFLAGS="-O3 -Wall -pipe \
- -std=c99 \
- -ffast-math \
- -fstrict-aliasing -Werror=strict-aliasing \
- -Wno-psabi -Wa,--noexecstack \
- -DANDROID -DNDEBUG"
-
-# cause av_strlcpy crash with gcc4.7, gcc4.8
-# -fmodulo-sched -fmodulo-sched-allow-regmoves
-
-# --enable-thumb is OK
-#FF_CFLAGS="$FF_CFLAGS -mthumb"
-
-# not necessary
-#FF_CFLAGS="$FF_CFLAGS -finline-limit=300"
-
-export COMMON_FF_CFG_FLAGS=
-. $FF_BUILD_ROOT/../../config/module.sh
-
-
-#--------------------
-# with openssl
-if [ -f "${FF_DEP_OPENSSL_LIB}/libssl.a" ]; then
- echo "OpenSSL detected"
-# FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-nonfree"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-openssl"
-
- FF_CFLAGS="$FF_CFLAGS -I${FF_DEP_OPENSSL_INC}"
- FF_DEP_LIBS="$FF_DEP_LIBS -L${FF_DEP_OPENSSL_LIB} -lssl -lcrypto"
-fi
-
-if [ -f "${FF_DEP_LIBSOXR_LIB}/libsoxr.a" ]; then
- echo "libsoxr detected"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-libsoxr"
-
- FF_CFLAGS="$FF_CFLAGS -I${FF_DEP_LIBSOXR_INC}"
- FF_DEP_LIBS="$FF_DEP_LIBS -L${FF_DEP_LIBSOXR_LIB} -lsoxr"
-fi
-
-FF_CFG_FLAGS="$FF_CFG_FLAGS $COMMON_FF_CFG_FLAGS"
-
-#--------------------
-# Standard options:
-FF_CFG_FLAGS="$FF_CFG_FLAGS --prefix=$FF_PREFIX"
-
-# Advanced options (experts only):
-FF_CFG_FLAGS="$FF_CFG_FLAGS --cross-prefix=${FF_CROSS_PREFIX}-"
-FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-cross-compile"
-FF_CFG_FLAGS="$FF_CFG_FLAGS --target-os=linux"
-FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-pic"
-# FF_CFG_FLAGS="$FF_CFG_FLAGS --disable-symver"
-
-if [ "$FF_ARCH" = "x86" ]; then
- FF_CFG_FLAGS="$FF_CFG_FLAGS --disable-asm"
-else
- # Optimization options (experts only):
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-asm"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-inline-asm"
-fi
-
-case "$FF_BUILD_OPT" in
- debug)
- FF_CFG_FLAGS="$FF_CFG_FLAGS --disable-optimizations"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-debug"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --disable-small"
- ;;
- *)
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-optimizations"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-debug"
- FF_CFG_FLAGS="$FF_CFG_FLAGS --enable-small"
- ;;
-esac
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] configurate ffmpeg"
-echo "--------------------"
-cd $FF_SOURCE
-if [ -f "./config.h" ]; then
- echo 'reuse configure'
-else
- which $CC
- ./configure $FF_CFG_FLAGS \
- --extra-cflags="$FF_CFLAGS $FF_EXTRA_CFLAGS" \
- --extra-ldflags="$FF_DEP_LIBS $FF_EXTRA_LDFLAGS"
- make clean
-fi
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] compile ffmpeg"
-echo "--------------------"
-cp config.* $FF_PREFIX
-make $FF_MAKE_FLAGS > /dev/null
-make install
-mkdir -p $FF_PREFIX/include/libffmpeg
-cp -f config.h $FF_PREFIX/include/libffmpeg/config.h
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] link ffmpeg"
-echo "--------------------"
-echo $FF_EXTRA_LDFLAGS
-
-FF_C_OBJ_FILES=
-FF_ASM_OBJ_FILES=
-for MODULE_DIR in $FF_MODULE_DIRS
-do
- C_OBJ_FILES="$MODULE_DIR/*.o"
- if ls $C_OBJ_FILES 1> /dev/null 2>&1; then
- echo "link $MODULE_DIR/*.o"
- FF_C_OBJ_FILES="$FF_C_OBJ_FILES $C_OBJ_FILES"
- fi
-
- for ASM_SUB_DIR in $FF_ASSEMBLER_SUB_DIRS
- do
- ASM_OBJ_FILES="$MODULE_DIR/$ASM_SUB_DIR/*.o"
- if ls $ASM_OBJ_FILES 1> /dev/null 2>&1; then
- echo "link $MODULE_DIR/$ASM_SUB_DIR/*.o"
- FF_ASM_OBJ_FILES="$FF_ASM_OBJ_FILES $ASM_OBJ_FILES"
- fi
- done
-done
-
-$CC -lm -lz -shared --sysroot=$FF_SYSROOT -Wl,--no-undefined -Wl,-z,noexecstack $FF_EXTRA_LDFLAGS \
- -Wl,-soname,libijkffmpeg.so \
- $FF_C_OBJ_FILES \
- $FF_ASM_OBJ_FILES \
- $FF_DEP_LIBS \
- -o $FF_PREFIX/libijkffmpeg.so
-
-mysedi() {
- f=$1
- exp=$2
- n=`basename $f`
- cp $f /tmp/$n
- sed $exp /tmp/$n > $f
- rm /tmp/$n
-}
-
-echo ""
-echo "--------------------"
-echo "[*] create files for shared ffmpeg"
-echo "--------------------"
-rm -rf $FF_PREFIX/shared
-mkdir -p $FF_PREFIX/shared/lib/pkgconfig
-ln -s $FF_PREFIX/include $FF_PREFIX/shared/include
-ln -s $FF_PREFIX/libijkffmpeg.so $FF_PREFIX/shared/lib/libijkffmpeg.so
-cp $FF_PREFIX/lib/pkgconfig/*.pc $FF_PREFIX/shared/lib/pkgconfig
-for f in $FF_PREFIX/lib/pkgconfig/*.pc; do
- # in case empty dir
- if [ ! -f $f ]; then
- continue
- fi
- cp $f $FF_PREFIX/shared/lib/pkgconfig
- f=$FF_PREFIX/shared/lib/pkgconfig/`basename $f`
- # OSX sed doesn't have in-place(-i)
- mysedi $f 's/\/output/\/output\/shared/g'
- mysedi $f 's/-lavcodec/-lijkffmpeg/g'
- mysedi $f 's/-lavfilter/-lijkffmpeg/g'
- mysedi $f 's/-lavformat/-lijkffmpeg/g'
- mysedi $f 's/-lavutil/-lijkffmpeg/g'
- mysedi $f 's/-lswresample/-lijkffmpeg/g'
- mysedi $f 's/-lswscale/-lijkffmpeg/g'
-done
diff --git a/android/contrib/tools/do-compile-libsoxr.sh b/android/contrib/tools/do-compile-libsoxr.sh
deleted file mode 100644
index 9a2ed8c498..0000000000
--- a/android/contrib/tools/do-compile-libsoxr.sh
+++ /dev/null
@@ -1,118 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2014 Miguel Botón
-# Copyright (C) 2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#--------------------
-set -e
-
-if [ -z "$ANDROID_NDK" ]; then
- echo "You must define ANDROID_NDK before starting."
- echo "They must point to your NDK directories.\n"
- exit 1
-fi
-
-#--------------------
-# common defines
-FF_ARCH=$1
-if [ -z "$FF_ARCH" ]; then
- echo "You must specific an architecture 'arm, armv7a, x86, ...'.\n"
- exit 1
-fi
-
-
-FF_BUILD_ROOT=`pwd`
-
-FF_BUILD_NAME=
-FF_SOURCE=
-FF_CROSS_PREFIX=
-
-FF_CFG_FLAGS=
-FF_PLATFORM_CFG_FLAGS=
-
-FF_EXTRA_CFLAGS=
-FF_EXTRA_LDFLAGS=
-
-FF_CMAKE_ABI=
-FF_CMAKE_EXTRA_FLAGS=
-
-#----- armv7a begin -----
-if [ "$FF_ARCH" = "armv7a" ]; then
- FF_BUILD_NAME=libsoxr-armv7a
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CMAKE_ABI="armeabi-v7a with NEON"
- FF_CMAKE_EXTRA_FLAGS="-DHAVE_WORDS_BIGENDIAN_EXITCODE=1 -DWITH_SIMD=0"
-
-elif [ "$FF_ARCH" = "armv5" ]; then
- FF_BUILD_NAME=libsoxr-armv5
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CMAKE_ABI="armeabi"
- FF_CMAKE_EXTRA_FLAGS="-DHAVE_WORDS_BIGENDIAN_EXITCODE=1 -DWITH_SIMD=0"
-
-elif [ "$FF_ARCH" = "x86" ]; then
- FF_BUILD_NAME=libsoxr-x86
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CMAKE_ABI="x86"
- FF_CMAKE_EXTRA_FLAGS="-DHAVE_WORDS_BIGENDIAN_EXITCODE=1"
-
-elif [ "$FF_ARCH" = "x86_64" ]; then
- FF_ANDROID_PLATFORM=android-21
-
- FF_BUILD_NAME=libsoxr-x86_64
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CMAKE_ABI="x86_64"
-
-elif [ "$FF_ARCH" = "arm64" ]; then
- FF_ANDROID_PLATFORM=android-21
-
- FF_BUILD_NAME=libsoxr-arm64
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CMAKE_ABI="arm64-v8a"
-
-else
- echo "unknown architecture $FF_ARCH";
- exit 1
-fi
-
-FF_PREFIX=$FF_BUILD_ROOT/build/$FF_BUILD_NAME/output
-FF_CMAKE_BUILD_DIR=$FF_BUILD_ROOT/build/$FF_BUILD_NAME/build
-
-mkdir -p $FF_PREFIX
-mkdir -p $FF_CMAKE_BUILD_DIR
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] configurate libsoxr"
-echo "--------------------"
-cd $FF_CMAKE_BUILD_DIR
-FF_CMAKE_CFG_FLAGS="-DCMAKE_TOOLCHAIN_FILE=${FF_SOURCE}/android.toolchain.cmake -DANDROID_NDK=$ANDROID_NDK -DBUILD_EXAMPLES=0 -DBUILD_LSR_TESTS=0 -DBUILD_SHARED_LIBS=0 -DBUILD_TESTS=0 -DCMAKE_BUILD_TYPE=Release -DWITH_LSR_BINDINGS=0 -DWITH_OPENMP=0 -DWITH_PFFFT=0"
-echo "cmake $FF_CMAKE_CFG_FLAGS -DANDROID_ABI=$FF_CMAKE_ABI -DCMAKE_INSTALL_PREFIX=$FF_PREFIX"
-cmake $FF_CMAKE_CFG_FLAGS $FF_CMAKE_EXTRA_FLAGS -DANDROID_ABI=$FF_CMAKE_ABI -DCMAKE_INSTALL_PREFIX=$FF_PREFIX $FF_SOURCE
-
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] compile libsoxr"
-echo "--------------------"
-make -j4
-make install
diff --git a/android/contrib/tools/do-compile-openssl.sh b/android/contrib/tools/do-compile-openssl.sh
deleted file mode 100644
index 20e8794954..0000000000
--- a/android/contrib/tools/do-compile-openssl.sh
+++ /dev/null
@@ -1,199 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2014 Miguel Botón
-# Copyright (C) 2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#--------------------
-set -e
-
-if [ -z "$ANDROID_NDK" ]; then
- echo "You must define ANDROID_NDK before starting."
- echo "They must point to your NDK directories.\n"
- exit 1
-fi
-
-#--------------------
-# common defines
-FF_ARCH=$1
-if [ -z "$FF_ARCH" ]; then
- echo "You must specific an architecture 'arm, armv7a, x86, ...'.\n"
- exit 1
-fi
-
-
-FF_BUILD_ROOT=`pwd`
-FF_ANDROID_PLATFORM=android-9
-
-
-FF_BUILD_NAME=
-FF_SOURCE=
-FF_CROSS_PREFIX=
-
-FF_CFG_FLAGS=
-FF_PLATFORM_CFG_FLAGS=
-
-FF_EXTRA_CFLAGS=
-FF_EXTRA_LDFLAGS=
-
-
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] make NDK standalone toolchain"
-echo "--------------------"
-. ./tools/do-detect-env.sh
-FF_MAKE_TOOLCHAIN_FLAGS=$IJK_MAKE_TOOLCHAIN_FLAGS
-FF_MAKE_FLAGS=$IJK_MAKE_FLAG
-FF_GCC_VER=$IJK_GCC_VER
-FF_GCC_64_VER=$IJK_GCC_64_VER
-
-
-#----- armv7a begin -----
-if [ "$FF_ARCH" = "armv7a" ]; then
- FF_BUILD_NAME=openssl-armv7a
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=arm-linux-androideabi
- FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-${FF_GCC_VER}
-
- FF_PLATFORM_CFG_FLAGS="android-armv7"
-
-elif [ "$FF_ARCH" = "armv5" ]; then
- FF_BUILD_NAME=openssl-armv5
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=arm-linux-androideabi
- FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-${FF_GCC_VER}
-
- FF_PLATFORM_CFG_FLAGS="android"
-
-elif [ "$FF_ARCH" = "x86" ]; then
- FF_BUILD_NAME=openssl-x86
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=i686-linux-android
- FF_TOOLCHAIN_NAME=x86-${FF_GCC_VER}
-
- FF_PLATFORM_CFG_FLAGS="android-x86"
-
- FF_CFG_FLAGS="$FF_CFG_FLAGS no-asm"
-
-elif [ "$FF_ARCH" = "x86_64" ]; then
- FF_ANDROID_PLATFORM=android-21
-
- FF_BUILD_NAME=openssl-x86_64
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=x86_64-linux-android
- FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-${FF_GCC_64_VER}
-
- FF_PLATFORM_CFG_FLAGS="linux-x86_64"
-
-elif [ "$FF_ARCH" = "arm64" ]; then
- FF_ANDROID_PLATFORM=android-21
-
- FF_BUILD_NAME=openssl-arm64
- FF_SOURCE=$FF_BUILD_ROOT/$FF_BUILD_NAME
-
- FF_CROSS_PREFIX=aarch64-linux-android
- FF_TOOLCHAIN_NAME=${FF_CROSS_PREFIX}-${FF_GCC_64_VER}
-
- FF_PLATFORM_CFG_FLAGS="linux-aarch64"
-
-else
- echo "unknown architecture $FF_ARCH";
- exit 1
-fi
-
-FF_TOOLCHAIN_PATH=$FF_BUILD_ROOT/build/$FF_BUILD_NAME/toolchain
-
-FF_SYSROOT=$FF_TOOLCHAIN_PATH/sysroot
-FF_PREFIX=$FF_BUILD_ROOT/build/$FF_BUILD_NAME/output
-
-mkdir -p $FF_PREFIX
-# mkdir -p $FF_SYSROOT
-
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] make NDK standalone toolchain"
-echo "--------------------"
-. ./tools/do-detect-env.sh
-FF_MAKE_TOOLCHAIN_FLAGS=$IJK_MAKE_TOOLCHAIN_FLAGS
-FF_MAKE_FLAGS=$IJK_MAKE_FLAG
-
-
-FF_MAKE_TOOLCHAIN_FLAGS="$FF_MAKE_TOOLCHAIN_FLAGS --install-dir=$FF_TOOLCHAIN_PATH"
-FF_TOOLCHAIN_TOUCH="$FF_TOOLCHAIN_PATH/touch"
-if [ ! -f "$FF_TOOLCHAIN_TOUCH" ]; then
- $ANDROID_NDK/build/tools/make-standalone-toolchain.sh \
- $FF_MAKE_TOOLCHAIN_FLAGS \
- --platform=$FF_ANDROID_PLATFORM \
- --toolchain=$FF_TOOLCHAIN_NAME
- touch $FF_TOOLCHAIN_TOUCH;
-fi
-
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] check openssl env"
-echo "--------------------"
-export PATH=$FF_TOOLCHAIN_PATH/bin:$PATH
-
-export COMMON_FF_CFG_FLAGS=
-
-FF_CFG_FLAGS="$FF_CFG_FLAGS $COMMON_FF_CFG_FLAGS"
-
-#--------------------
-# Standard options:
-FF_CFG_FLAGS="$FF_CFG_FLAGS zlib-dynamic"
-FF_CFG_FLAGS="$FF_CFG_FLAGS no-shared"
-FF_CFG_FLAGS="$FF_CFG_FLAGS --openssldir=$FF_PREFIX"
-FF_CFG_FLAGS="$FF_CFG_FLAGS --cross-compile-prefix=${FF_CROSS_PREFIX}-"
-FF_CFG_FLAGS="$FF_CFG_FLAGS $FF_PLATFORM_CFG_FLAGS"
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] configurate openssl"
-echo "--------------------"
-cd $FF_SOURCE
-#if [ -f "./Makefile" ]; then
-# echo 'reuse configure'
-#else
- echo "./Configure $FF_CFG_FLAGS"
- ./Configure $FF_CFG_FLAGS
-# --extra-cflags="$FF_CFLAGS $FF_EXTRA_CFLAGS" \
-# --extra-ldflags="$FF_EXTRA_LDFLAGS"
-#fi
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] compile openssl"
-echo "--------------------"
-make depend
-make $FF_MAKE_FLAGS
-make install_sw
-
-#--------------------
-echo ""
-echo "--------------------"
-echo "[*] link openssl"
-echo "--------------------"
diff --git a/android/contrib/tools/do-detect-env.sh b/android/contrib/tools/do-detect-env.sh
deleted file mode 100644
index 36d64fdc3e..0000000000
--- a/android/contrib/tools/do-detect-env.sh
+++ /dev/null
@@ -1,99 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# This script is based on projects below
-# https://github.com/yixia/FFmpeg-Android
-# http://git.videolan.org/?p=vlc-ports/android.git;a=summary
-
-#--------------------
-set -e
-
-UNAME_S=$(uname -s)
-UNAME_SM=$(uname -sm)
-echo "build on $UNAME_SM"
-
-echo "ANDROID_NDK=$ANDROID_NDK"
-
-if [ -z "$ANDROID_NDK" ]; then
- echo "You must define ANDROID_NDK before starting."
- echo "They must point to your NDK directories."
- echo ""
- exit 1
-fi
-
-
-
-# try to detect NDK version
-export IJK_GCC_VER=4.9
-export IJK_GCC_64_VER=4.9
-export IJK_MAKE_TOOLCHAIN_FLAGS=
-export IJK_MAKE_FLAG=
-export IJK_NDK_REL=$(grep -o '^r[0-9]*.*' $ANDROID_NDK/RELEASE.TXT 2>/dev/null | sed 's/[[:space:]]*//g' | cut -b2-)
-case "$IJK_NDK_REL" in
- 10e*)
- # we don't use 4.4.3 because it doesn't handle threads correctly.
- if test -d ${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.8
- # if gcc 4.8 is present, it's there for all the archs (x86, mips, arm)
- then
- echo "NDKr$IJK_NDK_REL detected"
-
- case "$UNAME_S" in
- Darwin)
- export IJK_MAKE_TOOLCHAIN_FLAGS="$IJK_MAKE_TOOLCHAIN_FLAGS --system=darwin-x86_64"
- ;;
- CYGWIN_NT-*)
- export IJK_MAKE_TOOLCHAIN_FLAGS="$IJK_MAKE_TOOLCHAIN_FLAGS --system=windows-x86_64"
- ;;
- esac
- else
- echo "You need the NDKr10e or later"
- exit 1
- fi
- ;;
- *)
- IJK_NDK_REL=$(grep -o '^Pkg\.Revision.*=[0-9]*.*' $ANDROID_NDK/source.properties 2>/dev/null | sed 's/[[:space:]]*//g' | cut -d "=" -f 2)
- echo "IJK_NDK_REL=$IJK_NDK_REL"
- case "$IJK_NDK_REL" in
- 11*|12*|13*|14*)
- if test -d ${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.9
- then
- echo "NDKr$IJK_NDK_REL detected"
- else
- echo "You need the NDKr10e or later"
- exit 1
- fi
- ;;
- *)
- echo "You need the NDKr10e or later"
- exit 1
- ;;
- esac
- ;;
-esac
-
-
-case "$UNAME_S" in
- Darwin)
- export IJK_MAKE_FLAG=-j`sysctl -n machdep.cpu.thread_count`
- ;;
- CYGWIN_NT-*)
- IJK_WIN_TEMP="$(cygpath -am /tmp)"
- export TEMPDIR=$IJK_WIN_TEMP/
-
- echo "Cygwin temp prefix=$IJK_WIN_TEMP/"
- ;;
-esac
diff --git a/android/ijk-addr2line.sh b/android/ijk-addr2line.sh
deleted file mode 100644
index a052291662..0000000000
--- a/android/ijk-addr2line.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh
-
-addr2line -e ijkplayer/ijkplayer-armv7a/src/main/obj/local/armeabi-v7a/lib$1.so
diff --git a/android/ijk-ndk-stack.sh b/android/ijk-ndk-stack.sh
deleted file mode 100755
index 01f44221ff..0000000000
--- a/android/ijk-ndk-stack.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-adb logcat | ndk-stack -sym ijkplayer/ijkplayer-armv7a/src/main/obj/local/armeabi-v7a
diff --git a/android/ijkplayer/build.gradle b/android/ijkplayer/build.gradle
index abc1270f52..4964934182 100644
--- a/android/ijkplayer/build.gradle
+++ b/android/ijkplayer/build.gradle
@@ -3,12 +3,12 @@
buildscript {
repositories {
jcenter()
+ google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.1.3'
-
+ classpath 'com.android.tools.build:gradle:8.8.0'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
- classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
+// classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -16,18 +16,22 @@ buildscript {
allprojects {
repositories {
- jcenter()
+ google()
+ // ijkplayer 仓库
+ mavenCentral()
+ maven{ url 'https://maven.aliyun.com/repository/spring'}
+
}
}
ext {
compileSdkVersion = 25
- buildToolsVersion = "25.0.3"
+// buildToolsVersion = "25.0.3"
targetSdkVersion = 25
- versionCode = 800800
- versionName = "0.8.8"
+ versionCode = 800900
+ versionName = "0.8.9"
}
wrapper {
diff --git a/android/ijkplayer/gradle.properties b/android/ijkplayer/gradle.properties
index 19a69a9278..d20f720284 100644
--- a/android/ijkplayer/gradle.properties
+++ b/android/ijkplayer/gradle.properties
@@ -17,8 +17,8 @@
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
-VERSION_NAME=0.8.8
-VERSION_CODE=800800
+VERSION_NAME=0.8.9
+VERSION_CODE=800900
GROUP=tv.danmaku.ijk.media
# http://central.sonatype.org/pages/requirements.html
@@ -34,3 +34,8 @@ POM_LICENSE_DIST=repo
POM_DEVELOPER_ID=bbcallen
POM_DEVELOPER_NAME=Zhang Rui
POM_DEVELOPER_EMAIL=bbcallen@gmail.com
+android.useAndroidX=true
+android.enableJetifier=true
+android.defaults.buildfeatures.buildconfig=true
+android.nonTransitiveRClass=false
+android.nonFinalResIds=false
\ No newline at end of file
diff --git a/android/ijkplayer/gradle/wrapper/gradle-wrapper.jar b/android/ijkplayer/gradle/wrapper/gradle-wrapper.jar
index 8c0fb64a86..2c3521197d 100644
Binary files a/android/ijkplayer/gradle/wrapper/gradle-wrapper.jar and b/android/ijkplayer/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/android/ijkplayer/gradle/wrapper/gradle-wrapper.properties b/android/ijkplayer/gradle/wrapper/gradle-wrapper.properties
index f47ae66616..df97d72b8b 100644
--- a/android/ijkplayer/gradle/wrapper/gradle-wrapper.properties
+++ b/android/ijkplayer/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,7 @@
-#Wed Aug 24 16:26:25 CST 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
diff --git a/android/ijkplayer/gradlew b/android/ijkplayer/gradlew
index 91a7e269e1..f5feea6d6b 100755
--- a/android/ijkplayer/gradlew
+++ b/android/ijkplayer/gradlew
@@ -1,79 +1,130 @@
-#!/usr/bin/env bash
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
##############################################################################
-##
-## Gradle start up script for UN*X
-##
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
##############################################################################
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+ APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+ [ -h "$app_path" ]
+do
+ ls=$( ls -ld "$app_path" )
+ link=${ls#*' -> '}
+ case $link in #(
+ /*) app_path=$link ;; #(
+ *) app_path=$APP_HOME$link ;;
+ esac
+done
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
+' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
+MAX_FD=maximum
-warn ( ) {
+warn () {
echo "$*"
-}
+} >&2
-die ( ) {
+die () {
echo
echo "$*"
echo
exit 1
-}
+} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
+nonstop=false
+case "$( uname )" in #(
+ CYGWIN* ) cygwin=true ;; #(
+ Darwin* ) darwin=true ;; #(
+ MSYS* | MINGW* ) msys=true ;; #(
+ NONSTOP* ) nonstop=true ;;
esac
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >&-
-APP_HOME="`pwd -P`"
-cd "$SAVED" >&-
-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
+ JAVACMD=$JAVA_HOME/jre/sh/java
else
- JAVACMD="$JAVA_HOME/bin/java"
+ JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@@ -82,83 +133,120 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
+ fi
fi
# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+ case $MAX_FD in #(
+ max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ MAX_FD=$( ulimit -H -n ) ||
+ warn "Could not query maximum file descriptor limit"
+ esac
+ case $MAX_FD in #(
+ '' | soft) :;; #(
+ *)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC2039,SC3045
+ ulimit -n "$MAX_FD" ||
+ warn "Could not set maximum file descriptor limit to $MAX_FD"
+ esac
fi
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
+# Collect all arguments for the java command, stacking in reverse order:
+# * args from the command line
+# * the main class name
+# * -classpath
+# * -D...appname settings
+# * --module-path (only if needed)
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+ APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+ CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+ JAVACMD=$( cygpath --unix "$JAVACMD" )
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
+ for arg do
+ if
+ case $arg in #(
+ -*) false ;; # don't mess with options #(
+ /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
+ [ -e "$t" ] ;; #(
+ *) false ;;
+ esac
+ then
+ arg=$( cygpath --path --ignore --mixed "$arg" )
fi
- i=$((i+1))
+ # Roll the args list around exactly as many times as the number of
+ # args, so each arg winds up back in the position where it started, but
+ # possibly modified.
+ #
+ # NB: a `for` loop captures its iteration list before it begins, so
+ # changing the positional parameters here affects neither the number of
+ # iterations, nor the values presented in `arg`.
+ shift # remove old arg
+ set -- "$@" "$arg" # push replacement arg
done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
fi
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# and any embedded shellness will be escaped.
+# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+# treated as '${Hostname}' itself on the command line.
+
+set -- \
+ "-Dorg.gradle.appname=$APP_BASE_NAME" \
+ -classpath "$CLASSPATH" \
+ org.gradle.wrapper.GradleWrapperMain \
+ "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+# set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+ printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+ xargs -n1 |
+ sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+ tr '\n' ' '
+ )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/android/ijkplayer/gradlew.bat b/android/ijkplayer/gradlew.bat
index aec99730b4..9b42019c79 100644
--- a/android/ijkplayer/gradlew.bat
+++ b/android/ijkplayer/gradlew.bat
@@ -1,4 +1,22 @@
-@if "%DEBUG%" == "" @echo off
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -8,26 +26,30 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
+if %ERRORLEVEL% equ 0 goto execute
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
@@ -35,54 +57,36 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-if exist "%JAVA_EXE%" goto init
+if exist "%JAVA_EXE%" goto execute
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
+if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
diff --git a/android/ijkplayer/ijkplayer-arm64/.gitignore b/android/ijkplayer/ijkplayer-arm64/.gitignore
deleted file mode 100644
index 796b96d1c4..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/android/ijkplayer/ijkplayer-arm64/build.gradle b/android/ijkplayer/ijkplayer-arm64/build.gradle
deleted file mode 100644
index a8cbe0cb34..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/build.gradle
+++ /dev/null
@@ -1,30 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- // http://tools.android.com/tech-docs/new-build-system/tips
- //noinspection GroovyAssignabilityCheck
- compileSdkVersion rootProject.ext.compileSdkVersion
- //noinspection GroovyAssignabilityCheck
- buildToolsVersion rootProject.ext.buildToolsVersion
-
- defaultConfig {
- minSdkVersion 21
- targetSdkVersion rootProject.ext.targetSdkVersion
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- sourceSets.main {
- jniLibs.srcDirs 'src/main/libs'
- jni.srcDirs = [] // This prevents the auto generation of Android.mk
- }
-}
-
-dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
-}
-
-apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
diff --git a/android/ijkplayer/ijkplayer-arm64/gradle.properties b/android/ijkplayer/ijkplayer-arm64/gradle.properties
deleted file mode 100644
index b326214f6e..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-POM_NAME=ijkplayer-arm64
-POM_ARTIFACT_ID=ijkplayer-arm64
-POM_PACKAGING=aar
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-arm64/proguard-rules.pro b/android/ijkplayer/ijkplayer-arm64/proguard-rules.pro
deleted file mode 100644
index 6b7163b9df..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /opt/android/ADK/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-arm64/src/androidTest/java/tv/danmaku/ijk/media/player_arm64/ApplicationTest.java b/android/ijkplayer/ijkplayer-arm64/src/androidTest/java/tv/danmaku/ijk/media/player_arm64/ApplicationTest.java
deleted file mode 100644
index 0af5ecb295..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/androidTest/java/tv/danmaku/ijk/media/player_arm64/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package tv.danmaku.ijk.media.player_arm64;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/.classpath b/android/ijkplayer/ijkplayer-arm64/src/main/.classpath
deleted file mode 100644
index 7bc604bfa8..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/.project b/android/ijkplayer/ijkplayer-arm64/src/main/.project
deleted file mode 100644
index ee31f5ced9..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- ijkplayer-arm64
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/.settings/org.eclipse.jdt.core.prefs b/android/ijkplayer/ijkplayer-arm64/src/main/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b080d2ddc8..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/AndroidManifest.xml b/android/ijkplayer/ijkplayer-arm64/src/main/AndroidManifest.xml
deleted file mode 100644
index f075c28515..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/java/tv/danmaku/ijk/media/player_arm64/Pragma.java b/android/ijkplayer/ijkplayer-arm64/src/main/java/tv/danmaku/ijk/media/player_arm64/Pragma.java
deleted file mode 100644
index eed5daee4a..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/java/tv/danmaku/ijk/media/player_arm64/Pragma.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2015 Bilibili
- * Copyright (C) 2015 Zhang Rui
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package tv.danmaku.ijk.media.player_arm64;
-
-public class Pragma {
-
-}
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk
deleted file mode 120000
index fb3086783d..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-../../../../ijkplayer-armv7a/src/main/jni/Android.mk
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/jni/Application.mk b/android/ijkplayer/ijkplayer-arm64/src/main/jni/Application.mk
deleted file mode 100644
index 19189c34af..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/jni/Application.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013-2014 Bilibili
-# copyright (c) 2013-2014 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-APP_OPTIM := release
-APP_PLATFORM := android-21
-APP_ABI := arm64-v8a
-NDK_TOOLCHAIN_VERSION=4.9
-APP_PIE := false
-
-APP_STL := stlport_static
-
-APP_CFLAGS := -O3 -Wall -pipe \
- -ffast-math \
- -fstrict-aliasing -Werror=strict-aliasing \
- -Wno-psabi -Wa,--noexecstack \
- -DANDROID -DNDEBUG
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/jni/ffmpeg b/android/ijkplayer/ijkplayer-arm64/src/main/jni/ffmpeg
deleted file mode 120000
index 56a0dd3e01..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/jni/ffmpeg
+++ /dev/null
@@ -1 +0,0 @@
-../../../../ijkplayer-armv7a/src/main/jni/ffmpeg
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/project.properties b/android/ijkplayer/ijkplayer-arm64/src/main/project.properties
deleted file mode 100644
index 362a0a3082..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/project.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-22
-android.library=true
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/res/values/strings.xml b/android/ijkplayer/ijkplayer-arm64/src/main/res/values/strings.xml
deleted file mode 100644
index 6f70db95a4..0000000000
--- a/android/ijkplayer/ijkplayer-arm64/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv5/.gitignore b/android/ijkplayer/ijkplayer-armv5/.gitignore
deleted file mode 100644
index 796b96d1c4..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/android/ijkplayer/ijkplayer-armv5/build.gradle b/android/ijkplayer/ijkplayer-armv5/build.gradle
deleted file mode 100644
index b3b7b3a8b7..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/build.gradle
+++ /dev/null
@@ -1,30 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- // http://tools.android.com/tech-docs/new-build-system/tips
- //noinspection GroovyAssignabilityCheck
- compileSdkVersion rootProject.ext.compileSdkVersion
- //noinspection GroovyAssignabilityCheck
- buildToolsVersion rootProject.ext.buildToolsVersion
-
- defaultConfig {
- minSdkVersion 9
- targetSdkVersion rootProject.ext.targetSdkVersion
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- sourceSets.main {
- jniLibs.srcDirs 'src/main/libs'
- jni.srcDirs = [] // This prevents the auto generation of Android.mk
- }
-}
-
-dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
-}
-
-apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
diff --git a/android/ijkplayer/ijkplayer-armv5/gradle.properties b/android/ijkplayer/ijkplayer-armv5/gradle.properties
deleted file mode 100644
index 3138409102..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-POM_NAME=ijkplayer-armv5
-POM_ARTIFACT_ID=ijkplayer-armv5
-POM_PACKAGING=aar
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv5/proguard-rules.pro b/android/ijkplayer/ijkplayer-armv5/proguard-rules.pro
deleted file mode 100644
index 034485dfaa..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /opt/android/ADK/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/android/ijkplayer/ijkplayer-armv5/src/androidTest/java/tv/danmaku/ijk/media/player_armv5/ApplicationTest.java b/android/ijkplayer/ijkplayer-armv5/src/androidTest/java/tv/danmaku/ijk/media/player_armv5/ApplicationTest.java
deleted file mode 100644
index cb56b96a6e..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/androidTest/java/tv/danmaku/ijk/media/player_armv5/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package tv.danmaku.ijk.media.player_armv5;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/.classpath b/android/ijkplayer/ijkplayer-armv5/src/main/.classpath
deleted file mode 100644
index 7bc604bfa8..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/.project b/android/ijkplayer/ijkplayer-armv5/src/main/.project
deleted file mode 100644
index d29dd480f9..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- ijkplayer-armv5
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/.settings/org.eclipse.jdt.core.prefs b/android/ijkplayer/ijkplayer-armv5/src/main/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b080d2ddc8..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/AndroidManifest.xml b/android/ijkplayer/ijkplayer-armv5/src/main/AndroidManifest.xml
deleted file mode 100644
index 5d35eadf2a..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/java/tv/danmaku/ijk/media/player_armv5/Pragma.java b/android/ijkplayer/ijkplayer-armv5/src/main/java/tv/danmaku/ijk/media/player_armv5/Pragma.java
deleted file mode 100644
index f4d469e28b..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/java/tv/danmaku/ijk/media/player_armv5/Pragma.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2015 Bilibili
- * Copyright (C) 2015 Zhang Rui
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package tv.danmaku.ijk.media.player_armv5;
-
-public class Pragma {
-
-}
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk
deleted file mode 120000
index fb3086783d..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-../../../../ijkplayer-armv7a/src/main/jni/Android.mk
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/jni/Application.mk b/android/ijkplayer/ijkplayer-armv5/src/main/jni/Application.mk
deleted file mode 100644
index 00cba6cba9..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/jni/Application.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013-2014 Bilibili
-# copyright (c) 2013-2014 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-APP_OPTIM := release
-APP_PLATFORM := android-9
-APP_ABI := armeabi
-NDK_TOOLCHAIN_VERSION=4.9
-APP_PIE := false
-
-APP_STL := stlport_static
-
-APP_CFLAGS := -O3 -Wall -pipe \
- -ffast-math \
- -fstrict-aliasing -Werror=strict-aliasing \
- -Wno-psabi -Wa,--noexecstack \
- -DANDROID -DNDEBUG
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/jni/ffmpeg b/android/ijkplayer/ijkplayer-armv5/src/main/jni/ffmpeg
deleted file mode 120000
index 56a0dd3e01..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/jni/ffmpeg
+++ /dev/null
@@ -1 +0,0 @@
-../../../../ijkplayer-armv7a/src/main/jni/ffmpeg
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/jni/ijkmedia b/android/ijkplayer/ijkplayer-armv5/src/main/jni/ijkmedia
deleted file mode 120000
index f61992095f..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/jni/ijkmedia
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../ijkmedia
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/project.properties b/android/ijkplayer/ijkplayer-armv5/src/main/project.properties
deleted file mode 100644
index 362a0a3082..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/project.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-22
-android.library=true
diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/res/values/strings.xml b/android/ijkplayer/ijkplayer-armv5/src/main/res/values/strings.xml
deleted file mode 100644
index 6f70db95a4..0000000000
--- a/android/ijkplayer/ijkplayer-armv5/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv7a/.gitignore b/android/ijkplayer/ijkplayer-armv7a/.gitignore
deleted file mode 100644
index 796b96d1c4..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/android/ijkplayer/ijkplayer-armv7a/build.gradle b/android/ijkplayer/ijkplayer-armv7a/build.gradle
deleted file mode 100644
index b3b7b3a8b7..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/build.gradle
+++ /dev/null
@@ -1,30 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- // http://tools.android.com/tech-docs/new-build-system/tips
- //noinspection GroovyAssignabilityCheck
- compileSdkVersion rootProject.ext.compileSdkVersion
- //noinspection GroovyAssignabilityCheck
- buildToolsVersion rootProject.ext.buildToolsVersion
-
- defaultConfig {
- minSdkVersion 9
- targetSdkVersion rootProject.ext.targetSdkVersion
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- sourceSets.main {
- jniLibs.srcDirs 'src/main/libs'
- jni.srcDirs = [] // This prevents the auto generation of Android.mk
- }
-}
-
-dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
-}
-
-apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
diff --git a/android/ijkplayer/ijkplayer-armv7a/gradle.properties b/android/ijkplayer/ijkplayer-armv7a/gradle.properties
deleted file mode 100644
index 934696c731..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-POM_NAME=ijkplayer-armv7a
-POM_ARTIFACT_ID=ijkplayer-armv7a
-POM_PACKAGING=aar
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv7a/proguard-rules.pro b/android/ijkplayer/ijkplayer-armv7a/proguard-rules.pro
deleted file mode 100644
index 034485dfaa..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /opt/android/ADK/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/androidTest/java/tv/danmaku/ijk/media/player_armv7a/ApplicationTest.java b/android/ijkplayer/ijkplayer-armv7a/src/androidTest/java/tv/danmaku/ijk/media/player_armv7a/ApplicationTest.java
deleted file mode 100644
index 5a54d72f37..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/androidTest/java/tv/danmaku/ijk/media/player_armv7a/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package tv.danmaku.ijk.media.player_armv7a;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/.classpath b/android/ijkplayer/ijkplayer-armv7a/src/main/.classpath
deleted file mode 100644
index 7bc604bfa8..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/.project b/android/ijkplayer/ijkplayer-armv7a/src/main/.project
deleted file mode 100644
index 18e77880d3..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- ijkplayer-armv7a
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/.settings/org.eclipse.jdt.core.prefs b/android/ijkplayer/ijkplayer-armv7a/src/main/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b080d2ddc8..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/AndroidManifest.xml b/android/ijkplayer/ijkplayer-armv7a/src/main/AndroidManifest.xml
deleted file mode 100644
index f3727da39c..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/java/tv/danmaku/ijk/media/player_armv7a/Pragma.java b/android/ijkplayer/ijkplayer-armv7a/src/main/java/tv/danmaku/ijk/media/player_armv7a/Pragma.java
deleted file mode 100644
index 798ba3f3ed..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/java/tv/danmaku/ijk/media/player_armv7a/Pragma.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2015 Bilibili
- * Copyright (C) 2015 Zhang Rui
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package tv.danmaku.ijk.media.player_armv7a;
-
-public class Pragma {
-
-}
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Android.mk
deleted file mode 100644
index 3864b529c4..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Android.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (c) 2013 Bilibili
-# copyright (c) 2013 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-LOCAL_PATH := $(call my-dir)
-
-MY_APP_JNI_ROOT := $(realpath $(LOCAL_PATH))
-MY_APP_PRJ_ROOT := $(realpath $(MY_APP_JNI_ROOT)/..)
-MY_APP_ANDROID_ROOT := $(realpath $(MY_APP_PRJ_ROOT)/../../../..)
-
-ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
-MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-armv7a/output)
-MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-endif
-ifeq ($(TARGET_ARCH_ABI),armeabi)
-MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-armv5/output)
-MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-endif
-ifeq ($(TARGET_ARCH_ABI),arm64-v8a)
-MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-arm64/output)
-MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-endif
-ifeq ($(TARGET_ARCH_ABI),x86)
-MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-x86/output)
-MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-endif
-ifeq ($(TARGET_ARCH_ABI),x86_64)
-MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-x86_64/output)
-MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-endif
-
-include $(call all-subdir-makefiles)
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Application.mk b/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Application.mk
deleted file mode 100644
index 3e16f98dab..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Application.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013 Bilibili
-# copyright (c) 2013 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-APP_OPTIM := release
-APP_PLATFORM := android-9
-APP_ABI := armeabi-v7a
-NDK_TOOLCHAIN_VERSION=4.9
-APP_PIE := false
-
-APP_STL := stlport_static
-
-APP_CFLAGS := -O3 -Wall -pipe \
- -ffast-math \
- -fstrict-aliasing -Werror=strict-aliasing \
- -Wno-psabi -Wa,--noexecstack \
- -DANDROID -DNDEBUG
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk b/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk
deleted file mode 100644
index ec33908f53..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := ijkffmpeg
-LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
-include $(PREBUILT_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ijkmedia b/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ijkmedia
deleted file mode 120000
index f61992095f..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ijkmedia
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../ijkmedia
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/project.properties b/android/ijkplayer/ijkplayer-armv7a/src/main/project.properties
deleted file mode 100644
index 362a0a3082..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/project.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-22
-android.library=true
diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/res/values/strings.xml b/android/ijkplayer/ijkplayer-armv7a/src/main/res/values/strings.xml
deleted file mode 100644
index 6f70db95a4..0000000000
--- a/android/ijkplayer/ijkplayer-armv7a/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-cmake/.gitignore b/android/ijkplayer/ijkplayer-cmake/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/android/ijkplayer/ijkplayer-cmake/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-cmake/build.gradle b/android/ijkplayer/ijkplayer-cmake/build.gradle
new file mode 100644
index 0000000000..79deec0bbf
--- /dev/null
+++ b/android/ijkplayer/ijkplayer-cmake/build.gradle
@@ -0,0 +1,47 @@
+plugins {
+ id 'com.android.library'
+}
+
+android {
+ namespace 'com.debugly.ijkplayer'
+ compileSdk 35
+
+ defaultConfig {
+ minSdk 21
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+
+
+ externalNativeBuild{
+ cmake {
+ cppFlags "-std=c++11"
+ abiFilters "arm64-v8a","armeabi-v7a","x86_64","x86"
+ }
+ }
+ targetSdk 35
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+
+ externalNativeBuild{
+ cmake{
+ path ("src/main/cpp/CMakeLists.txt")
+ }
+ }
+}
+
+
+dependencies {
+
+ implementation 'androidx.appcompat:appcompat:1.7.0'
+ implementation 'com.google.android.material:material:1.12.0'
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.2.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
+}
\ No newline at end of file
diff --git a/MODULE_LICENSE_APACHE2 b/android/ijkplayer/ijkplayer-cmake/consumer-rules.pro
similarity index 100%
rename from MODULE_LICENSE_APACHE2
rename to android/ijkplayer/ijkplayer-cmake/consumer-rules.pro
diff --git a/android/ijkplayer/ijkplayer-cmake/proguard-rules.pro b/android/ijkplayer/ijkplayer-cmake/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/android/ijkplayer/ijkplayer-cmake/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-cmake/src/main/AndroidManifest.xml b/android/ijkplayer/ijkplayer-cmake/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..a5918e68ab
--- /dev/null
+++ b/android/ijkplayer/ijkplayer-cmake/src/main/AndroidManifest.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-cmake/src/main/cpp/CMakeLists.txt b/android/ijkplayer/ijkplayer-cmake/src/main/cpp/CMakeLists.txt
new file mode 100644
index 0000000000..ee2654b9f3
--- /dev/null
+++ b/android/ijkplayer/ijkplayer-cmake/src/main/cpp/CMakeLists.txt
@@ -0,0 +1,111 @@
+cmake_minimum_required(VERSION 3.22)
+
+project(ijkplayer)
+
+# 为 C 语言添加编译选项以忽略 -Wint-conversion 警告
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-int-conversion")
+# 为 C++ 语言添加编译选项以忽略 -Wint-conversion 警告
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-int-conversion")
+
+if (ANDROID_ABI STREQUAL "armeabi-v7a")
+ set(ARCH "armv7a")
+elseif (ANDROID_ABI STREQUAL "arm64-v8a")
+ set(ARCH "arm64")
+elseif (ANDROID_ABI STREQUAL "x86")
+ set(ARCH "x86")
+elseif (ANDROID_ABI STREQUAL "x86_64")
+ set(ARCH "x86_64")
+else()
+ message(WARNING "Unsupported ANDROID_ABI: ${ANDROID_ABI}")
+endif()
+
+
+execute_process(
+ COMMAND
+ "${CMAKE_CURRENT_SOURCE_DIR}/ijkmedia/ijkplayer/version.sh" "${CMAKE_CURRENT_SOURCE_DIR}/ijkmedia/ijkplayer" ijkversion.h
+ OUTPUT_VARIABLE _stdout
+ ERROR_VARIABLE _stderr
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_STRIP_TRAILING_WHITESPACE
+)
+
+set(ijkmedia ${CMAKE_CURRENT_SOURCE_DIR}/ijkmedia)
+include_directories(${ijkmedia})
+include_directories(${ijkmedia}/ijkj4a)
+include_directories(${ijkmedia}/ijksdl)
+include_directories(${ijkmedia}/ijkplayer)
+
+file(GLOB_RECURSE SOURCE_IJKJ4A ${ijkmedia}/ijkj4a/*.c ${ijkmedia}/ijkj4a/*.cpp)
+file(GLOB_RECURSE SOURCE_SDL ${ijkmedia}/ijksdl/*.c ${ijkmedia}/ijksdl/*.cpp)
+file(GLOB_RECURSE SOURCE_IJKPLAYER ${ijkmedia}/ijkplayer/*.c ${ijkmedia}/ijkplayer/*.cpp)
+file(GLOB_RECURSE SOURCE_SOUNDTOUCH ${ijkmedia}/ijksoundtouch/ijksoundtouch_wrap.cpp)
+
+add_library(${CMAKE_PROJECT_NAME}
+ SHARED
+ prof.c
+ ${SOURCE_IJKJ4A}
+ ${SOURCE_SDL}
+ ${SOURCE_IJKPLAYER}
+ ${SOURCE_SOUNDTOUCH}
+)
+
+target_link_options(${CMAKE_PROJECT_NAME} PRIVATE "-Wl,-z,max-page-size=16384")
+set(FFMPEG_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third-libs/ijkffmpeg/ijkffmpeg-${ARCH}/lib)
+set(OPENSSL_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third-libs/openssl/openssl-${ARCH}/lib)
+set(SOUNDTOUCH_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third-libs/soundtouch/soundtouch-${ARCH}/lib)
+set(YUV_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third-libs/yuv/yuv-${ARCH}/lib)
+
+include_directories(
+ third-libs/ijkffmpeg/ijkffmpeg-${ARCH}/include
+ third-libs/soundtouch/soundtouch-${ARCH}/include
+ third-libs/yuv/yuv-${ARCH}/include
+)
+
+# soundtouch
+add_library(soundtouch-lib STATIC IMPORTED)
+set_target_properties(soundtouch-lib PROPERTIES
+ IMPORTED_LOCATION ${SOUNDTOUCH_LIB_DIR}/libSoundTouch.a
+)
+
+# yuv
+add_library(yuv-lib STATIC IMPORTED)
+set_target_properties(yuv-lib PROPERTIES
+ IMPORTED_LOCATION ${YUV_LIB_DIR}/libyuv.a
+)
+
+# openssl 创建一个 INTERFACE 库,用于逻辑上组合多个静态库
+add_library(openssl-lib INTERFACE)
+# 依次为 INTERFACE 库添加链接库
+target_link_libraries(openssl-lib INTERFACE
+ ${OPENSSL_LIB_DIR}/libcrypto.a
+ ${OPENSSL_LIB_DIR}/libssl.a
+)
+
+# ijkffmpeg 创建一个 INTERFACE 库,用于逻辑上组合多个静态库
+add_library(ijkffmpeg-lib INTERFACE)
+# 依次为 INTERFACE 库添加链接库,注意avformat要放到前面
+target_link_libraries(ijkffmpeg-lib INTERFACE
+ ${FFMPEG_LIB_DIR}/libavformat.a
+ ${FFMPEG_LIB_DIR}/libavcodec.a
+ ${FFMPEG_LIB_DIR}/libavfilter.a
+ ${FFMPEG_LIB_DIR}/libswresample.a
+ ${FFMPEG_LIB_DIR}/libswscale.a
+ ${FFMPEG_LIB_DIR}/libavutil.a
+)
+
+find_library(z-lib z REQUIRED)
+# cmake automatic order libz before ffmpeg,so we specify the order,and ${CMAKE_PROJECT_NAME} no need contain libz
+target_link_libraries(ijkffmpeg-lib INTERFACE ${z-lib} openssl-lib)
+
+target_link_libraries(${CMAKE_PROJECT_NAME}
+ ijkffmpeg-lib
+ yuv-lib
+ soundtouch-lib
+ log
+ android
+ EGL
+ GLESv2
+ jnigraphics
+ OpenSLES
+ m
+)
diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/jni/ijkmedia b/android/ijkplayer/ijkplayer-cmake/src/main/cpp/ijkmedia
similarity index 100%
rename from android/ijkplayer/ijkplayer-arm64/src/main/jni/ijkmedia
rename to android/ijkplayer/ijkplayer-cmake/src/main/cpp/ijkmedia
diff --git a/ijkprof/android-ndk-profiler-dummy/jni/prof.c b/android/ijkplayer/ijkplayer-cmake/src/main/cpp/prof.c
similarity index 100%
rename from ijkprof/android-ndk-profiler-dummy/jni/prof.c
rename to android/ijkplayer/ijkplayer-cmake/src/main/cpp/prof.c
diff --git a/ijkprof/android-ndk-profiler-dummy/jni/prof.h b/android/ijkplayer/ijkplayer-cmake/src/main/cpp/prof.h
similarity index 100%
rename from ijkprof/android-ndk-profiler-dummy/jni/prof.h
rename to android/ijkplayer/ijkplayer-cmake/src/main/cpp/prof.h
diff --git a/android/ijkplayer/ijkplayer-cmake/src/main/cpp/third-libs b/android/ijkplayer/ijkplayer-cmake/src/main/cpp/third-libs
new file mode 120000
index 0000000000..6763961569
--- /dev/null
+++ b/android/ijkplayer/ijkplayer-cmake/src/main/cpp/third-libs
@@ -0,0 +1 @@
+../../../../../../FFToolChain/build/product/android/universal
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/AbstractMediaPlayer.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/AbstractMediaPlayer.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/AbstractMediaPlayer.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/AbstractMediaPlayer.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/AndroidMediaPlayer.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/AndroidMediaPlayer.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/AndroidMediaPlayer.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/AndroidMediaPlayer.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IMediaPlayer.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IMediaPlayer.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IMediaPlayer.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IMediaPlayer.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHolder.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHolder.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHolder.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHolder.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHost.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHost.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHost.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHost.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkLibLoader.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkLibLoader.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkLibLoader.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkLibLoader.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaCodecInfo.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkMediaCodecInfo.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaCodecInfo.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkMediaCodecInfo.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
similarity index 99%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
index beb73f76e8..18d003c111 100755
--- a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
+++ b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
@@ -187,8 +187,6 @@ public static void loadLibrariesOnce(IjkLibLoader libLoader) {
if (libLoader == null)
libLoader = sLocalLibLoader;
- libLoader.loadLibrary("ijkffmpeg");
- libLoader.loadLibrary("ijksdl");
libLoader.loadLibrary("ijkplayer");
mIsLibLoaded = true;
}
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkTimedText.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkTimedText.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkTimedText.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/IjkTimedText.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/MediaPlayerProxy.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/MediaPlayerProxy.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/MediaPlayerProxy.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/MediaPlayerProxy.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/TextureMediaPlayer.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/TextureMediaPlayer.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/TextureMediaPlayer.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/TextureMediaPlayer.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/annotations/AccessedByNative.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/annotations/AccessedByNative.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/annotations/AccessedByNative.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/annotations/AccessedByNative.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/annotations/CalledByNative.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/annotations/CalledByNative.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/annotations/CalledByNative.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/annotations/CalledByNative.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ffmpeg/FFmpegApi.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/ffmpeg/FFmpegApi.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ffmpeg/FFmpegApi.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/ffmpeg/FFmpegApi.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidMediaFormat.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidMediaFormat.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidMediaFormat.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidMediaFormat.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidTrackInfo.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidTrackInfo.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidTrackInfo.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidTrackInfo.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IAndroidIO.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IAndroidIO.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IAndroidIO.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IAndroidIO.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaDataSource.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaDataSource.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaDataSource.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaDataSource.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IjkMediaFormat.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IjkMediaFormat.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IjkMediaFormat.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IjkMediaFormat.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/pragma/DebugLog.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/pragma/DebugLog.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/pragma/DebugLog.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/pragma/DebugLog.java
diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/pragma/Pragma.java b/android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/pragma/Pragma.java
similarity index 100%
rename from android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/pragma/Pragma.java
rename to android/ijkplayer/ijkplayer-cmake/src/main/java/tv/danmaku/ijk/media/player/pragma/Pragma.java
diff --git a/android/ijkplayer/ijkplayer-cmake/src/test/java/com/coder/ijkplayer_cmake/ExampleUnitTest.java b/android/ijkplayer/ijkplayer-cmake/src/test/java/com/coder/ijkplayer_cmake/ExampleUnitTest.java
new file mode 100644
index 0000000000..671220f2db
--- /dev/null
+++ b/android/ijkplayer/ijkplayer-cmake/src/test/java/com/coder/ijkplayer_cmake/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package com.coder.ijkplayer_cmake;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-example/build.gradle b/android/ijkplayer/ijkplayer-example/build.gradle
index ae4a0c6589..97031f722a 100644
--- a/android/ijkplayer/ijkplayer-example/build.gradle
+++ b/android/ijkplayer/ijkplayer-example/build.gradle
@@ -1,21 +1,22 @@
apply plugin: 'com.android.application'
android {
+ compileSdk 35
+
// http://tools.android.com/tech-docs/new-build-system/tips
//noinspection GroovyAssignabilityCheck
- compileSdkVersion rootProject.ext.compileSdkVersion
//noinspection GroovyAssignabilityCheck
- buildToolsVersion rootProject.ext.buildToolsVersion
- lintOptions {
- abortOnError false
- }
defaultConfig {
applicationId "tv.danmaku.ijk.media.example"
- minSdkVersion 9
- targetSdkVersion rootProject.ext.targetSdkVersion
+ minSdkVersion 21
+ targetSdk 35
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
+
+ ndk {
+ abiFilters "arm64-v8a","armeabi-v7a","x86_64","x86"
+ }
}
buildTypes {
release {
@@ -23,49 +24,40 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
- productFlavors {
- all32 { minSdkVersion 9 }
- all64 { minSdkVersion 21 }
- // armv5 {}
- // armv7a {}
- // arm64 { minSdkVersion 21 }
- // x86 {}
+ namespace 'tv.danmaku.ijk.media.example'
+ lint {
+ abortOnError false
}
}
dependencies {
- compile fileTree(include: ['*.jar'], dir: 'libs')
- compile 'com.android.support:appcompat-v7:23.0.1'
- compile 'com.android.support:preference-v7:23.0.1'
- compile 'com.android.support:support-annotations:23.0.1'
-
- compile 'com.squareup:otto:1.3.8'
-
- compile project(':ijkplayer-java')
- compile project(':ijkplayer-exo')
+// implementation fileTree(include: ['*.jar'], dir: 'libs')
+ implementation 'com.android.support:appcompat-v7:28.0.0'
+ implementation 'com.android.support:support-annotations:28.0.0'
+ implementation 'com.squareup:otto:1.3.8'
+// implementation 'com.android.support:support-v13:26.0.2'
+ implementation 'com.android.support:support-v4:28.0.0'
+ implementation 'com.android.support:preference-v7:28.0.0'
+ implementation project(':ijkplayer-cmake')
- all32Compile project(':ijkplayer-armv5')
- all32Compile project(':ijkplayer-armv7a')
- all32Compile project(':ijkplayer-x86')
- all64Compile project(':ijkplayer-armv5')
- all64Compile project(':ijkplayer-armv7a')
- all64Compile project(':ijkplayer-arm64')
- all64Compile project(':ijkplayer-x86')
- all64Compile project(':ijkplayer-x86_64')
+// implementation project(':ijkplayer-armv5')
+// implementation project(':ijkplayer-armv7a')
+// implementation project(':ijkplayer-arm64')
+// implementation project(':ijkplayer-x86')
- // compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
- // compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
+ // implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
+ // implementation 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
- // all32Compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
- // all32Compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
- // all32Compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
+ // all32Compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.9'
+ // all32Compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.9'
+ // all32Compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.9'
- // all64Compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
- // all64Compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
- // all64Compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
- // all64Compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
- // all64Compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
+ // all64Compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.9'
+ // all64Compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.9'
+ // all64Compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.9'
+ // all64Compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.9'
+ // all64Compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.9'
// armv5Compile project(':player-armv5')
// armv7aCompile project(':player-armv7a')
diff --git a/android/ijkplayer/ijkplayer-example/src/main/AndroidManifest.xml b/android/ijkplayer/ijkplayer-example/src/main/AndroidManifest.xml
index dd3a3af123..59280ba5ad 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/AndroidManifest.xml
+++ b/android/ijkplayer/ijkplayer-example/src/main/AndroidManifest.xml
@@ -1,10 +1,5 @@
-
-
-
+
@@ -24,6 +19,7 @@
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:screenOrientation="user"
+ android:exported="true"
android:theme="@style/AppTheme">
@@ -56,6 +52,7 @@
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:screenOrientation="user"
+ android:exported="true"
android:theme="@style/FullscreenTheme">
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/FileExplorerActivity.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/FileExplorerActivity.java
index 7ff800c20e..f6f426cd2d 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/FileExplorerActivity.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/FileExplorerActivity.java
@@ -18,8 +18,8 @@
package tv.danmaku.ijk.media.example.activities;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
import android.text.TextUtils;
import com.squareup.otto.Subscribe;
@@ -40,15 +40,16 @@ public class FileExplorerActivity extends AppActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
if (mSettings == null) {
mSettings = new Settings(this);
}
String lastDirectory = mSettings.getLastDirectory();
if (!TextUtils.isEmpty(lastDirectory) && new File(lastDirectory).isDirectory())
- doOpenDirectory(lastDirectory, false);
+ doOpenDirectory("sdcard", false);
else
- doOpenDirectory("/", false);
+ doOpenDirectory("sdcard", false);
}
@Override
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/RecentMediaActivity.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/RecentMediaActivity.java
index 151182db7a..e579469be6 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/RecentMediaActivity.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/RecentMediaActivity.java
@@ -20,8 +20,8 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
import android.view.Menu;
import android.view.MenuItem;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/SampleMediaActivity.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/SampleMediaActivity.java
index 6bd2f9259b..5e2a699bd2 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/SampleMediaActivity.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/SampleMediaActivity.java
@@ -20,8 +20,8 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
import android.view.Menu;
import android.view.MenuItem;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/SettingsActivity.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/SettingsActivity.java
index 9456ceedd1..ab48f66fe5 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/SettingsActivity.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/SettingsActivity.java
@@ -20,11 +20,11 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.appcompat.widget.Toolbar;
+import androidx.appcompat.app.AppCompatActivity;
import tv.danmaku.ijk.media.example.R;
import tv.danmaku.ijk.media.example.fragments.SettingsFragment;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/VideoActivity.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/VideoActivity.java
index d42dda5c2a..85ee0d16a7 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/VideoActivity.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/activities/VideoActivity.java
@@ -24,12 +24,13 @@
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
+
+import androidx.appcompat.app.ActionBar;
+import androidx.appcompat.widget.Toolbar;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.appcompat.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/application/AppActivity.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/application/AppActivity.java
index 713b4aafc4..c71264a951 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/application/AppActivity.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/application/AppActivity.java
@@ -21,10 +21,11 @@
import android.annotation.SuppressLint;
import android.content.pm.PackageManager;
import android.os.Bundle;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
+
+import androidx.appcompat.widget.Toolbar;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+import androidx.appcompat.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/content/PathCursorLoader.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/content/PathCursorLoader.java
index 6d9dfdc0b6..e1d463a311 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/content/PathCursorLoader.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/content/PathCursorLoader.java
@@ -20,7 +20,7 @@
import android.content.Context;
import android.database.Cursor;
import android.os.Environment;
-import android.support.v4.content.AsyncTaskLoader;
+import androidx.loader.content.AsyncTaskLoader;
import java.io.File;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/content/RecentMediaStorage.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/content/RecentMediaStorage.java
index 4f76b88b33..319da807bc 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/content/RecentMediaStorage.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/content/RecentMediaStorage.java
@@ -23,7 +23,7 @@
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.AsyncTask;
-import android.support.v4.content.AsyncTaskLoader;
+import androidx.loader.content.AsyncTaskLoader;
import android.text.TextUtils;
public class RecentMediaStorage {
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/FileListFragment.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/FileListFragment.java
index 5e43d9d3cf..378a8e7b6c 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/FileListFragment.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/FileListFragment.java
@@ -21,11 +21,13 @@
import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.content.Loader;
-import android.support.v4.widget.SimpleCursorAdapter;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+import android.widget.SimpleCursorAdapter;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
@@ -109,16 +111,17 @@ public Loader onCreateLoader(int id, Bundle args) {
}
@Override
- public void onLoadFinished(Loader loader, Cursor data) {
- mAdapter.swapCursor(data);
- mAdapter.notifyDataSetChanged();
+ public void onLoaderReset(@NonNull Loader loader) {
+
}
@Override
- public void onLoaderReset(Loader loader) {
-
+ public void onLoadFinished(@NonNull Loader loader, Cursor data) {
+ mAdapter.swapCursor(data);
+ mAdapter.notifyDataSetChanged();
}
+
final class VideoAdapter extends SimpleCursorAdapter {
final class ViewHolder {
public ImageView iconImageView;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/RecentMediaListFragment.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/RecentMediaListFragment.java
index 1e88809ce4..140e411ed8 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/RecentMediaListFragment.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/RecentMediaListFragment.java
@@ -21,11 +21,11 @@
import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.LoaderManager;
-import android.support.v4.content.Loader;
-import android.support.v4.widget.SimpleCursorAdapter;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.loader.app.LoaderManager;
+import androidx.loader.content.Loader;
+import android.widget.SimpleCursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/SampleMediaListFragment.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/SampleMediaListFragment.java
index a65a570669..ae4eca191c 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/SampleMediaListFragment.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/SampleMediaListFragment.java
@@ -20,8 +20,8 @@
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -129,7 +129,8 @@ public void onItemClick(AdapterView> parent, View view, final int position, fi
" ]\n" +
"}";
- mAdapter.addItem(manifest_string, "las test");
+ //mAdapter.addItem(manifest_string, "las test");
+ mAdapter.addItem("http://10.18.17.49/samba/video/4.mp4","4.mp4");
mAdapter.addItem("http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8", "bipbop basic master playlist");
mAdapter.addItem("http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear1/prog_index.m3u8", "bipbop basic 400x300 @ 232 kbps");
mAdapter.addItem("http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8", "bipbop basic 640x480 @ 650 kbps");
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/SettingsFragment.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/SettingsFragment.java
index 820883c93a..fdba5eacaa 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/SettingsFragment.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/SettingsFragment.java
@@ -18,7 +18,7 @@
package tv.danmaku.ijk.media.example.fragments;
import android.os.Bundle;
-import android.support.v7.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceFragmentCompat;
import tv.danmaku.ijk.media.example.R;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/TracksFragment.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/TracksFragment.java
index 14229a0aa5..80a4fa5813 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/TracksFragment.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/fragments/TracksFragment.java
@@ -20,8 +20,8 @@
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/services/MediaPlayerService.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/services/MediaPlayerService.java
index d77ebbde15..6f1c5484fa 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/services/MediaPlayerService.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/services/MediaPlayerService.java
@@ -21,7 +21,7 @@
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import tv.danmaku.ijk.media.player.IMediaPlayer;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/AndroidMediaController.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/AndroidMediaController.java
index 1b56a23a77..61ac5f5334 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/AndroidMediaController.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/AndroidMediaController.java
@@ -18,9 +18,10 @@
package tv.danmaku.ijk.media.example.widget.media;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v7.app.ActionBar;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.ActionBar;
+
import android.util.AttributeSet;
import android.view.View;
import android.widget.MediaController;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/IRenderView.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/IRenderView.java
index 98eb433124..c1e9771858 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/IRenderView.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/IRenderView.java
@@ -18,8 +18,8 @@
package tv.danmaku.ijk.media.example.widget.media;
import android.graphics.SurfaceTexture;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
+import androidx.annotation.NonNull;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.View;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/IjkVideoView.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/IjkVideoView.java
index d4200045a8..d7404ca24f 100755
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/IjkVideoView.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/IjkVideoView.java
@@ -25,8 +25,8 @@
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.v7.app.AlertDialog;
+import androidx.annotation.NonNull;
+import android.app.AlertDialog;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
@@ -48,7 +48,6 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import tv.danmaku.ijk.media.exo.IjkExoMediaPlayer;
import tv.danmaku.ijk.media.player.AndroidMediaPlayer;
import tv.danmaku.ijk.media.player.IMediaPlayer;
import tv.danmaku.ijk.media.player.IjkMediaPlayer;
@@ -1027,8 +1026,8 @@ public IMediaPlayer createPlayer(int playerType) {
switch (playerType) {
case Settings.PV_PLAYER__IjkExoMediaPlayer: {
- IjkExoMediaPlayer IjkExoMediaPlayer = new IjkExoMediaPlayer(mAppContext);
- mediaPlayer = IjkExoMediaPlayer;
+// IjkExoMediaPlayer IjkExoMediaPlayer = new IjkExoMediaPlayer(mAppContext);
+// mediaPlayer = IjkExoMediaPlayer;
}
break;
case Settings.PV_PLAYER__AndroidMediaPlayer: {
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/MeasureHelper.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/MeasureHelper.java
index c1abd38500..0a8402cc72 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/MeasureHelper.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/MeasureHelper.java
@@ -18,7 +18,7 @@
package tv.danmaku.ijk.media.example.widget.media;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.view.View;
import java.lang.ref.WeakReference;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/SurfaceRenderView.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/SurfaceRenderView.java
index 34f55a117b..6f28f45f61 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/SurfaceRenderView.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/SurfaceRenderView.java
@@ -21,8 +21,8 @@
import android.content.Context;
import android.graphics.SurfaceTexture;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
+import androidx.annotation.NonNull;
import android.util.AttributeSet;
import android.util.Log;
import android.view.Surface;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/TableLayoutBinder.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/TableLayoutBinder.java
index 8820a9ff15..703d50125e 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/TableLayoutBinder.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/TableLayoutBinder.java
@@ -18,7 +18,7 @@
package tv.danmaku.ijk.media.example.widget.media;
import android.content.Context;
-import android.support.v7.app.AlertDialog;
+import android.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/TextureRenderView.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/TextureRenderView.java
index c0689cd999..72cedf31c3 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/TextureRenderView.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/media/TextureRenderView.java
@@ -21,8 +21,8 @@
import android.content.Context;
import android.graphics.SurfaceTexture;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.Surface;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/preference/IjkListPreference.java b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/preference/IjkListPreference.java
index a0525b91f7..79f820cdd6 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/preference/IjkListPreference.java
+++ b/android/ijkplayer/ijkplayer-example/src/main/java/tv/danmaku/ijk/media/example/widget/preference/IjkListPreference.java
@@ -19,7 +19,7 @@
import android.content.Context;
import android.content.res.TypedArray;
-import android.support.v7.preference.ListPreference;
+import androidx.preference.ListPreference;
import android.text.TextUtils;
import android.util.AttributeSet;
diff --git a/android/ijkplayer/ijkplayer-example/src/main/res/layout/activity_player.xml b/android/ijkplayer/ijkplayer-example/src/main/res/layout/activity_player.xml
index 693aea2f94..c5e241bb71 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/res/layout/activity_player.xml
+++ b/android/ijkplayer/ijkplayer-example/src/main/res/layout/activity_player.xml
@@ -1,4 +1,4 @@
-
-
-
\ No newline at end of file
+
diff --git a/android/ijkplayer/ijkplayer-example/src/main/res/layout/widget_toolbar.xml b/android/ijkplayer/ijkplayer-example/src/main/res/layout/widget_toolbar.xml
index 8c1d6f59cd..24ff142046 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/res/layout/widget_toolbar.xml
+++ b/android/ijkplayer/ijkplayer-example/src/main/res/layout/widget_toolbar.xml
@@ -2,7 +2,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
-
-
\ No newline at end of file
+
diff --git a/android/ijkplayer/ijkplayer-example/src/main/res/xml/settings.xml b/android/ijkplayer/ijkplayer-example/src/main/res/xml/settings.xml
index e5156aabe0..8ccbda8e4a 100644
--- a/android/ijkplayer/ijkplayer-example/src/main/res/xml/settings.xml
+++ b/android/ijkplayer/ijkplayer-example/src/main/res/xml/settings.xml
@@ -10,7 +10,7 @@
android:title="@string/pref_title_enable_background_play" />
-
\ No newline at end of file
+
diff --git a/android/ijkplayer/ijkplayer-exo/build.gradle b/android/ijkplayer/ijkplayer-exo/build.gradle
index b582803aa3..323c1ea7fb 100644
--- a/android/ijkplayer/ijkplayer-exo/build.gradle
+++ b/android/ijkplayer/ijkplayer-exo/build.gradle
@@ -28,7 +28,7 @@ dependencies {
compile 'com.google.android.exoplayer:exoplayer:r1.5.11'
compile project(':ijkplayer-java')
- // compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
+ // compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.9'
}
gradle.startParameter.taskNames.each { task ->
diff --git a/android/ijkplayer/ijkplayer-java/.gitignore b/android/ijkplayer/ijkplayer-java/.gitignore
deleted file mode 100644
index 796b96d1c4..0000000000
--- a/android/ijkplayer/ijkplayer-java/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/android/ijkplayer/ijkplayer-java/build.gradle b/android/ijkplayer/ijkplayer-java/build.gradle
deleted file mode 100644
index 30d3ad27b4..0000000000
--- a/android/ijkplayer/ijkplayer-java/build.gradle
+++ /dev/null
@@ -1,29 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- // http://tools.android.com/tech-docs/new-build-system/tips
- //noinspection GroovyAssignabilityCheck
- compileSdkVersion rootProject.ext.compileSdkVersion
- //noinspection GroovyAssignabilityCheck
- buildToolsVersion rootProject.ext.buildToolsVersion
-
- lintOptions {
- abortOnError false
- }
- defaultConfig {
- minSdkVersion 9
- targetSdkVersion rootProject.ext.targetSdkVersion
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
-}
-
-apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
diff --git a/android/ijkplayer/ijkplayer-java/gradle.properties b/android/ijkplayer/ijkplayer-java/gradle.properties
deleted file mode 100644
index a6b3c5cdac..0000000000
--- a/android/ijkplayer/ijkplayer-java/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-POM_NAME=ijkplayer-java
-POM_ARTIFACT_ID=ijkplayer-java
-POM_PACKAGING=aar
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-java/proguard-rules.pro b/android/ijkplayer/ijkplayer-java/proguard-rules.pro
deleted file mode 100644
index 034485dfaa..0000000000
--- a/android/ijkplayer/ijkplayer-java/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /opt/android/ADK/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/android/ijkplayer/ijkplayer-java/src/androidTest/java/tv/danmaku/ijk/media/player/ApplicationTest.java b/android/ijkplayer/ijkplayer-java/src/androidTest/java/tv/danmaku/ijk/media/player/ApplicationTest.java
deleted file mode 100644
index 60d1d7329a..0000000000
--- a/android/ijkplayer/ijkplayer-java/src/androidTest/java/tv/danmaku/ijk/media/player/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package tv.danmaku.ijk.media.player;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-java/src/main/.classpath b/android/ijkplayer/ijkplayer-java/src/main/.classpath
deleted file mode 100644
index b3caa8c22e..0000000000
--- a/android/ijkplayer/ijkplayer-java/src/main/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/android/ijkplayer/ijkplayer-java/src/main/.project b/android/ijkplayer/ijkplayer-java/src/main/.project
deleted file mode 100644
index 31663eb26b..0000000000
--- a/android/ijkplayer/ijkplayer-java/src/main/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- ijkplayer-java
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/android/ijkplayer/ijkplayer-java/src/main/.settings/org.eclipse.jdt.core.prefs b/android/ijkplayer/ijkplayer-java/src/main/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b080d2ddc8..0000000000
--- a/android/ijkplayer/ijkplayer-java/src/main/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/android/ijkplayer/ijkplayer-java/src/main/AndroidManifest.xml b/android/ijkplayer/ijkplayer-java/src/main/AndroidManifest.xml
deleted file mode 100644
index c87fe47051..0000000000
--- a/android/ijkplayer/ijkplayer-java/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-java/src/main/project.properties b/android/ijkplayer/ijkplayer-java/src/main/project.properties
deleted file mode 100644
index 362a0a3082..0000000000
--- a/android/ijkplayer/ijkplayer-java/src/main/project.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-22
-android.library=true
diff --git a/android/ijkplayer/ijkplayer-java/src/main/res/values/strings.xml b/android/ijkplayer/ijkplayer-java/src/main/res/values/strings.xml
deleted file mode 100644
index 7356db3545..0000000000
--- a/android/ijkplayer/ijkplayer-java/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86/.gitignore b/android/ijkplayer/ijkplayer-x86/.gitignore
deleted file mode 100644
index 796b96d1c4..0000000000
--- a/android/ijkplayer/ijkplayer-x86/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/android/ijkplayer/ijkplayer-x86/build.gradle b/android/ijkplayer/ijkplayer-x86/build.gradle
deleted file mode 100644
index b3b7b3a8b7..0000000000
--- a/android/ijkplayer/ijkplayer-x86/build.gradle
+++ /dev/null
@@ -1,30 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- // http://tools.android.com/tech-docs/new-build-system/tips
- //noinspection GroovyAssignabilityCheck
- compileSdkVersion rootProject.ext.compileSdkVersion
- //noinspection GroovyAssignabilityCheck
- buildToolsVersion rootProject.ext.buildToolsVersion
-
- defaultConfig {
- minSdkVersion 9
- targetSdkVersion rootProject.ext.targetSdkVersion
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- sourceSets.main {
- jniLibs.srcDirs 'src/main/libs'
- jni.srcDirs = [] // This prevents the auto generation of Android.mk
- }
-}
-
-dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
-}
-
-apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
diff --git a/android/ijkplayer/ijkplayer-x86/gradle.properties b/android/ijkplayer/ijkplayer-x86/gradle.properties
deleted file mode 100644
index 3e1821a4d4..0000000000
--- a/android/ijkplayer/ijkplayer-x86/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-POM_NAME=ijkplayer-x86
-POM_ARTIFACT_ID=ijkplayer-x86
-POM_PACKAGING=aar
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86/proguard-rules.pro b/android/ijkplayer/ijkplayer-x86/proguard-rules.pro
deleted file mode 100644
index 034485dfaa..0000000000
--- a/android/ijkplayer/ijkplayer-x86/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /opt/android/ADK/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/android/ijkplayer/ijkplayer-x86/src/androidTest/java/tv/danmaku/ijk/media/ijkplayer/ApplicationTest.java b/android/ijkplayer/ijkplayer-x86/src/androidTest/java/tv/danmaku/ijk/media/ijkplayer/ApplicationTest.java
deleted file mode 100644
index 960c30ddf8..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/androidTest/java/tv/danmaku/ijk/media/ijkplayer/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package tv.danmaku.ijk.media.ijkplayer;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/.classpath b/android/ijkplayer/ijkplayer-x86/src/main/.classpath
deleted file mode 100644
index 7bc604bfa8..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/.project b/android/ijkplayer/ijkplayer-x86/src/main/.project
deleted file mode 100644
index 3a120e7321..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- ijkplayer-x86
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/.settings/org.eclipse.jdt.core.prefs b/android/ijkplayer/ijkplayer-x86/src/main/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b080d2ddc8..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/AndroidManifest.xml b/android/ijkplayer/ijkplayer-x86/src/main/AndroidManifest.xml
deleted file mode 100644
index 68a12d04a8..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/java/tv/danmaku/ijk/media/player_x86/Pragma.java b/android/ijkplayer/ijkplayer-x86/src/main/java/tv/danmaku/ijk/media/player_x86/Pragma.java
deleted file mode 100644
index 41ff7ac2ec..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/java/tv/danmaku/ijk/media/player_x86/Pragma.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2015 Bilibili
- * Copyright (C) 2015 Zhang Rui
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package tv.danmaku.ijk.media.player_x86;
-
-public class Pragma {
-
-}
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk
deleted file mode 120000
index fb3086783d..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-../../../../ijkplayer-armv7a/src/main/jni/Android.mk
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/jni/Application.mk b/android/ijkplayer/ijkplayer-x86/src/main/jni/Application.mk
deleted file mode 100644
index 6613d2250d..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/jni/Application.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013-2014 Bilibili
-# copyright (c) 2013-2014 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-APP_OPTIM := release
-APP_PLATFORM := android-9
-APP_ABI := x86
-NDK_TOOLCHAIN_VERSION=4.9
-APP_PIE := false
-
-APP_STL := stlport_static
-
-APP_CFLAGS := -O3 -Wall -pipe \
- -ffast-math \
- -fstrict-aliasing -Werror=strict-aliasing \
- -Wno-psabi -Wa,--noexecstack \
- -DANDROID -DNDEBUG
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/Android.mk b/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/Android.mk
deleted file mode 100644
index ec33908f53..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/Android.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := ijkffmpeg
-LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
-include $(PREBUILT_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/include b/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/include
deleted file mode 120000
index 530bcb6b15..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/include
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../contrib/build/ffmpeg-x86/output/include/
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/jni/ijkmedia b/android/ijkplayer/ijkplayer-x86/src/main/jni/ijkmedia
deleted file mode 120000
index f61992095f..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/jni/ijkmedia
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../ijkmedia
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/project.properties b/android/ijkplayer/ijkplayer-x86/src/main/project.properties
deleted file mode 100644
index 362a0a3082..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/project.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-22
-android.library=true
diff --git a/android/ijkplayer/ijkplayer-x86/src/main/res/values/strings.xml b/android/ijkplayer/ijkplayer-x86/src/main/res/values/strings.xml
deleted file mode 100644
index 6f70db95a4..0000000000
--- a/android/ijkplayer/ijkplayer-x86/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86_64/.gitignore b/android/ijkplayer/ijkplayer-x86_64/.gitignore
deleted file mode 100644
index 796b96d1c4..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/android/ijkplayer/ijkplayer-x86_64/build.gradle b/android/ijkplayer/ijkplayer-x86_64/build.gradle
deleted file mode 100644
index a8cbe0cb34..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/build.gradle
+++ /dev/null
@@ -1,30 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- // http://tools.android.com/tech-docs/new-build-system/tips
- //noinspection GroovyAssignabilityCheck
- compileSdkVersion rootProject.ext.compileSdkVersion
- //noinspection GroovyAssignabilityCheck
- buildToolsVersion rootProject.ext.buildToolsVersion
-
- defaultConfig {
- minSdkVersion 21
- targetSdkVersion rootProject.ext.targetSdkVersion
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- sourceSets.main {
- jniLibs.srcDirs 'src/main/libs'
- jni.srcDirs = [] // This prevents the auto generation of Android.mk
- }
-}
-
-dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
-}
-
-apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
diff --git a/android/ijkplayer/ijkplayer-x86_64/gradle.properties b/android/ijkplayer/ijkplayer-x86_64/gradle.properties
deleted file mode 100644
index b44ac28d69..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/gradle.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-POM_NAME=ijkplayer-x86_64
-POM_ARTIFACT_ID=ijkplayer-x86_64
-POM_PACKAGING=aar
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86_64/proguard-rules.pro b/android/ijkplayer/ijkplayer-x86_64/proguard-rules.pro
deleted file mode 100644
index 034485dfaa..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /opt/android/ADK/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/android/ijkplayer/ijkplayer-x86_64/src/androidTest/java/com/example/ijkplayer_x86_64/ApplicationTest.java b/android/ijkplayer/ijkplayer-x86_64/src/androidTest/java/com/example/ijkplayer_x86_64/ApplicationTest.java
deleted file mode 100644
index 18b66cfedc..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/src/androidTest/java/com/example/ijkplayer_x86_64/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.example.ijkplayer_x86_64;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/AndroidManifest.xml b/android/ijkplayer/ijkplayer-x86_64/src/main/AndroidManifest.xml
deleted file mode 100644
index 9ff26a79ea..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk
deleted file mode 120000
index fb3086783d..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-../../../../ijkplayer-armv7a/src/main/jni/Android.mk
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Application.mk b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Application.mk
deleted file mode 100644
index 207b1382b2..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Application.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013-2014 Bilibili
-# copyright (c) 2013-2014 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-APP_OPTIM := release
-APP_PLATFORM := android-21
-APP_ABI := x86_64
-NDK_TOOLCHAIN_VERSION=4.9
-APP_PIE := false
-
-APP_STL := stlport_static
-
-APP_CFLAGS := -O3 -Wall -pipe \
- -ffast-math \
- -fstrict-aliasing -Werror=strict-aliasing \
- -Wno-psabi -Wa,--noexecstack \
- -DANDROID -DNDEBUG
diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/Android.mk b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/Android.mk
deleted file mode 100644
index ec33908f53..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/Android.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := ijkffmpeg
-LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
-include $(PREBUILT_SHARED_LIBRARY)
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/include b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/include
deleted file mode 120000
index 930e368532..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/include
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../contrib/build/ffmpeg-x86_64/output/include/
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ijkmedia b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ijkmedia
deleted file mode 120000
index f61992095f..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ijkmedia
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../ijkmedia
\ No newline at end of file
diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/res/values/strings.xml b/android/ijkplayer/ijkplayer-x86_64/src/main/res/values/strings.xml
deleted file mode 100644
index 2252d8b370..0000000000
--- a/android/ijkplayer/ijkplayer-x86_64/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- ijkplayer-x86_64
-
diff --git a/android/ijkplayer/settings.gradle b/android/ijkplayer/settings.gradle
index 758234a4df..824f750ac1 100644
--- a/android/ijkplayer/settings.gradle
+++ b/android/ijkplayer/settings.gradle
@@ -1,10 +1,3 @@
-include ':ijkplayer-armv5', ':ijkplayer-x86_64'
-include ':ijkplayer-armv7a'
-include ':ijkplayer-arm64'
-include ':ijkplayer-x86'
-
-include ':ijkplayer-java'
-include ':ijkplayer-exo'
-
include ':ijkplayer-example'
+include ':ijkplayer-cmake'
diff --git a/android/install-ffmpeg.sh b/android/install-ffmpeg.sh
new file mode 100755
index 0000000000..3178f39f92
--- /dev/null
+++ b/android/install-ffmpeg.sh
@@ -0,0 +1,4 @@
+#! /usr/bin/env bash
+#
+
+../FFToolChain/main.sh install -l 'soundtouch yuv ijkffmpeg' -p android
diff --git a/android/patch-debugging-with-lldb.sh b/android/patch-debugging-with-lldb.sh
deleted file mode 100755
index 0a7488be25..0000000000
--- a/android/patch-debugging-with-lldb.sh
+++ /dev/null
@@ -1,79 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Chen Hui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-patch_enable () {
- PARAM_TARGET=$1
- case "$PARAM_TARGET" in
- armv5|armv7a|arm64|x86|x86_64)
- git apply -- android/patches/0001-gitignore-ignore-.externalNativeBuild.patch
- echo "git apply ==> patches/0001-gitignore-ignore-.externalNativeBuild.patch"
- git apply -- android/patches/0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch
- echo "git apply ==> patches/0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch"
- git apply -- android/patches/0003-$PARAM_TARGET-enable-debugging-with-LLDB.patch
- echo "git apply ==> patches/0003-$PARAM_TARGET-enable-debugging-with-LLDB.patch"
- git apply -- android/patches/0004-$PARAM_TARGET-link-prebuilt-staic-libraries-of-ffmepg.patch
- echo "git apply ==> patches/0004-$PARAM_TARGET-link-prebuilt-staic-libraries-of-ffmepg.patch"
- ;;
- esac
-}
-
-patch_disable () {
- PARAM_TARGET=$1
- case "$PARAM_TARGET" in
- armv5|armv7a|arm64|x86|x86_64)
- git apply -R android/patches/0004-$PARAM_TARGET-link-prebuilt-staic-libraries-of-ffmepg.patch
- echo "git apply reverse ==> patches/0004-$PARAM_TARGET-link-prebuilt-staic-libraries-of-ffmepg.patch"
-
- git checkout android/ijkplayer/ijkplayer-$PARAM_TARGET/src/main/jni/Android.mk
- git checkout android/ijkplayer/ijkplayer-example/build.gradle
- git checkout android/ijkplayer/ijkplayer-$PARAM_TARGET/build.gradle
- git checkout android/ijkplayer/settings.gradle
-# git apply -R android/patches/0003-$PARAM_TARGET-enable-debugging-with-LLDB.patch
- echo "git apply reverse ==> patches/0003-$PARAM_TARGET-enable-debugging-with-LLDB.patch"
- git apply -R android/patches/0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch
- echo "git apply reverse ==> patches/0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch"
- git apply -R android/patches/0001-gitignore-ignore-.externalNativeBuild.patch
- echo "git apply reverse ==> patches/0001-gitignore-ignore-.externalNativeBuild.patch"
- ;;
- esac
-}
-
-case "$1" in
- armv5|armv7a|arm64|x86|x86_64)
- # patch_enable $1
- echo "patch apply ==> $1"
- patch_enable $1
- ;;
- reverse)
- case "$2" in
- armv5|armv7a|arm64|x86|x86_64)
- echo "patch reverse ==> $2"
- patch_disable $2
- ;;
- *)
- echo "Usage:"
- echo " patch-debugging-with-lldb.sh armv5|armv7a|arm64|x86|x86_64"
- echo " patch-debugging-with-lldb.sh reverse armv5|armv7a|arm64|x86|x86_64"
- ;;
- esac
- ;;
- *)
- echo "Usage:"
- echo " patch-debugging-with-lldb.sh armv5|armv7a|arm64|x86|x86_64"
- echo " patch-debugging-with-lldb.sh reverse armv5|armv7a|arm64|x86|x86_64"
- ;;
-esac
\ No newline at end of file
diff --git a/android/patches/0001-gitignore-ignore-.externalNativeBuild.patch b/android/patches/0001-gitignore-ignore-.externalNativeBuild.patch
deleted file mode 100644
index cd1d0f335f..0000000000
--- a/android/patches/0001-gitignore-ignore-.externalNativeBuild.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From dc4847b1e8ff5d35576f840db59aec0a3d3fc72b Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Mon, 29 Aug 2016 14:48:08 +0800
-Subject: [PATCH 1/2] gitignore: ignore ".externalNativeBuild"
-
----
- android/ijkplayer/.gitignore | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/android/ijkplayer/.gitignore b/android/ijkplayer/.gitignore
-index eac8754..2a3badc 100644
---- a/android/ijkplayer/.gitignore
-+++ b/android/ijkplayer/.gitignore
-@@ -6,3 +6,4 @@
- /build
- /captures
- android-ndk-prof
-+.externalNativeBuild
-\ No newline at end of file
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch b/android/patches/0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch
deleted file mode 100644
index 92ea0d2b43..0000000000
--- a/android/patches/0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5d70fa0496f9ebfbcfa3786d85c74c690d66781e Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Mon, 29 Aug 2016 14:50:34 +0800
-Subject: [PATCH 2/2] gradle: upgrade build-tool to 2.2.0-rc1
-
----
- android/ijkplayer/build.gradle | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/android/ijkplayer/build.gradle b/android/ijkplayer/build.gradle
-index 0de03ec..6132c1d 100644
---- a/android/ijkplayer/build.gradle
-+++ b/android/ijkplayer/build.gradle
-@@ -5,7 +5,7 @@ buildscript {
- jcenter()
- }
- dependencies {
-- classpath 'com.android.tools.build:gradle:2.1.3'
-+ classpath 'com.android.tools.build:gradle:2.2.0-rc1'
-
- classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
- classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0003-arm64-enable-debugging-with-LLDB.patch b/android/patches/0003-arm64-enable-debugging-with-LLDB.patch
deleted file mode 100644
index 61cf6f4533..0000000000
--- a/android/patches/0003-arm64-enable-debugging-with-LLDB.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 8f72e4cdcc3c3ef2d5290be4a755943b972d7239 Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Mon, 29 Aug 2016 17:06:00 +0800
-Subject: [PATCH] arm64: enable debugging with LLDB
-
----
- android/ijkplayer/ijkplayer-arm64/build.gradle | 20 ++++++++++++---
- .../ijkplayer-arm64/src/main/jni/Android.mk | 29 +++++++++++++++++++++-
- android/ijkplayer/ijkplayer-example/build.gradle | 16 ++++++------
- android/ijkplayer/settings.gradle | 6 ++---
- 4 files changed, 56 insertions(+), 15 deletions(-)
- mode change 120000 => 100644 android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk
-
-diff --git a/android/ijkplayer/ijkplayer-arm64/build.gradle b/android/ijkplayer/ijkplayer-arm64/build.gradle
-index a8cbe0c..ccd04e0 100644
---- a/android/ijkplayer/ijkplayer-arm64/build.gradle
-+++ b/android/ijkplayer/ijkplayer-arm64/build.gradle
-@@ -10,16 +10,30 @@ android {
- defaultConfig {
- minSdkVersion 21
- targetSdkVersion rootProject.ext.targetSdkVersion
-+ externalNativeBuild {
-+ ndkBuild {
-+ arguments "NDK_APPLICATION_MK:=src/main/jni/Application.mk"
-+ abiFilters "arm64-v8a"
-+ }
-+ }
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
-+ debug {
-+ debuggable true
-+ jniDebuggable true
-+ ndk {
-+ debuggable true
-+ }
-+ }
- }
-- sourceSets.main {
-- jniLibs.srcDirs 'src/main/libs'
-- jni.srcDirs = [] // This prevents the auto generation of Android.mk
-+ externalNativeBuild {
-+ ndkBuild {
-+ path 'src/main/jni/Android.mk'
-+ }
- }
- }
-
-diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk
-deleted file mode 120000
-index fb30867..0000000
---- a/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk
-+++ /dev/null
-@@ -1 +0,0 @@
--../../../../ijkplayer-armv7a/src/main/jni/Android.mk
-\ No newline at end of file
-diff --git a/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk
-new file mode 100644
-index 0000000..6b53c1f
---- /dev/null
-+++ b/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk
-@@ -0,0 +1,28 @@
-+# copyright (c) 2013 Zhang Rui
-+#
-+# This file is part of ijkPlayer.
-+#
-+# ijkPlayer is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Lesser General Public
-+# License as published by the Free Software Foundation; either
-+# version 2.1 of the License, or (at your option) any later version.
-+#
-+# ijkPlayer is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Lesser General Public License for more details.
-+#
-+# You should have received a copy of the GNU Lesser General Public
-+# License along with ijkPlayer; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+
-+LOCAL_PATH := $(call my-dir)
-+
-+MY_APP_JNI_ROOT := $(realpath $(LOCAL_PATH))
-+MY_APP_PRJ_ROOT := $(realpath $(MY_APP_JNI_ROOT)/..)
-+MY_APP_ANDROID_ROOT := $(realpath $(MY_APP_PRJ_ROOT)/../../../..)
-+
-+MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-arm64/output)
-+MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-+
-+include $(call all-subdir-makefiles)
-diff --git a/android/ijkplayer/ijkplayer-example/build.gradle b/android/ijkplayer/ijkplayer-example/build.gradle
-index 9afe650..77df829 100644
---- a/android/ijkplayer/ijkplayer-example/build.gradle
-+++ b/android/ijkplayer/ijkplayer-example/build.gradle
-@@ -44,15 +44,15 @@ dependencies {
- compile project(':ijkplayer-java')
- compile project(':ijkplayer-exo')
-
-- all32Compile project(':ijkplayer-armv5')
-- all32Compile project(':ijkplayer-armv7a')
-- all32Compile project(':ijkplayer-x86')
--
-- all64Compile project(':ijkplayer-armv5')
-- all64Compile project(':ijkplayer-armv7a')
-+// all32Compile project(':ijkplayer-armv5')
-+// all32Compile project(':ijkplayer-armv7a')
-+// all32Compile project(':ijkplayer-x86')
-+//
-+// all64Compile project(':ijkplayer-armv5')
-+// all64Compile project(':ijkplayer-armv7a')
- all64Compile project(':ijkplayer-arm64')
-- all64Compile project(':ijkplayer-x86')
-- all64Compile project(':ijkplayer-x86_64')
-+// all64Compile project(':ijkplayer-x86')
-+// all64Compile project(':ijkplayer-x86_64')
-
- // armv5Compile project(':player-armv5')
- // armv7aCompile project(':player-armv7a')
-diff --git a/android/ijkplayer/settings.gradle b/android/ijkplayer/settings.gradle
-index 758234a..c9e72d9 100644
---- a/android/ijkplayer/settings.gradle
-+++ b/android/ijkplayer/settings.gradle
-@@ -1,7 +1,7 @@
--include ':ijkplayer-armv5', ':ijkplayer-x86_64'
--include ':ijkplayer-armv7a'
-+//include ':ijkplayer-armv5', ':ijkplayer-x86_64'
-+//include ':ijkplayer-armv7a'
- include ':ijkplayer-arm64'
--include ':ijkplayer-x86'
-+//include ':ijkplayer-x86'
-
- include ':ijkplayer-java'
- include ':ijkplayer-exo'
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0003-armv5-enable-debugging-with-LLDB.patch b/android/patches/0003-armv5-enable-debugging-with-LLDB.patch
deleted file mode 100644
index a8558c5e21..0000000000
--- a/android/patches/0003-armv5-enable-debugging-with-LLDB.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From e7a63003b2f3d15f795128b95085da57dd838945 Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Mon, 29 Aug 2016 16:23:52 +0800
-Subject: [PATCH] armv5: enable debugging with LLDB
-
----
- android/ijkplayer/ijkplayer-armv5/build.gradle | 20 ++++++++++++---
- .../ijkplayer-armv5/src/main/jni/Android.mk | 29 +++++++++++++++++++++-
- android/ijkplayer/ijkplayer-example/build.gradle | 14 +++++------
- android/ijkplayer/settings.gradle | 8 +++---
- 4 files changed, 56 insertions(+), 15 deletions(-)
- mode change 120000 => 100644 android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk
-
-diff --git a/android/ijkplayer/ijkplayer-armv5/build.gradle b/android/ijkplayer/ijkplayer-armv5/build.gradle
-index b3b7b3a..d05f33e 100644
---- a/android/ijkplayer/ijkplayer-armv5/build.gradle
-+++ b/android/ijkplayer/ijkplayer-armv5/build.gradle
-@@ -10,16 +10,30 @@ android {
- defaultConfig {
- minSdkVersion 9
- targetSdkVersion rootProject.ext.targetSdkVersion
-+ externalNativeBuild {
-+ ndkBuild {
-+ arguments "NDK_APPLICATION_MK:=src/main/jni/Application.mk"
-+ abiFilters "armeabi"
-+ }
-+ }
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
-+ debug {
-+ debuggable true
-+ jniDebuggable true
-+ ndk {
-+ debuggable true
-+ }
-+ }
- }
-- sourceSets.main {
-- jniLibs.srcDirs 'src/main/libs'
-- jni.srcDirs = [] // This prevents the auto generation of Android.mk
-+ externalNativeBuild {
-+ ndkBuild {
-+ path 'src/main/jni/Android.mk'
-+ }
- }
- }
-
-diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk
-deleted file mode 120000
-index fb30867..0000000
---- a/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk
-+++ /dev/null
-@@ -1 +0,0 @@
--../../../../ijkplayer-armv7a/src/main/jni/Android.mk
-\ No newline at end of file
-diff --git a/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk
-new file mode 100644
-index 0000000..47d400e
---- /dev/null
-+++ b/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk
-@@ -0,0 +1,28 @@
-+# copyright (c) 2013 Zhang Rui
-+#
-+# This file is part of ijkPlayer.
-+#
-+# ijkPlayer is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Lesser General Public
-+# License as published by the Free Software Foundation; either
-+# version 2.1 of the License, or (at your option) any later version.
-+#
-+# ijkPlayer is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Lesser General Public License for more details.
-+#
-+# You should have received a copy of the GNU Lesser General Public
-+# License along with ijkPlayer; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+
-+LOCAL_PATH := $(call my-dir)
-+
-+MY_APP_JNI_ROOT := $(realpath $(LOCAL_PATH))
-+MY_APP_PRJ_ROOT := $(realpath $(MY_APP_JNI_ROOT)/..)
-+MY_APP_ANDROID_ROOT := $(realpath $(MY_APP_PRJ_ROOT)/../../../..)
-+
-+MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-armv5/output)
-+MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-+
-+include $(call all-subdir-makefiles)
-diff --git a/android/ijkplayer/ijkplayer-example/build.gradle b/android/ijkplayer/ijkplayer-example/build.gradle
-index 9afe650..3c5c819 100644
---- a/android/ijkplayer/ijkplayer-example/build.gradle
-+++ b/android/ijkplayer/ijkplayer-example/build.gradle
-@@ -45,14 +45,14 @@ dependencies {
- compile project(':ijkplayer-exo')
-
- all32Compile project(':ijkplayer-armv5')
-- all32Compile project(':ijkplayer-armv7a')
-- all32Compile project(':ijkplayer-x86')
--
-+// all32Compile project(':ijkplayer-armv7a')
-+// all32Compile project(':ijkplayer-x86')
-+//
- all64Compile project(':ijkplayer-armv5')
-- all64Compile project(':ijkplayer-armv7a')
-- all64Compile project(':ijkplayer-arm64')
-- all64Compile project(':ijkplayer-x86')
-- all64Compile project(':ijkplayer-x86_64')
-+// all64Compile project(':ijkplayer-armv7a')
-+// all64Compile project(':ijkplayer-arm64')
-+// all64Compile project(':ijkplayer-x86')
-+// all64Compile project(':ijkplayer-x86_64')
-
- // armv5Compile project(':player-armv5')
- // armv7aCompile project(':player-armv7a')
-diff --git a/android/ijkplayer/settings.gradle b/android/ijkplayer/settings.gradle
-index 758234a..b0873e0 100644
---- a/android/ijkplayer/settings.gradle
-+++ b/android/ijkplayer/settings.gradle
-@@ -1,7 +1,7 @@
--include ':ijkplayer-armv5', ':ijkplayer-x86_64'
--include ':ijkplayer-armv7a'
--include ':ijkplayer-arm64'
--include ':ijkplayer-x86'
-+include ':ijkplayer-armv5'//, ':ijkplayer-x86_64'
-+//include ':ijkplayer-armv7a'
-+//include ':ijkplayer-arm64'
-+//include ':ijkplayer-x86'
-
- include ':ijkplayer-java'
- include ':ijkplayer-exo'
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0003-armv7a-enable-debugging-with-LLDB.patch b/android/patches/0003-armv7a-enable-debugging-with-LLDB.patch
deleted file mode 100644
index 7deaaf1d7a..0000000000
--- a/android/patches/0003-armv7a-enable-debugging-with-LLDB.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 69f62140cc4062f433cbd093301a1fc84ff61305 Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Mon, 29 Aug 2016 16:15:00 +0800
-Subject: [PATCH] armv7a: enable debugging with LLDB
-
----
- android/ijkplayer/ijkplayer-armv7a/build.gradle | 23 +++++++++++++++++++---
- .../ijkplayer-armv7a/src/main/jni/Android.mk | 18 -----------------
- android/ijkplayer/ijkplayer-example/build.gradle | 14 ++++++-------
- android/ijkplayer/settings.gradle | 6 +++---
- 4 files changed, 30 insertions(+), 31 deletions(-)
-
-diff --git a/android/ijkplayer/ijkplayer-armv7a/build.gradle b/android/ijkplayer/ijkplayer-armv7a/build.gradle
-index b3b7b3a..9cc99b5 100644
---- a/android/ijkplayer/ijkplayer-armv7a/build.gradle
-+++ b/android/ijkplayer/ijkplayer-armv7a/build.gradle
-@@ -10,16 +10,33 @@ android {
- defaultConfig {
- minSdkVersion 9
- targetSdkVersion rootProject.ext.targetSdkVersion
-+ externalNativeBuild {
-+ ndkBuild {
-+ arguments "NDK_APPLICATION_MK:=src/main/jni/Application.mk"//,"APP_ABI=armeabi-v7a","NDK_ALL_ABIS=armeabi-v7a"//,"NDK_LIBS_OUT:=src/main/libs"
-+// cFlags "-DTEST_C_FLAG1", "-DTEST_C_FLAG2" // output dir -> 'src/main/libs'
-+// cppFlags "-DTEST_CPP_FLAG2", "-DTEST_CPP_FLAG2"
-+ abiFilters "armeabi-v7a"
-+ }
-+ }
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
-+ debug {
-+ debuggable true
-+ jniDebuggable true
-+ ndk {
-+ debuggable true
-+ }
-+ }
- }
-- sourceSets.main {
-- jniLibs.srcDirs 'src/main/libs'
-- jni.srcDirs = [] // This prevents the auto generation of Android.mk
-+
-+ externalNativeBuild {
-+ ndkBuild {
-+ path 'src/main/jni/Android.mk'
-+ }
- }
- }
-
-diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Android.mk
-index ba2db29..a126226 100644
---- a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Android.mk
-+++ b/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Android.mk
-@@ -22,25 +22,7 @@ MY_APP_JNI_ROOT := $(realpath $(LOCAL_PATH))
- MY_APP_PRJ_ROOT := $(realpath $(MY_APP_JNI_ROOT)/..)
- MY_APP_ANDROID_ROOT := $(realpath $(MY_APP_PRJ_ROOT)/../../../..)
-
--ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
- MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-armv7a/output)
- MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
--endif
--ifeq ($(TARGET_ARCH_ABI),armeabi)
--MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-armv5/output)
--MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
--endif
--ifeq ($(TARGET_ARCH_ABI),arm64-v8a)
--MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-arm64/output)
--MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
--endif
--ifeq ($(TARGET_ARCH_ABI),x86)
--MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-x86/output)
--MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
--endif
--ifeq ($(TARGET_ARCH_ABI),x86_64)
--MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-x86_64/output)
--MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
--endif
-
- include $(call all-subdir-makefiles)
-diff --git a/android/ijkplayer/ijkplayer-example/build.gradle b/android/ijkplayer/ijkplayer-example/build.gradle
-index 9afe650..3d6df0f 100644
---- a/android/ijkplayer/ijkplayer-example/build.gradle
-+++ b/android/ijkplayer/ijkplayer-example/build.gradle
-@@ -44,15 +44,15 @@ dependencies {
- compile project(':ijkplayer-java')
- compile project(':ijkplayer-exo')
-
-- all32Compile project(':ijkplayer-armv5')
-+// all32Compile project(':ijkplayer-armv5')
- all32Compile project(':ijkplayer-armv7a')
-- all32Compile project(':ijkplayer-x86')
--
-- all64Compile project(':ijkplayer-armv5')
-+// all32Compile project(':ijkplayer-x86')
-+//
-+// all64Compile project(':ijkplayer-armv5')
- all64Compile project(':ijkplayer-armv7a')
-- all64Compile project(':ijkplayer-arm64')
-- all64Compile project(':ijkplayer-x86')
-- all64Compile project(':ijkplayer-x86_64')
-+// all64Compile project(':ijkplayer-arm64')
-+// all64Compile project(':ijkplayer-x86')
-+// all64Compile project(':ijkplayer-x86_64')
-
- // armv5Compile project(':player-armv5')
- // armv7aCompile project(':player-armv7a')
-diff --git a/android/ijkplayer/settings.gradle b/android/ijkplayer/settings.gradle
-index 758234a..b51e5d3 100644
---- a/android/ijkplayer/settings.gradle
-+++ b/android/ijkplayer/settings.gradle
-@@ -1,7 +1,7 @@
--include ':ijkplayer-armv5', ':ijkplayer-x86_64'
-+//include ':ijkplayer-armv5', ':ijkplayer-x86_64'
- include ':ijkplayer-armv7a'
--include ':ijkplayer-arm64'
--include ':ijkplayer-x86'
-+//include ':ijkplayer-arm64'
-+//include ':ijkplayer-x86'
-
- include ':ijkplayer-java'
- include ':ijkplayer-exo'
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0003-x86-enable-debugging-with-LLDB.patch b/android/patches/0003-x86-enable-debugging-with-LLDB.patch
deleted file mode 100644
index fe1720bb85..0000000000
--- a/android/patches/0003-x86-enable-debugging-with-LLDB.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 9d779640e6e71181e9432d21eec11e79d53451df Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Mon, 29 Aug 2016 17:36:42 +0800
-Subject: [PATCH] x86: enable debugging with LLDB
-
----
- android/ijkplayer/ijkplayer-example/build.gradle | 14 +++++------
- android/ijkplayer/ijkplayer-x86/build.gradle | 20 ++++++++++++---
- .../ijkplayer-x86/src/main/jni/Android.mk | 29 +++++++++++++++++++++-
- android/ijkplayer/settings.gradle | 6 ++---
- 4 files changed, 55 insertions(+), 14 deletions(-)
- mode change 120000 => 100644 android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk
-
-diff --git a/android/ijkplayer/ijkplayer-example/build.gradle b/android/ijkplayer/ijkplayer-example/build.gradle
-index 9afe650..4f428b3 100644
---- a/android/ijkplayer/ijkplayer-example/build.gradle
-+++ b/android/ijkplayer/ijkplayer-example/build.gradle
-@@ -44,15 +44,15 @@ dependencies {
- compile project(':ijkplayer-java')
- compile project(':ijkplayer-exo')
-
-- all32Compile project(':ijkplayer-armv5')
-- all32Compile project(':ijkplayer-armv7a')
-+// all32Compile project(':ijkplayer-armv5')
-+// all32Compile project(':ijkplayer-armv7a')
- all32Compile project(':ijkplayer-x86')
--
-- all64Compile project(':ijkplayer-armv5')
-- all64Compile project(':ijkplayer-armv7a')
-- all64Compile project(':ijkplayer-arm64')
-+//
-+// all64Compile project(':ijkplayer-armv5')
-+// all64Compile project(':ijkplayer-armv7a')
-+// all64Compile project(':ijkplayer-arm64')
- all64Compile project(':ijkplayer-x86')
-- all64Compile project(':ijkplayer-x86_64')
-+// all64Compile project(':ijkplayer-x86_64')
-
- // armv5Compile project(':player-armv5')
- // armv7aCompile project(':player-armv7a')
-diff --git a/android/ijkplayer/ijkplayer-x86/build.gradle b/android/ijkplayer/ijkplayer-x86/build.gradle
-index b3b7b3a..75fa48a 100644
---- a/android/ijkplayer/ijkplayer-x86/build.gradle
-+++ b/android/ijkplayer/ijkplayer-x86/build.gradle
-@@ -10,16 +10,30 @@ android {
- defaultConfig {
- minSdkVersion 9
- targetSdkVersion rootProject.ext.targetSdkVersion
-+ externalNativeBuild {
-+ ndkBuild {
-+ arguments "NDK_APPLICATION_MK:=src/main/jni/Application.mk"
-+ abiFilters "x86"
-+ }
-+ }
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
-+ debug {
-+ debuggable true
-+ jniDebuggable true
-+ ndk {
-+ debuggable true
-+ }
-+ }
- }
-- sourceSets.main {
-- jniLibs.srcDirs 'src/main/libs'
-- jni.srcDirs = [] // This prevents the auto generation of Android.mk
-+ externalNativeBuild {
-+ ndkBuild {
-+ path 'src/main/jni/Android.mk'
-+ }
- }
- }
-
-diff --git a/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk
-deleted file mode 120000
-index fb30867..0000000
---- a/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk
-+++ /dev/null
-@@ -1 +0,0 @@
--../../../../ijkplayer-armv7a/src/main/jni/Android.mk
-\ No newline at end of file
-diff --git a/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk
-new file mode 100644
-index 0000000..a126226
---- /dev/null
-+++ b/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk
-@@ -0,0 +1,28 @@
-+# copyright (c) 2013 Zhang Rui
-+#
-+# This file is part of ijkPlayer.
-+#
-+# ijkPlayer is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Lesser General Public
-+# License as published by the Free Software Foundation; either
-+# version 2.1 of the License, or (at your option) any later version.
-+#
-+# ijkPlayer is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Lesser General Public License for more details.
-+#
-+# You should have received a copy of the GNU Lesser General Public
-+# License along with ijkPlayer; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+
-+LOCAL_PATH := $(call my-dir)
-+
-+MY_APP_JNI_ROOT := $(realpath $(LOCAL_PATH))
-+MY_APP_PRJ_ROOT := $(realpath $(MY_APP_JNI_ROOT)/..)
-+MY_APP_ANDROID_ROOT := $(realpath $(MY_APP_PRJ_ROOT)/../../../..)
-+
-+MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-armv7a/output)
-+MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-+
-+include $(call all-subdir-makefiles)
-diff --git a/android/ijkplayer/settings.gradle b/android/ijkplayer/settings.gradle
-index 758234a..a3c9164 100644
---- a/android/ijkplayer/settings.gradle
-+++ b/android/ijkplayer/settings.gradle
-@@ -1,6 +1,6 @@
--include ':ijkplayer-armv5', ':ijkplayer-x86_64'
--include ':ijkplayer-armv7a'
--include ':ijkplayer-arm64'
-+//include ':ijkplayer-armv5', ':ijkplayer-x86_64'
-+//include ':ijkplayer-armv7a'
-+//include ':ijkplayer-arm64'
- include ':ijkplayer-x86'
-
- include ':ijkplayer-java'
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0003-x86_64-enable-debugging-with-LLDB.patch b/android/patches/0003-x86_64-enable-debugging-with-LLDB.patch
deleted file mode 100644
index 8f2cb760e0..0000000000
--- a/android/patches/0003-x86_64-enable-debugging-with-LLDB.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 7797e3b03276d391746e47e0e81eedfe3ddfec66 Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Mon, 29 Aug 2016 17:01:10 +0800
-Subject: [PATCH] x86_64: enable debugging with LLDB
-
----
- android/ijkplayer/ijkplayer-example/build.gradle | 16 ++++++------
- android/ijkplayer/ijkplayer-x86_64/build.gradle | 20 ++++++++++++---
- .../ijkplayer-x86_64/src/main/jni/Android.mk | 29 +++++++++++++++++++++-
- android/ijkplayer/settings.gradle | 8 +++---
- 4 files changed, 57 insertions(+), 16 deletions(-)
- mode change 120000 => 100644 android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk
-
-diff --git a/android/ijkplayer/ijkplayer-example/build.gradle b/android/ijkplayer/ijkplayer-example/build.gradle
-index 9afe650..9f169ad 100644
---- a/android/ijkplayer/ijkplayer-example/build.gradle
-+++ b/android/ijkplayer/ijkplayer-example/build.gradle
-@@ -44,14 +44,14 @@ dependencies {
- compile project(':ijkplayer-java')
- compile project(':ijkplayer-exo')
-
-- all32Compile project(':ijkplayer-armv5')
-- all32Compile project(':ijkplayer-armv7a')
-- all32Compile project(':ijkplayer-x86')
--
-- all64Compile project(':ijkplayer-armv5')
-- all64Compile project(':ijkplayer-armv7a')
-- all64Compile project(':ijkplayer-arm64')
-- all64Compile project(':ijkplayer-x86')
-+// all32Compile project(':ijkplayer-armv5')
-+// all32Compile project(':ijkplayer-armv7a')
-+// all32Compile project(':ijkplayer-x86')
-+//
-+// all64Compile project(':ijkplayer-armv5')
-+// all64Compile project(':ijkplayer-armv7a')
-+// all64Compile project(':ijkplayer-arm64')
-+// all64Compile project(':ijkplayer-x86')
- all64Compile project(':ijkplayer-x86_64')
-
- // armv5Compile project(':player-armv5')
-diff --git a/android/ijkplayer/ijkplayer-x86_64/build.gradle b/android/ijkplayer/ijkplayer-x86_64/build.gradle
-index a8cbe0c..b4a6673 100644
---- a/android/ijkplayer/ijkplayer-x86_64/build.gradle
-+++ b/android/ijkplayer/ijkplayer-x86_64/build.gradle
-@@ -10,16 +10,30 @@ android {
- defaultConfig {
- minSdkVersion 21
- targetSdkVersion rootProject.ext.targetSdkVersion
-+ externalNativeBuild {
-+ ndkBuild {
-+ arguments "NDK_APPLICATION_MK:=src/main/jni/Application.mk"
-+ abiFilters "x86_64"
-+ }
-+ }
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
-+ debug {
-+ debuggable true
-+ jniDebuggable true
-+ ndk {
-+ debuggable true
-+ }
-+ }
- }
-- sourceSets.main {
-- jniLibs.srcDirs 'src/main/libs'
-- jni.srcDirs = [] // This prevents the auto generation of Android.mk
-+ externalNativeBuild {
-+ ndkBuild {
-+ path 'src/main/jni/Android.mk'
-+ }
- }
- }
-
-diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk
-deleted file mode 120000
-index fb30867..0000000
---- a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk
-+++ /dev/null
-@@ -1 +0,0 @@
--../../../../ijkplayer-armv7a/src/main/jni/Android.mk
-\ No newline at end of file
-diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk
-new file mode 100644
-index 0000000..273aa7b
---- /dev/null
-+++ b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk
-@@ -0,0 +1,28 @@
-+# copyright (c) 2013 Zhang Rui
-+#
-+# This file is part of ijkPlayer.
-+#
-+# ijkPlayer is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU Lesser General Public
-+# License as published by the Free Software Foundation; either
-+# version 2.1 of the License, or (at your option) any later version.
-+#
-+# ijkPlayer is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Lesser General Public License for more details.
-+#
-+# You should have received a copy of the GNU Lesser General Public
-+# License along with ijkPlayer; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+
-+LOCAL_PATH := $(call my-dir)
-+
-+MY_APP_JNI_ROOT := $(realpath $(LOCAL_PATH))
-+MY_APP_PRJ_ROOT := $(realpath $(MY_APP_JNI_ROOT)/..)
-+MY_APP_ANDROID_ROOT := $(realpath $(MY_APP_PRJ_ROOT)/../../../..)
-+
-+MY_APP_FFMPEG_OUTPUT_PATH := $(realpath $(MY_APP_ANDROID_ROOT)/contrib/build/ffmpeg-x86_64/output)
-+MY_APP_FFMPEG_INCLUDE_PATH := $(realpath $(MY_APP_FFMPEG_OUTPUT_PATH)/include)
-+
-+include $(call all-subdir-makefiles)
-diff --git a/android/ijkplayer/settings.gradle b/android/ijkplayer/settings.gradle
-index 758234a..f1f857f 100644
---- a/android/ijkplayer/settings.gradle
-+++ b/android/ijkplayer/settings.gradle
-@@ -1,7 +1,7 @@
--include ':ijkplayer-armv5', ':ijkplayer-x86_64'
--include ':ijkplayer-armv7a'
--include ':ijkplayer-arm64'
--include ':ijkplayer-x86'
-+include ':ijkplayer-x86_64'
-+//include ':ijkplayer-armv7a'
-+//include ':ijkplayer-arm64'
-+//include ':ijkplayer-x86'
-
- include ':ijkplayer-java'
- include ':ijkplayer-exo'
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0004-arm64-link-prebuilt-staic-libraries-of-ffmepg.patch b/android/patches/0004-arm64-link-prebuilt-staic-libraries-of-ffmepg.patch
deleted file mode 120000
index fbde60c7c2..0000000000
--- a/android/patches/0004-arm64-link-prebuilt-staic-libraries-of-ffmepg.patch
+++ /dev/null
@@ -1 +0,0 @@
-0004-armv7a-link-prebuilt-staic-libraries-of-ffmepg.patch
\ No newline at end of file
diff --git a/android/patches/0004-armv5-link-prebuilt-staic-libraries-of-ffmepg.patch b/android/patches/0004-armv5-link-prebuilt-staic-libraries-of-ffmepg.patch
deleted file mode 120000
index fbde60c7c2..0000000000
--- a/android/patches/0004-armv5-link-prebuilt-staic-libraries-of-ffmepg.patch
+++ /dev/null
@@ -1 +0,0 @@
-0004-armv7a-link-prebuilt-staic-libraries-of-ffmepg.patch
\ No newline at end of file
diff --git a/android/patches/0004-armv7a-link-prebuilt-staic-libraries-of-ffmepg.patch b/android/patches/0004-armv7a-link-prebuilt-staic-libraries-of-ffmepg.patch
deleted file mode 100644
index 69761ce4f7..0000000000
--- a/android/patches/0004-armv7a-link-prebuilt-staic-libraries-of-ffmepg.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From fb17b98cfeb265e09220568df17cc493192e6ebe Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Fri, 2 Sep 2016 16:39:02 +0800
-Subject: [PATCH] armv7a: link prebuilt staic libraries of ffmepg
-
----
- .../src/main/jni/ffmpeg/Android.mk | 42 ++++++++++++++++++++--
- .../danmaku/ijk/media/player/IjkMediaPlayer.java | 1 -
- ijkmedia/ijkplayer/Android.mk | 6 ++--
- ijkmedia/ijksdl/Android.mk | 4 +--
- 4 files changed, 44 insertions(+), 9 deletions(-)
-
-diff --git a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk b/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk
-index ec33908..3c525bd 100644
---- a/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk
-+++ b/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk
-@@ -1,6 +1,42 @@
- LOCAL_PATH := $(call my-dir)
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avcodec
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavcodec.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avformat
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavformat.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := swscale
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libswscale.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_OUTPUT_PATH)/include
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avutil
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavutil.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avfilter
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavfilter.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-
- include $(CLEAR_VARS)
--LOCAL_MODULE := ijkffmpeg
--LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
--include $(PREBUILT_SHARED_LIBRARY)
-\ No newline at end of file
-+LOCAL_MODULE := swresample
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libswresample.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java b/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-index 985f848..7ad3fe4 100755
---- a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-+++ b/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-@@ -165,7 +165,6 @@ public final class IjkMediaPlayer extends AbstractMediaPlayer {
- if (libLoader == null)
- libLoader = sLocalLibLoader;
-
-- libLoader.loadLibrary("ijkffmpeg");
- libLoader.loadLibrary("ijksdl");
- libLoader.loadLibrary("ijkplayer");
- mIsLibLoaded = true;
-diff --git a/ijkmedia/ijkplayer/Android.mk b/ijkmedia/ijkplayer/Android.mk
-index 92372ab..6c9270d 100644
---- a/ijkmedia/ijkplayer/Android.mk
-+++ b/ijkmedia/ijkplayer/Android.mk
-@@ -26,7 +26,7 @@ ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
- LOCAL_CFLAGS += -mfloat-abi=soft
- endif
- LOCAL_CFLAGS += -std=c99
--LOCAL_LDLIBS += -llog -landroid
-+LOCAL_LDLIBS += -llog -landroid -lm -lz
-
- LOCAL_C_INCLUDES += $(LOCAL_PATH)
- LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH)/..)
-@@ -59,8 +59,8 @@ LOCAL_SRC_FILES += ijkavformat/ijkurlhook.c
- LOCAL_SRC_FILES += ijkavformat/ijklongurl.c
- LOCAL_SRC_FILES += ijkavformat/ijksegment.c
-
--LOCAL_SHARED_LIBRARIES := ijkffmpeg ijksdl
--LOCAL_STATIC_LIBRARIES := android-ndk-profiler
-+LOCAL_SHARED_LIBRARIES := ijksdl
-+LOCAL_STATIC_LIBRARIES := avformat avcodec swscale swresample avfilter avutil android-ndk-profiler
-
- LOCAL_MODULE := ijkplayer
- include $(BUILD_SHARED_LIBRARY)
-diff --git a/ijkmedia/ijksdl/Android.mk b/ijkmedia/ijksdl/Android.mk
-index 08ebbab..4f6d804 100644
---- a/ijkmedia/ijksdl/Android.mk
-+++ b/ijkmedia/ijksdl/Android.mk
-@@ -70,8 +70,8 @@ LOCAL_SRC_FILES += android/ijksdl_vout_android_nativewindow.c
- LOCAL_SRC_FILES += android/ijksdl_vout_android_surface.c
- LOCAL_SRC_FILES += android/ijksdl_vout_overlay_android_mediacodec.c
-
--LOCAL_SHARED_LIBRARIES := ijkffmpeg ijkj4a
--LOCAL_STATIC_LIBRARIES := cpufeatures yuv_static
-+LOCAL_STATIC_LIBRARIES := avformat avcodec swscale swresample avfilter avutil cpufeatures yuv_static
-+LOCAL_SHARED_LIBRARIES := ijkj4a
-
- LOCAL_MODULE := ijksdl
- include $(BUILD_SHARED_LIBRARY)
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0004-x86-link-prebuilt-staic-libraries-of-ffmepg.patch b/android/patches/0004-x86-link-prebuilt-staic-libraries-of-ffmepg.patch
deleted file mode 100644
index ea06947a0e..0000000000
--- a/android/patches/0004-x86-link-prebuilt-staic-libraries-of-ffmepg.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From e8d39a74162855acb1332bd877f22fe1d881aa61 Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Fri, 2 Sep 2016 17:01:57 +0800
-Subject: [PATCH] x86: link prebuilt staic libraries of ffmepg
-
----
- .../danmaku/ijk/media/player/IjkMediaPlayer.java | 1 -
- .../ijkplayer-x86/src/main/jni/ffmpeg/Android.mk | 43 ++++++++++++++++++++--
- ijkmedia/ijkplayer/Android.mk | 6 +--
- ijkmedia/ijksdl/Android.mk | 4 +-
- 4 files changed, 45 insertions(+), 9 deletions(-)
-
-diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java b/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-index 985f848..7ad3fe4 100755
---- a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-+++ b/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-@@ -165,7 +165,6 @@ public final class IjkMediaPlayer extends AbstractMediaPlayer {
- if (libLoader == null)
- libLoader = sLocalLibLoader;
-
-- libLoader.loadLibrary("ijkffmpeg");
- libLoader.loadLibrary("ijksdl");
- libLoader.loadLibrary("ijkplayer");
- mIsLibLoaded = true;
-diff --git a/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/Android.mk b/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/Android.mk
-index ec33908..44c50b1 100644
---- a/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/Android.mk
-+++ b/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/Android.mk
-@@ -1,6 +1,43 @@
- LOCAL_PATH := $(call my-dir)
-
- include $(CLEAR_VARS)
--LOCAL_MODULE := ijkffmpeg
--LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
--include $(PREBUILT_SHARED_LIBRARY)
-\ No newline at end of file
-+LOCAL_MODULE := avcodec
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavcodec.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avformat
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavformat.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := swscale
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libswscale.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_OUTPUT_PATH)/include
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avutil
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavutil.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avfilter
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavfilter.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := swresample
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libswresample.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-diff --git a/ijkmedia/ijkplayer/Android.mk b/ijkmedia/ijkplayer/Android.mk
-index 92372ab..6c9270d 100644
---- a/ijkmedia/ijkplayer/Android.mk
-+++ b/ijkmedia/ijkplayer/Android.mk
-@@ -26,7 +26,7 @@ ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
- LOCAL_CFLAGS += -mfloat-abi=soft
- endif
- LOCAL_CFLAGS += -std=c99
--LOCAL_LDLIBS += -llog -landroid
-+LOCAL_LDLIBS += -llog -landroid -lm -lz
-
- LOCAL_C_INCLUDES += $(LOCAL_PATH)
- LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH)/..)
-@@ -59,8 +59,8 @@ LOCAL_SRC_FILES += ijkavformat/ijkurlhook.c
- LOCAL_SRC_FILES += ijkavformat/ijklongurl.c
- LOCAL_SRC_FILES += ijkavformat/ijksegment.c
-
--LOCAL_SHARED_LIBRARIES := ijkffmpeg ijksdl
--LOCAL_STATIC_LIBRARIES := android-ndk-profiler
-+LOCAL_SHARED_LIBRARIES := ijksdl
-+LOCAL_STATIC_LIBRARIES := avformat avcodec swscale swresample avfilter avutil android-ndk-profiler
-
- LOCAL_MODULE := ijkplayer
- include $(BUILD_SHARED_LIBRARY)
-diff --git a/ijkmedia/ijksdl/Android.mk b/ijkmedia/ijksdl/Android.mk
-index 08ebbab..4f6d804 100644
---- a/ijkmedia/ijksdl/Android.mk
-+++ b/ijkmedia/ijksdl/Android.mk
-@@ -70,8 +70,8 @@ LOCAL_SRC_FILES += android/ijksdl_vout_android_nativewindow.c
- LOCAL_SRC_FILES += android/ijksdl_vout_android_surface.c
- LOCAL_SRC_FILES += android/ijksdl_vout_overlay_android_mediacodec.c
-
--LOCAL_SHARED_LIBRARIES := ijkffmpeg ijkj4a
--LOCAL_STATIC_LIBRARIES := cpufeatures yuv_static
-+LOCAL_STATIC_LIBRARIES := avformat avcodec swscale swresample avfilter avutil cpufeatures yuv_static
-+LOCAL_SHARED_LIBRARIES := ijkj4a
-
- LOCAL_MODULE := ijksdl
- include $(BUILD_SHARED_LIBRARY)
---
-2.7.4 (Apple Git-66)
-
diff --git a/android/patches/0004-x86_64-link-prebuilt-staic-libraries-of-ffmepg.patch b/android/patches/0004-x86_64-link-prebuilt-staic-libraries-of-ffmepg.patch
deleted file mode 100644
index 09cce72491..0000000000
--- a/android/patches/0004-x86_64-link-prebuilt-staic-libraries-of-ffmepg.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From f123440d855e912f4ce94f48d06a84caffb9bfe2 Mon Sep 17 00:00:00 2001
-From: ctiao
-Date: Fri, 2 Sep 2016 17:06:00 +0800
-Subject: [PATCH] x86_64: link prebuilt staic libraries of ffmepg
-
----
- .../danmaku/ijk/media/player/IjkMediaPlayer.java | 1 -
- .../src/main/jni/ffmpeg/Android.mk | 42 ++++++++++++++++++++--
- ijkmedia/ijkplayer/Android.mk | 6 ++--
- ijkmedia/ijksdl/Android.mk | 4 +--
- 4 files changed, 44 insertions(+), 9 deletions(-)
-
-diff --git a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java b/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-index 985f848..7ad3fe4 100755
---- a/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-+++ b/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java
-@@ -165,7 +165,6 @@ public final class IjkMediaPlayer extends AbstractMediaPlayer {
- if (libLoader == null)
- libLoader = sLocalLibLoader;
-
-- libLoader.loadLibrary("ijkffmpeg");
- libLoader.loadLibrary("ijksdl");
- libLoader.loadLibrary("ijkplayer");
- mIsLibLoaded = true;
-diff --git a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/Android.mk b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/Android.mk
-index ec33908..3c525bd 100644
---- a/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/Android.mk
-+++ b/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/Android.mk
-@@ -1,6 +1,42 @@
- LOCAL_PATH := $(call my-dir)
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avcodec
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavcodec.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avformat
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavformat.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := swscale
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libswscale.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_OUTPUT_PATH)/include
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avutil
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavutil.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-+
-+include $(CLEAR_VARS)
-+LOCAL_MODULE := avfilter
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libavfilter.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-
- include $(CLEAR_VARS)
--LOCAL_MODULE := ijkffmpeg
--LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
--include $(PREBUILT_SHARED_LIBRARY)
-\ No newline at end of file
-+LOCAL_MODULE := swresample
-+LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/lib/libswresample.a
-+LOCAL_EXPORT_C_INCLUDES := $(MY_APP_FFMPEG_INCLUDE_PATH)
-+LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-+include $(PREBUILT_STATIC_LIBRARY)
-diff --git a/ijkmedia/ijkplayer/Android.mk b/ijkmedia/ijkplayer/Android.mk
-index 92372ab..6c9270d 100644
---- a/ijkmedia/ijkplayer/Android.mk
-+++ b/ijkmedia/ijkplayer/Android.mk
-@@ -26,7 +26,7 @@ ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
- LOCAL_CFLAGS += -mfloat-abi=soft
- endif
- LOCAL_CFLAGS += -std=c99
--LOCAL_LDLIBS += -llog -landroid
-+LOCAL_LDLIBS += -llog -landroid -lm -lz
-
- LOCAL_C_INCLUDES += $(LOCAL_PATH)
- LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH)/..)
-@@ -59,8 +59,8 @@ LOCAL_SRC_FILES += ijkavformat/ijkurlhook.c
- LOCAL_SRC_FILES += ijkavformat/ijklongurl.c
- LOCAL_SRC_FILES += ijkavformat/ijksegment.c
-
--LOCAL_SHARED_LIBRARIES := ijkffmpeg ijksdl
--LOCAL_STATIC_LIBRARIES := android-ndk-profiler
-+LOCAL_SHARED_LIBRARIES := ijksdl
-+LOCAL_STATIC_LIBRARIES := avformat avcodec swscale swresample avfilter avutil android-ndk-profiler
-
- LOCAL_MODULE := ijkplayer
- include $(BUILD_SHARED_LIBRARY)
-diff --git a/ijkmedia/ijksdl/Android.mk b/ijkmedia/ijksdl/Android.mk
-index 08ebbab..4f6d804 100644
---- a/ijkmedia/ijksdl/Android.mk
-+++ b/ijkmedia/ijksdl/Android.mk
-@@ -70,8 +70,8 @@ LOCAL_SRC_FILES += android/ijksdl_vout_android_nativewindow.c
- LOCAL_SRC_FILES += android/ijksdl_vout_android_surface.c
- LOCAL_SRC_FILES += android/ijksdl_vout_overlay_android_mediacodec.c
-
--LOCAL_SHARED_LIBRARIES := ijkffmpeg ijkj4a
--LOCAL_STATIC_LIBRARIES := cpufeatures yuv_static
-+LOCAL_STATIC_LIBRARIES := avformat avcodec swscale swresample avfilter avutil cpufeatures yuv_static
-+LOCAL_SHARED_LIBRARIES := ijkj4a
-
- LOCAL_MODULE := ijksdl
- include $(BUILD_SHARED_LIBRARY)
---
-2.7.4 (Apple Git-66)
-
diff --git a/config/module-default.sh b/config/module-default.sh
deleted file mode 100755
index 9f02c4e434..0000000000
--- a/config/module-default.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#! /usr/bin/env bash
-
-#--------------------
-# Standard options:
-export COMMON_FF_CFG_FLAGS=
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --prefix=PREFIX"
-
-# Licensing options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gpl"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-version3"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-nonfree"
-
-# Configuration options:
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-static"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-shared"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-small"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-runtime-cpudetect"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gray"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-swscale-alpha"
-
-# Program options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-programs"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffmpeg"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffplay"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffprobe"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffserver"
-
-# Documentation options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-doc"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-htmlpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-manpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-podpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-txtpages"
-
-# Component options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avdevice"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avcodec"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avformat"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avutil"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-swresample"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-swscale"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-postproc"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avfilter"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avresample"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-pthreads"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-w32threads"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-os2threads"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-network"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dct"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dwt"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-lsp"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-lzo"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mdct"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-rdft"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fft"
-
-# Hardware accelerators:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dxva2"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vaapi"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vda"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vdpau"
-
-# Individual component options:
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-everything"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-encoders"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-decoders"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-hwaccels"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-muxers"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-demuxers"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-parsers"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsfs"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocols"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-devices"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-filters"
-
-# External library support:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-iconv"
-# ...
-
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=async"
-
-# Advanced options (experts only):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cross-prefix=${FF_CROSS_PREFIX}-"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-cross-compile"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --sysroot=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --sysinclude=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-os=TAGET_OS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-exec=CMD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-path=DIR"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --toolchain=NAME"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --nm=NM"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --ar=AR"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --as=AS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --yasmexe=EXE"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cc=CC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cxx=CXX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --dep-cc=DEPCC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --ld=LD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cc=HOSTCC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cflags=HCFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cppflags=HCPPFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-ld=HOSTLD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-ldflags=HLDFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-libs=HLIBS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-os=OS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-cflags=ECFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-cxxflags=ECFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-ldflags=ELDFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-libs=ELIBS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-version=STRING"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --optflags=OPTFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --build-suffix=SUFFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --malloc-prefix=PREFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --progs-suffix=SUFFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --arch=ARCH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cpu=CPU"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-pic"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-sram"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-thumb"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-symver"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-hardcoded-tables"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-safe-bitstream-reader"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memalign-hack"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-lto"
-
-# Optimization options (experts only):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-asm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-altivec"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-amd3dnow"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-amd3dnowext"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mmx"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mmxext"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse3"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ssse3"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse4"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse42"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avx"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fma4"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv5te"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv6"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv6t2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vfp"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-neon"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vis"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-inline-asm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-yasm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mips32r2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsdspr1"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsdspr2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsfpu"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fast-unaligned"
-
-# Developer options (useful when working on FFmpeg itself):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-coverage"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-debug"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug=LEVEL"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-optimizations"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-extra-warnings"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-stripping"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --assert-level=level"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memory-poisoning"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --valgrind=VALGRIND"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-ftrapv"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --samples=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-xmm-clobber-test"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random=LIST"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random=LIST"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --random-seed=VALUE"
\ No newline at end of file
diff --git a/config/module-lite-hevc.sh b/config/module-lite-hevc.sh
deleted file mode 100755
index 1c30d22488..0000000000
--- a/config/module-lite-hevc.sh
+++ /dev/null
@@ -1,241 +0,0 @@
-#! /usr/bin/env bash
-
-#--------------------
-# Standard options:
-export COMMON_FF_CFG_FLAGS=
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --prefix=PREFIX"
-
-# Licensing options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gpl"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-version3"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-nonfree"
-
-# Configuration options:
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-static"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-shared"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-small"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-runtime-cpudetect"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gray"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-swscale-alpha"
-
-# Program options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-programs"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffmpeg"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffplay"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffprobe"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffserver"
-
-# Documentation options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-doc"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-htmlpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-manpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-podpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-txtpages"
-
-# Component options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avdevice"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avcodec"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avformat"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avutil"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-swresample"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-swscale"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-postproc"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avfilter"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avresample"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-pthreads"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-w32threads"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-os2threads"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-network"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dct"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dwt"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-lsp"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-lzo"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mdct"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-rdft"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fft"
-
-# Hardware accelerators:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dxva2"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vaapi"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vda"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vdpau"
-
-# Individual component options:
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-everything"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-encoders"
-
-# ./configure --list-decoders
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-decoders"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=aac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=aac_latm"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=flv"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h263"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h263i"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h263p"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h264"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mp3*"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp6"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp6a"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp6f"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=hevc"
-
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-hwaccels"
-
-# ./configure --list-muxers
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-muxers"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-muxer=mpegts"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-muxer=mp4"
-
-# ./configure --list-demuxers
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-demuxers"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=aac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=concat"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=data"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=flv"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=hls"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=latm"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=live_flv"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=loas"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=m4v"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mov"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mp3"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegps"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegts"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegvideo"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=hevc"
-
-# ./configure --list-parsers
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-parsers"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=aac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=aac_latm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=ac3"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=h263"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=h264"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=hevc"
-
-# ./configure --list-bsf
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-bsfs"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mjpeg2jpeg"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mjpeg2jpeg"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mjpega_dump_header"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mov2textsub"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=text2movsub"
-
-# ./configure --list-protocols
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocols"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=async"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=bluray"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=ffrtmpcrypt"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=ffrtmphttp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=gopher"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=librtmp*"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=libssh"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=mmsh"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=mmst"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=rtmp*"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtmp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtmpt"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=rtp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=sctp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=srtp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=unix"
-
-#
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-devices"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-filters"
-
-# External library support:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-iconv"
-# ...
-
-# Advanced options (experts only):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cross-prefix=${FF_CROSS_PREFIX}-"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-cross-compile"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --sysroot=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --sysinclude=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-os=TAGET_OS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-exec=CMD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-path=DIR"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --toolchain=NAME"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --nm=NM"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --ar=AR"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --as=AS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --yasmexe=EXE"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cc=CC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cxx=CXX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --dep-cc=DEPCC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --ld=LD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cc=HOSTCC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cflags=HCFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cppflags=HCPPFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-ld=HOSTLD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-ldflags=HLDFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-libs=HLIBS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-os=OS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-cflags=ECFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-cxxflags=ECFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-ldflags=ELDFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-libs=ELIBS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-version=STRING"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --optflags=OPTFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --build-suffix=SUFFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --malloc-prefix=PREFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --progs-suffix=SUFFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --arch=ARCH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cpu=CPU"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-pic"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-sram"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-thumb"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-symver"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-hardcoded-tables"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-safe-bitstream-reader"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memalign-hack"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-lto"
-
-# Optimization options (experts only):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-asm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-altivec"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-amd3dnow"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-amd3dnowext"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mmx"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mmxext"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse3"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ssse3"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse4"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse42"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avx"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fma4"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv5te"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv6"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv6t2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vfp"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-neon"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vis"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-inline-asm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-yasm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mips32r2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsdspr1"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsdspr2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsfpu"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fast-unaligned"
-
-# Developer options (useful when working on FFmpeg itself):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-coverage"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-debug"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug=LEVEL"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-optimizations"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-extra-warnings"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-stripping"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --assert-level=level"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memory-poisoning"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --valgrind=VALGRIND"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-ftrapv"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --samples=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-xmm-clobber-test"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random=LIST"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random=LIST"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --random-seed=VALUE"
diff --git a/config/module-lite.sh b/config/module-lite.sh
deleted file mode 100755
index fffdfc0e7d..0000000000
--- a/config/module-lite.sh
+++ /dev/null
@@ -1,261 +0,0 @@
-#! /usr/bin/env bash
-
-#--------------------
-# Standard options:
-export COMMON_FF_CFG_FLAGS=
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --prefix=PREFIX"
-
-# Licensing options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gpl"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-version3"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-nonfree"
-
-# Configuration options:
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-static"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-shared"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-small"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-runtime-cpudetect"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-gray"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-swscale-alpha"
-
-# Program options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-programs"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffmpeg"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffplay"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffprobe"
-#export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffserver"
-
-# Documentation options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-doc"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-htmlpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-manpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-podpages"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-txtpages"
-
-# Component options:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avdevice"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avcodec"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avformat"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avutil"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-swresample"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-swscale"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-postproc"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-avfilter"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avresample"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-pthreads"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-w32threads"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-os2threads"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-network"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dct"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dwt"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-lsp"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-lzo"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mdct"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-rdft"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fft"
-
-# Hardware accelerators:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-d3d11va"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-dxva2"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vaapi"
-#export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vda"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vdpau"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-videotoolbox"
-
-# Individual component options:
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-everything"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-encoders"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-encoder=png"
-
-# ./configure --list-decoders
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-decoders"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=aac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=aac_latm"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=flv"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=h264"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mp3*"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp6f"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=flac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=hevc"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp8"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=vp9"
-
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-hwaccels"
-
-# ./configure --list-muxers
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-muxers"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-muxer=mp4"
-
-# ./configure --list-demuxers
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-demuxers"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=ijk*"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=aac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=concat"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=data"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=flv"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=hls"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=live_flv"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mov"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mp3"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegps"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegts"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mpegvideo"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=flac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=hevc"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=webm_dash_manifest"
-
-# ./configure --list-parsers
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-parsers"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=aac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=aac_latm"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=h264"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=flac"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-parser=hevc"
-
-# ./configure --list-bsf
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-bsfs"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=chomp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=dca_core"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=dump_extradata"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=hevc_mp4toannexb"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=imx_dump_header"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mjpeg2jpeg"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mjpega_dump_header"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mov2textsub"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mp3_header_decompress"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=mpeg4_unpack_bframes"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=noise"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=remove_extradata"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=text2movsub"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=vp9_superframe"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bsf=eac3_core"
-
-# ./configure --list-protocols
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocols"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=async"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=bluray"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=concat"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=crypto"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=ffrtmpcrypt"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=ffrtmphttp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=gopher"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=icecast"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=librtmp*"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=libssh"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=md5"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=mmsh"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=mmst"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=rtmp*"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtmp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtmpt"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=rtp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=sctp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=srtp"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=subfile"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-protocol=unix"
-
-#
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-devices"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-filters"
-
-# External library support:
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-iconv"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-audiotoolbox"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-videotoolbox"
-
-# ...
-
-# Advanced options (experts only):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cross-prefix=${FF_CROSS_PREFIX}-"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-cross-compile"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --sysroot=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --sysinclude=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-os=TAGET_OS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-exec=CMD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --target-path=DIR"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --toolchain=NAME"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --nm=NM"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --ar=AR"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --as=AS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --yasmexe=EXE"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cc=CC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cxx=CXX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --dep-cc=DEPCC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --ld=LD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cc=HOSTCC"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cflags=HCFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-cppflags=HCPPFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-ld=HOSTLD"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-ldflags=HLDFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-libs=HLIBS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --host-os=OS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-cflags=ECFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-cxxflags=ECFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-ldflags=ELDFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-libs=ELIBS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --extra-version=STRING"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --optflags=OPTFLAGS"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --build-suffix=SUFFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --malloc-prefix=PREFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --progs-suffix=SUFFIX"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --arch=ARCH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --cpu=CPU"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-pic"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-sram"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-thumb"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-symver"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-hardcoded-tables"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-safe-bitstream-reader"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memalign-hack"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-lto"
-
-# Optimization options (experts only):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-asm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-altivec"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-amd3dnow"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-amd3dnowext"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mmx"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mmxext"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse3"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ssse3"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse4"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-sse42"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avx"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fma4"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv5te"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv6"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-armv6t2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vfp"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-neon"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vis"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-inline-asm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-yasm"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mips32r2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsdspr1"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsdspr2"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-mipsfpu"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-fast-unaligned"
-
-# Developer options (useful when working on FFmpeg itself):
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-coverage"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-debug"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-debug=LEVEL"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-optimizations"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-extra-warnings"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-stripping"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --assert-level=level"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-memory-poisoning"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --valgrind=VALGRIND"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-ftrapv"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --samples=PATH"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-xmm-clobber-test"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-random=LIST"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-random=LIST"
-# export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --random-seed=VALUE"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"
-export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bzlib"
-
diff --git a/config/module.sh b/config/module.sh
deleted file mode 120000
index 0f16f539b1..0000000000
--- a/config/module.sh
+++ /dev/null
@@ -1 +0,0 @@
-module-lite.sh
\ No newline at end of file
diff --git a/extra/init-extra.sh b/extra/init-extra.sh
deleted file mode 100755
index 05850a95b6..0000000000
--- a/extra/init-extra.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-ln -s /opt/ijkplayer/ffmpeg
-ln -s /opt/ijkplayer/gas-preprocessor
-ln -s /opt/ijkplayer/libyuv
-ln -s /opt/ijkplayer/openssl
-ln -s /opt/ijkplayer/android-ndk-profiler
-ln -s /opt/ijkplayer/ExoPlayer
-
diff --git a/ijkmedia/Android.mk b/ijkmedia/Android.mk
deleted file mode 100644
index 0071f7ef6c..0000000000
--- a/ijkmedia/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2013 Bilibili
-# copyright (c) 2013 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-LOCAL_PATH := $(call my-dir)
-include $(call all-subdir-makefiles)
diff --git a/ijkmedia/ijkj4a/Android.mk b/ijkmedia/ijkj4a/Android.mk
deleted file mode 100644
index 37d2bee613..0000000000
--- a/ijkmedia/ijkj4a/Android.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-# copyright (c) 2016 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_CFLAGS += -std=c99
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)
-LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH))
-
-LOCAL_SRC_FILES += j4a/j4a_allclasses.c
-LOCAL_SRC_FILES += j4a/j4a_base.c
-LOCAL_SRC_FILES += j4a/class/android/media/AudioTrack.c
-LOCAL_SRC_FILES += j4a/class/android/media/MediaCodec.c
-LOCAL_SRC_FILES += j4a/class/android/media/MediaFormat.c
-LOCAL_SRC_FILES += j4a/class/android/media/PlaybackParams.c
-LOCAL_SRC_FILES += j4a/class/android/os/Build.c
-LOCAL_SRC_FILES += j4a/class/android/os/Bundle.c
-LOCAL_SRC_FILES += j4a/class/java/nio/Buffer.c
-LOCAL_SRC_FILES += j4a/class/java/nio/ByteBuffer.c
-LOCAL_SRC_FILES += j4a/class/java/util/ArrayList.c
-LOCAL_SRC_FILES += j4a/class/tv/danmaku/ijk/media/player/misc/IMediaDataSource.c
-LOCAL_SRC_FILES += j4a/class/tv/danmaku/ijk/media/player/misc/IAndroidIO.c
-LOCAL_SRC_FILES += j4a/class/tv/danmaku/ijk/media/player/IjkMediaPlayer.c
-
-LOCAL_SRC_FILES += j4au/class/android/media/AudioTrack.util.c
-LOCAL_SRC_FILES += j4au/class/java/nio/ByteBuffer.util.c
-
-LOCAL_MODULE := ijkj4a
-include $(BUILD_STATIC_LIBRARY)
-
-$(call import-module,android/cpufeatures)
diff --git a/ijkmedia/ijkj4a/Makefile b/ijkmedia/ijkj4a/Makefile
deleted file mode 100644
index 879801ea6e..0000000000
--- a/ijkmedia/ijkj4a/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-J4A = ../../extra/bin/j4a
-ROOT_CLASS_INCLUDES = j4a/j4a_allclasses.include.h
-ROOT_CLASS_LOADERS = j4a/j4a_allclasses.loader.h
-
-all: ijkj4a
-
-# test java -> c
-JAVA_SRCS = \
- java/java/nio/Buffer.java \
- java/java/nio/ByteBuffer.java \
- java/java/util/ArrayList.java \
- java/android/media/AudioTrack.java \
- java/android/media/MediaCodec.java \
- java/android/media/MediaFormat.java \
- java/android/media/PlaybackParams.java \
- java/android/os/Build.java \
- java/android/os/Bundle.java \
- java/tv/danmaku/ijk/media/player/misc/IMediaDataSource.java \
- java/tv/danmaku/ijk/media/player/misc/IAndroidIO.java \
- java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java \
-
-C_SRCS := $(JAVA_SRCS:java/%.java=j4a/class/%.c)
-H_SRCS := $(C_SRCS:%.c=%.h)
-
-$(C_SRCS): j4a/class/%.c: $(J4A)
-
-$(C_SRCS): j4a/class/%.c: java/%.java
-ifneq ("$<", "j4a/class/.c")
- @mkdir -p $(shell dirname $@)
- $(J4A) -c $< -o $@
- @cat j4a/class/$*.include.j4a >> $(ROOT_CLASS_INCLUDES)
- @echo >> $(ROOT_CLASS_INCLUDES)
- @cat j4a/class/$*.loader.j4a >> $(ROOT_CLASS_LOADERS)
- @echo >> $(ROOT_CLASS_LOADERS)
-endif
-
-ijkj4a: prebuild $(C_SRCS)
-
-prebuild:
- @rm -f $(ROOT_CLASS_INCLUDES)
- @rm -f $(ROOT_CLASS_LOADERS)
-
-# -----
-.PHONY: all clean ijkj4a prebuild
-
-clean:
- @rm -f $(C_SRCS)
- @rm -f $(H_SRCS)
- @rm -f $(ROOT_CLASS_INCLUDES)
- @rm -f $(ROOT_CLASS_LOADERS)
diff --git a/ijkmedia/ijkj4a/j4a/j4a_allclasses.c b/ijkmedia/ijkj4a/j4a/j4a_allclasses.c
index 5ef96a791a..262a038568 100644
--- a/ijkmedia/ijkj4a/j4a/j4a_allclasses.c
+++ b/ijkmedia/ijkj4a/j4a/j4a_allclasses.c
@@ -20,7 +20,7 @@
#include "j4a_allclasses.h"
-int J4A_LoadAll__catchAll(JNIEnv *env)
+int J4A_LoadAll__catchAll_sdl(JNIEnv *env)
{
int ret = 0;
diff --git a/ijkmedia/ijkj4a/j4a/j4a_allclasses.h b/ijkmedia/ijkj4a/j4a/j4a_allclasses.h
index b1012ef86d..16029b4364 100644
--- a/ijkmedia/ijkj4a/j4a/j4a_allclasses.h
+++ b/ijkmedia/ijkj4a/j4a/j4a_allclasses.h
@@ -24,4 +24,6 @@
#include "j4a_base.h"
#include "j4a_allclasses.include.h"
+int J4A_LoadAll__catchAll_sdl(JNIEnv *env);
+
#endif
diff --git a/ijkmedia/ijkplayer/Android.mk b/ijkmedia/ijkplayer/Android.mk
deleted file mode 100644
index 552c1142eb..0000000000
--- a/ijkmedia/ijkplayer/Android.mk
+++ /dev/null
@@ -1,88 +0,0 @@
-#
-# Copyright (c) 2013 Bilibili
-# Copyright (c) 2013 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-# -mfloat-abi=soft is a workaround for FP register corruption on Exynos 4210
-# http://www.spinics.net/lists/arm-kernel/msg368417.html
-ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
-LOCAL_CFLAGS += -mfloat-abi=soft
-endif
-LOCAL_CFLAGS += -std=c99
-LOCAL_LDLIBS += -llog -landroid
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)
-LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH)/..)
-LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH)/../ijkj4a)
-
-LOCAL_SRC_FILES += ff_cmdutils.c
-LOCAL_SRC_FILES += ff_ffplay.c
-LOCAL_SRC_FILES += ff_ffpipeline.c
-LOCAL_SRC_FILES += ff_ffpipenode.c
-LOCAL_SRC_FILES += ijkmeta.c
-LOCAL_SRC_FILES += ijkplayer.c
-
-LOCAL_SRC_FILES += pipeline/ffpipeline_ffplay.c
-LOCAL_SRC_FILES += pipeline/ffpipenode_ffplay_vdec.c
-
-LOCAL_SRC_FILES += android/ffmpeg_api_jni.c
-LOCAL_SRC_FILES += android/ijkplayer_android.c
-LOCAL_SRC_FILES += android/ijkplayer_jni.c
-
-LOCAL_SRC_FILES += android/pipeline/ffpipeline_android.c
-LOCAL_SRC_FILES += android/pipeline/ffpipenode_android_mediacodec_vdec.c
-
-LOCAL_SRC_FILES += ijkavformat/allformats.c
-LOCAL_SRC_FILES += ijkavformat/cJSON.c
-LOCAL_SRC_FILES += ijkavformat/ijklas.c
-LOCAL_SRC_FILES += ijkavformat/ijklivehook.c
-LOCAL_SRC_FILES += ijkavformat/ijkmediadatasource.c
-LOCAL_SRC_FILES += ijkavformat/ijkio.c
-LOCAL_SRC_FILES += ijkavformat/ijkiomanager.c
-LOCAL_SRC_FILES += ijkavformat/ijkiocache.c
-LOCAL_SRC_FILES += ijkavformat/ijkioffio.c
-LOCAL_SRC_FILES += ijkavformat/ijkioandroidio.c
-LOCAL_SRC_FILES += ijkavformat/ijkioprotocol.c
-LOCAL_SRC_FILES += ijkavformat/ijkioapplication.c
-LOCAL_SRC_FILES += ijkavformat/ijkiourlhook.c
-
-LOCAL_SRC_FILES += ijkavformat/ijkasync.c
-LOCAL_SRC_FILES += ijkavformat/ijkurlhook.c
-LOCAL_SRC_FILES += ijkavformat/ijklongurl.c
-LOCAL_SRC_FILES += ijkavformat/ijksegment.c
-
-LOCAL_SRC_FILES += ijkavutil/ijkdict.c
-LOCAL_SRC_FILES += ijkavutil/ijkutils.c
-LOCAL_SRC_FILES += ijkavutil/ijkthreadpool.c
-LOCAL_SRC_FILES += ijkavutil/ijktree.c
-LOCAL_SRC_FILES += ijkavutil/ijkfifo.c
-LOCAL_SRC_FILES += ijkavutil/ijkstl.cpp
-
-LOCAL_SHARED_LIBRARIES := ijkffmpeg ijksdl
-LOCAL_STATIC_LIBRARIES := android-ndk-profiler ijksoundtouch
-
-LOCAL_MODULE := ijkplayer
-
-VERSION_SH = $(LOCAL_PATH)/version.sh
-VERSION_H = ijkversion.h
-$(info $(shell ($(VERSION_SH) $(LOCAL_PATH) $(VERSION_H))))
-include $(BUILD_SHARED_LIBRARY)
diff --git a/ijkmedia/ijkplayer/android/ijkplayer_jni.c b/ijkmedia/ijkplayer/android/ijkplayer_jni.c
index b5a50e7d6a..df4e33c4b5 100755
--- a/ijkmedia/ijkplayer/android/ijkplayer_jni.c
+++ b/ijkmedia/ijkplayer/android/ijkplayer_jni.c
@@ -49,8 +49,6 @@
JNI_CHECK_GOTO((retval != EIJK_OUT_OF_MEMORY), env, "java/lang/OutOfMemoryError", NULL, label); \
JNI_CHECK_GOTO((retval == 0), env, JNI_IJK_MEDIA_EXCEPTION, NULL, label);
-static JavaVM* g_jvm;
-
typedef struct player_fields_t {
pthread_mutex_t mutex;
jclass clazz;
@@ -1186,7 +1184,6 @@ JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved)
{
JNIEnv* env = NULL;
- g_jvm = vm;
if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) {
return -1;
}
@@ -1202,6 +1199,8 @@ JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved)
ijkmp_global_set_inject_callback(inject_callback);
FFmpegApi_global_init(env);
+ int retval = JNI_OnLoad_SDL(vm, env);
+ JNI_CHECK_RET(retval == 0, env, NULL, NULL, -1);
return JNI_VERSION_1_4;
}
diff --git a/ijkmedia/ijkplayer/ff_ffplay.c b/ijkmedia/ijkplayer/ff_ffplay.c
index 714a8c9d61..740e0891d8 100755
--- a/ijkmedia/ijkplayer/ff_ffplay.c
+++ b/ijkmedia/ijkplayer/ff_ffplay.c
@@ -86,15 +86,6 @@
#define AV_CODEC_CAP_DR1 CODEC_CAP_DR1
#endif
-// FIXME: 9 work around NDKr8e or gcc4.7 bug
-// isnan() may not recognize some double NAN, so we test both double and float
-#if defined(__ANDROID__)
-#ifdef isnan
-#undef isnan
-#endif
-#define isnan(x) (isnan((double)(x)) || isnanf((float)(x)))
-#endif
-
#if defined(__ANDROID__)
#define printf(...) ALOGD(__VA_ARGS__)
#endif
diff --git a/ijkmedia/ijkplayer/ijkavutil/ijkdict.c b/ijkmedia/ijkplayer/ijkavutil/ijkdict.c
index 5599097363..22b9d02e96 100644
--- a/ijkmedia/ijkplayer/ijkavutil/ijkdict.c
+++ b/ijkmedia/ijkplayer/ijkavutil/ijkdict.c
@@ -26,6 +26,7 @@
#include
#include
#include
+#include
struct IjkAVDictionary {
int count;
diff --git a/ijkmedia/ijksdl/Android.mk b/ijkmedia/ijksdl/Android.mk
deleted file mode 100644
index 7574a951e2..0000000000
--- a/ijkmedia/ijksdl/Android.mk
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright (c) 2013 Bilibili
-# copyright (c) 2013 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_CFLAGS += -std=c99
-LOCAL_LDLIBS += -llog -landroid -lOpenSLES -lEGL -lGLESv2
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)
-LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH)/..)
-LOCAL_C_INCLUDES += $(MY_APP_FFMPEG_INCLUDE_PATH)
-LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH)/../ijkyuv/include)
-LOCAL_C_INCLUDES += $(realpath $(LOCAL_PATH)/../ijkj4a)
-
-LOCAL_SRC_FILES += ijksdl_aout.c
-LOCAL_SRC_FILES += ijksdl_audio.c
-LOCAL_SRC_FILES += ijksdl_egl.c
-LOCAL_SRC_FILES += ijksdl_error.c
-LOCAL_SRC_FILES += ijksdl_mutex.c
-LOCAL_SRC_FILES += ijksdl_stdinc.c
-LOCAL_SRC_FILES += ijksdl_thread.c
-LOCAL_SRC_FILES += ijksdl_timer.c
-LOCAL_SRC_FILES += ijksdl_vout.c
-LOCAL_SRC_FILES += ijksdl_extra_log.c
-LOCAL_SRC_FILES += gles2/color.c
-LOCAL_SRC_FILES += gles2/common.c
-LOCAL_SRC_FILES += gles2/renderer.c
-LOCAL_SRC_FILES += gles2/renderer_rgb.c
-LOCAL_SRC_FILES += gles2/renderer_yuv420p.c
-LOCAL_SRC_FILES += gles2/renderer_yuv444p10le.c
-LOCAL_SRC_FILES += gles2/shader.c
-LOCAL_SRC_FILES += gles2/fsh/rgb.fsh.c
-LOCAL_SRC_FILES += gles2/fsh/yuv420p.fsh.c
-LOCAL_SRC_FILES += gles2/fsh/yuv444p10le.fsh.c
-LOCAL_SRC_FILES += gles2/vsh/mvp.vsh.c
-
-LOCAL_SRC_FILES += dummy/ijksdl_vout_dummy.c
-
-LOCAL_SRC_FILES += ffmpeg/ijksdl_vout_overlay_ffmpeg.c
-LOCAL_SRC_FILES += ffmpeg/abi_all/image_convert.c
-
-LOCAL_SRC_FILES += android/android_audiotrack.c
-LOCAL_SRC_FILES += android/android_nativewindow.c
-LOCAL_SRC_FILES += android/ijksdl_android_jni.c
-LOCAL_SRC_FILES += android/ijksdl_aout_android_audiotrack.c
-LOCAL_SRC_FILES += android/ijksdl_aout_android_opensles.c
-LOCAL_SRC_FILES += android/ijksdl_codec_android_mediacodec_dummy.c
-LOCAL_SRC_FILES += android/ijksdl_codec_android_mediacodec_internal.c
-LOCAL_SRC_FILES += android/ijksdl_codec_android_mediacodec_java.c
-LOCAL_SRC_FILES += android/ijksdl_codec_android_mediacodec.c
-LOCAL_SRC_FILES += android/ijksdl_codec_android_mediadef.c
-LOCAL_SRC_FILES += android/ijksdl_codec_android_mediaformat_java.c
-LOCAL_SRC_FILES += android/ijksdl_codec_android_mediaformat.c
-LOCAL_SRC_FILES += android/ijksdl_vout_android_nativewindow.c
-LOCAL_SRC_FILES += android/ijksdl_vout_android_surface.c
-LOCAL_SRC_FILES += android/ijksdl_vout_overlay_android_mediacodec.c
-
-LOCAL_SHARED_LIBRARIES := ijkffmpeg
-LOCAL_STATIC_LIBRARIES := cpufeatures yuv_static ijkj4a
-
-LOCAL_MODULE := ijksdl
-include $(BUILD_SHARED_LIBRARY)
-
-$(call import-module,android/cpufeatures)
diff --git a/ijkmedia/ijksdl/android/ijksdl_android_jni.c b/ijkmedia/ijksdl/android/ijksdl_android_jni.c
index 5b4685be24..6c0b7dda09 100644
--- a/ijkmedia/ijksdl/android/ijksdl_android_jni.c
+++ b/ijkmedia/ijksdl/android/ijksdl_android_jni.c
@@ -195,23 +195,28 @@ int SDL_Android_GetApiLevel()
#endif
}
-
-JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
+int JNI_OnLoad_SDL(JavaVM *vm,JNIEnv* env)
{
- int retval;
- JNIEnv* env = NULL;
-
g_jvm = vm;
- if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) {
- return -1;
- }
-
- retval = J4A_LoadAll__catchAll(env);
- JNI_CHECK_RET(retval == 0, env, NULL, NULL, -1);
-
- return JNI_VERSION_1_4;
+ return J4A_LoadAll__catchAll_sdl(env);
}
-JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *reserved)
-{
-}
+//JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
+//{
+// int retval;
+// JNIEnv* env = NULL;
+//
+// g_jvm = vm;
+// if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) {
+// return -1;
+// }
+//
+// retval = J4A_LoadAll__catchAll(env);
+// JNI_CHECK_RET(retval == 0, env, NULL, NULL, -1);
+//
+// return JNI_VERSION_1_4;
+//}
+//
+//JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *reserved)
+//{
+//}
diff --git a/ijkmedia/ijksdl/android/ijksdl_android_jni.h b/ijkmedia/ijksdl/android/ijksdl_android_jni.h
index 76477a9190..1e81244c2b 100644
--- a/ijkmedia/ijksdl/android/ijksdl_android_jni.h
+++ b/ijkmedia/ijksdl/android/ijksdl_android_jni.h
@@ -67,6 +67,7 @@ void SDL_JNI_DeleteGlobalRefP(JNIEnv *env, jobject *obj_ptr);
void SDL_JNI_DeleteLocalRefP(JNIEnv *env, jobject *obj_ptr);
int SDL_Android_GetApiLevel();
+int JNI_OnLoad_SDL(JavaVM *vm, JNIEnv* env);
#define IJK_FIND_JAVA_CLASS(env__, var__, classsign__) \
do { \
diff --git a/ijkmedia/ijksdl/android/ijksdl_aout_android_audiotrack.c b/ijkmedia/ijksdl/android/ijksdl_aout_android_audiotrack.c
index a25e78a155..22ff57ed4a 100644
--- a/ijkmedia/ijksdl/android/ijksdl_aout_android_audiotrack.c
+++ b/ijkmedia/ijksdl/android/ijksdl_aout_android_audiotrack.c
@@ -250,7 +250,9 @@ static void aout_set_volume(SDL_Aout *aout, float left_volume, float right_volum
static void aout_close_audio(SDL_Aout *aout)
{
SDL_Aout_Opaque *opaque = aout->opaque;
-
+ if (NULL == opaque->audio_tid) {
+ return;
+ }
SDL_LockMutex(opaque->wakeup_mutex);
opaque->abort_request = true;
SDL_CondSignal(opaque->wakeup_cond);
diff --git a/ijkmedia/ijksdl/android/ijksdl_aout_android_opensles.c b/ijkmedia/ijksdl/android/ijksdl_aout_android_opensles.c
index fbdbb90e6e..39b2cf9719 100644
--- a/ijkmedia/ijksdl/android/ijksdl_aout_android_opensles.c
+++ b/ijkmedia/ijksdl/android/ijksdl_aout_android_opensles.c
@@ -240,7 +240,9 @@ static void aout_close_audio(SDL_Aout *aout)
SDL_Aout_Opaque *opaque = aout->opaque;
if (!opaque)
return;
-
+ if (NULL == opaque->audio_tid) {
+ return;
+ }
SDL_LockMutex(opaque->wakeup_mutex);
opaque->abort_request = true;
SDL_CondSignal(opaque->wakeup_cond);
diff --git a/ijkmedia/ijksdl/ijksdl_egl.c b/ijkmedia/ijksdl/ijksdl_egl.c
index f2c995ab1a..0f8b99bca5 100644
--- a/ijkmedia/ijksdl/ijksdl_egl.c
+++ b/ijkmedia/ijksdl/ijksdl_egl.c
@@ -29,6 +29,7 @@
#include "ijksdl/ijksdl_log.h"
#include "ijksdl/ijksdl_vout.h"
#include "ijksdl/gles2/internal.h"
+#include
#define IJK_EGL_RENDER_BUFFER 0
diff --git a/ijkmedia/ijksoundtouch/ijksoundtouch_log.h b/ijkmedia/ijksoundtouch/ijksoundtouch_log.h
new file mode 100644
index 0000000000..27543fc48c
--- /dev/null
+++ b/ijkmedia/ijksoundtouch/ijksoundtouch_log.h
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * ijksoundtouch_log.h
+ *****************************************************************************
+ *
+ * Copyright (c) 2017 Bilibili
+ * copyright (c) 2017 Raymond Zheng
+ *
+ * This file is part of ijkPlayer.
+ *
+ * ijkPlayer is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * ijkPlayer is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with ijkPlayer; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef IJKSDL__IJKSOUNDTOUCH_LOG_H
+#define IJKSDL__IJKSOUNDTOUCH_LOG_H
+
+#include
+
+#ifdef __ANDROID__
+
+#include
+
+#define IJK_LOG_UNKNOWN ANDROID_LOG_UNKNOWN
+#define IJK_LOG_DEFAULT ANDROID_LOG_DEFAULT
+
+#define IJK_LOG_VERBOSE ANDROID_LOG_VERBOSE
+#define IJK_LOG_DEBUG ANDROID_LOG_DEBUG
+#define IJK_LOG_INFO ANDROID_LOG_INFO
+#define IJK_LOG_WARN ANDROID_LOG_WARN
+#define IJK_LOG_ERROR ANDROID_LOG_ERROR
+#define IJK_LOG_FATAL ANDROID_LOG_FATAL
+#define IJK_LOG_SILENT ANDROID_LOG_SILENT
+
+#define VLOG(level, TAG, ...) ((void)__android_log_vprint(level, TAG, __VA_ARGS__))
+#define ALOG(level, TAG, ...) ((void)__android_log_print(level, TAG, __VA_ARGS__))
+
+#else
+
+#define IJK_LOG_UNKNOWN 0
+#define IJK_LOG_DEFAULT 1
+
+#define IJK_LOG_VERBOSE 2
+#define IJK_LOG_DEBUG 3
+#define IJK_LOG_INFO 4
+#define IJK_LOG_WARN 5
+#define IJK_LOG_ERROR 6
+#define IJK_LOG_FATAL 7
+#define IJK_LOG_SILENT 8
+
+#define VLOG(level, TAG, ...) ((void)vprintf(__VA_ARGS__))
+#define ALOG(level, TAG, ...) ((void)printf(__VA_ARGS__))
+
+#endif
+
+#define IJK_LOG_TAG "IJKMEDIA"
+
+#define VLOGV(...) VLOG(IJK_LOG_VERBOSE, IJK_LOG_TAG, __VA_ARGS__)
+#define VLOGD(...) VLOG(IJK_LOG_DEBUG, IJK_LOG_TAG, __VA_ARGS__)
+#define VLOGI(...) VLOG(IJK_LOG_INFO, IJK_LOG_TAG, __VA_ARGS__)
+#define VLOGW(...) VLOG(IJK_LOG_WARN, IJK_LOG_TAG, __VA_ARGS__)
+#define VLOGE(...) VLOG(IJK_LOG_ERROR, IJK_LOG_TAG, __VA_ARGS__)
+
+#define ALOGV(...) ALOG(IJK_LOG_VERBOSE, IJK_LOG_TAG, __VA_ARGS__)
+#define ALOGD(...) ALOG(IJK_LOG_DEBUG, IJK_LOG_TAG, __VA_ARGS__)
+#define ALOGI(...) ALOG(IJK_LOG_INFO, IJK_LOG_TAG, __VA_ARGS__)
+#define ALOGW(...) ALOG(IJK_LOG_WARN, IJK_LOG_TAG, __VA_ARGS__)
+#define ALOGE(...) ALOG(IJK_LOG_ERROR, IJK_LOG_TAG, __VA_ARGS__)
+#define LOG_ALWAYS_FATAL(...) do { ALOGE(__VA_ARGS__); exit(1); } while (0)
+
+#endif
diff --git a/ijkmedia/ijksoundtouch/ijksoundtouch_wrap.cpp b/ijkmedia/ijksoundtouch/ijksoundtouch_wrap.cpp
new file mode 100644
index 0000000000..b761e0e900
--- /dev/null
+++ b/ijkmedia/ijksoundtouch/ijksoundtouch_wrap.cpp
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2017 Bilibili
+ * copyright (c) 2017 Raymond Zheng
+ *
+ * This file is part of ijkPlayer.
+ *
+ * ijkPlayer is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * ijkPlayer is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with ijkPlayer; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include
+#include "ijksoundtouch_log.h"
+
+using namespace std;
+
+using namespace soundtouch;
+extern "C" void* ijk_soundtouch_create();
+extern "C" int ijk_soundtouch_translate(void *handle, short* data, float speed, float pitch, int len, int bytes_per_sample, int n_channel, int n_sampleRate);
+extern "C" void ijk_soundtouch_destroy(void *handle);
+
+void* ijk_soundtouch_create() {
+ SoundTouch *handle_ptr = new SoundTouch();
+ return handle_ptr;
+}
+
+int ijk_soundtouch_translate(void *handle, short* data, float speed, float pitch, int len, int bytes_per_sample, int n_channel, int n_sampleRate) {
+ SoundTouch *handle_ptr = (SoundTouch*)handle;
+ int put_n_sample = len / n_channel;
+ int nb = 0;
+ int pcm_data_size = 0;
+ if (handle_ptr == NULL)
+ return 0;
+
+ handle_ptr->setPitch(pitch);
+ handle_ptr->setRate(speed);
+
+ handle_ptr->setSampleRate(n_sampleRate);
+ handle_ptr->setChannels(n_channel);
+
+ handle_ptr->putSamples((SAMPLETYPE*)data, put_n_sample);
+
+ do {
+ nb = handle_ptr->receiveSamples((SAMPLETYPE*)data, n_sampleRate / n_channel);
+ pcm_data_size += nb * n_channel * bytes_per_sample;
+ } while (nb != 0);
+
+ return pcm_data_size;
+}
+
+void ijk_soundtouch_destroy(void *handle) {
+ SoundTouch *handle_ptr = (SoundTouch*)handle;
+ if (handle_ptr == NULL)
+ return;
+ handle_ptr->clear();
+ delete handle_ptr;
+}
\ No newline at end of file
diff --git a/ios/tools/ffversion.h b/ijkmedia/ijksoundtouch/ijksoundtouch_wrap.h
similarity index 58%
rename from ios/tools/ffversion.h
rename to ijkmedia/ijksoundtouch/ijksoundtouch_wrap.h
index 01b6f7bb81..b097efb0d9 100644
--- a/ios/tools/ffversion.h
+++ b/ijkmedia/ijksoundtouch/ijksoundtouch_wrap.h
@@ -1,8 +1,6 @@
/*
- * ffversion.h
- *
- * Copyright (c) 2013 Bilibili
- * Copyright (c) 2013 Zhang Rui
+ * Copyright (c) 2017 Bilibili
+ * copyright (c) 2017 Raymond Zheng
*
* This file is part of ijkPlayer.
*
@@ -21,22 +19,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#if defined(__aarch64__)
-# include "arm64/ffversion.h"
-#elif defined(__x86_64__)
-# include "x86_64/ffversion.h"
-#elif defined(__arm__)
+#ifndef IJKSOUNDTOUCHWRAP_H
+#define IJKSOUNDTOUCHWRAP_H
+
+#include
-# if defined(__ARM_ARCH_7S__)
-# include "armv7s/ffversion.h"
-# elif defined(__ARM_ARCH_7__)
-# include "armv7/ffversion.h"
-# else
-# error Unsupport ARM architecture
-# endif
+void* ijk_soundtouch_create();
+int ijk_soundtouch_translate(void *handle, short* data, float speed, float pitch, int len, int bytes_per_sample, int n_channel, int n_sampleRate);
+void ijk_soundtouch_destroy(void *handle);
-#elif defined(__i386__)
-# include "i386/ffversion.h"
-#else
-# error Unsupport architecture
-#endif
+#endif /* IJKSOUNDTOUCHWRAP_H */
\ No newline at end of file
diff --git a/ijkprof/android-ndk-profiler-dummy/jni/Android-include.mk b/ijkprof/android-ndk-profiler-dummy/jni/Android-include.mk
deleted file mode 100644
index c4d5febafd..0000000000
--- a/ijkprof/android-ndk-profiler-dummy/jni/Android-include.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2013 Bilibili
-# copyright (c) 2013 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-# do nothing here
\ No newline at end of file
diff --git a/ijkprof/android-ndk-profiler-dummy/jni/Android.mk b/ijkprof/android-ndk-profiler-dummy/jni/Android.mk
deleted file mode 100644
index 4a6d00aa53..0000000000
--- a/ijkprof/android-ndk-profiler-dummy/jni/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2015 Bilibili
-# copyright (c) 2015 Zhang Rui
-#
-# This file is part of ijkPlayer.
-#
-# ijkPlayer is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# ijkPlayer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with ijkPlayer; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := android-ndk-profiler
-LOCAL_SRC_FILES := prof.c
-
-include $(BUILD_STATIC_LIBRARY)
diff --git a/init-android-exo.sh b/init-android-exo.sh
deleted file mode 100755
index ade994f71d..0000000000
--- a/init-android-exo.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-IJK_EXO_UPSTREAM=https://github.com/google/ExoPlayer.git
-IJK_EXO_FORK=https://github.com/google/ExoPlayer.git
-IJK_EXO_COMMIT=r1.5.11
-IJK_EXO_LOCAL_REPO=extra/ExoPlayer
-
-set -e
-TOOLS=tools
-
-echo "== pull ExoPlayer base =="
-sh $TOOLS/pull-repo-base.sh $IJK_EXO_UPSTREAM $IJK_EXO_LOCAL_REPO
-
-echo "== pull ExoPlayer fork =="
-cd extra/ExoPlayer
-git checkout ${IJK_EXO_COMMIT} -B ijkplayer
-cd -
-
-SRC_EXO_DIR=extra/ExoPlayer/demo/src/main/java/com/google/android/exoplayer/demo
-DST_EXO_DIR=android/ijkplayer/ijkplayer-exo/src/main/java/tv/danmaku/ijk/media/exo/demo
-
-mkdir -p $DST_EXO_DIR/player
-
-function install_java()
-{
- JAVA_FILE=$1
- cat $SRC_EXO_DIR/$JAVA_FILE \
- | sed "s/^package com.google.android.exoplayer.demo/package tv.danmaku.ijk.media.exo.demo/g" \
- | sed "s/^import com.google.android.exoplayer.demo/import tv.danmaku.ijk.media.exo.demo/g" \
- | sed "s/@link/link/g" \
- > $DST_EXO_DIR/$JAVA_FILE
-}
-
-install_java player/DashRendererBuilder.java
-install_java player/DemoPlayer.java
-install_java player/ExtractorRendererBuilder.java
-install_java player/HlsRendererBuilder.java
-install_java player/SmoothStreamingRendererBuilder.java
-install_java EventLogger.java
-install_java SmoothStreamingTestMediaDrmCallback.java
-# install_java WidevineTestMediaDrmCallback.java
diff --git a/init-android-j4a.sh b/init-android-j4a.sh
deleted file mode 100755
index 512259e3d1..0000000000
--- a/init-android-j4a.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2016 Bilibili
-# Copyright (C) 2016 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-IJK_J4A_UPSTREAM=https://github.com/Bilibili/jni4android.git
-IJK_J4A_FORK=https://github.com/Bilibili/jni4android.git
-IJK_J4A_COMMIT=v0.0.2
-IJK_J4A_LOCAL_REPO=extra/jni4android
-
-set -e
-TOOLS=tools
-
-echo "== pull j4a base =="
-sh $TOOLS/pull-repo-base.sh $IJK_J4A_UPSTREAM $IJK_J4A_LOCAL_REPO
-
-echo "== pull j4a fork =="
-sh $TOOLS/pull-repo-ref.sh $IJK_J4A_FORK extra/jni4android-fork ${IJK_J4A_LOCAL_REPO}
-cd extra/jni4android-fork
-git checkout ${IJK_J4A_COMMIT}
-cd -
diff --git a/init-android-libsoxr.sh b/init-android-libsoxr.sh
deleted file mode 100755
index a00195c48c..0000000000
--- a/init-android-libsoxr.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-IJK_LIBSOXR_UPSTREAM=http://git.code.sf.net/p/soxr/code
-IJK_LIBSOXR_FORK=http://git.code.sf.net/p/soxr/code
-IJK_LIBSOXR_COMMIT=0.1.2
-IJK_LIBSOXR_COMMIT_64=master
-IJK_LIBSOXR_LOCAL_REPO=extra/soxr
-
-set -e
-TOOLS=tools
-
-echo "== pull soxr base =="
-sh $TOOLS/pull-repo-base.sh $IJK_LIBSOXR_UPSTREAM $IJK_LIBSOXR_LOCAL_REPO
-
-function pull_fork()
-{
- echo "== pull soxr fork $1 =="
- sh $TOOLS/pull-repo-ref.sh $IJK_LIBSOXR_FORK android/contrib/libsoxr-$1 ${IJK_LIBSOXR_LOCAL_REPO}
- cp extra/android-cmake/android.toolchain.cmake android/contrib/libsoxr-$1
- cd android/contrib/libsoxr-$1
- case "$1" in
- arm64|x86_64)
- git checkout ${IJK_LIBSOXR_COMMIT_64} -B ijkplayer
- ;;
- *)
- git checkout ${IJK_LIBSOXR_COMMIT} -B ijkplayer
- ;;
- esac
- cd -
-}
-
-function pull_android_toolchain_cmake()
-{
- ANDROID_TOOLCHAIN_CMAKE_UPSTREAM=https://github.com/taka-no-me/android-cmake.git
- echo "== pull android toolchain cmake from $ANDROID_TOOLCHAIN_CMAKE_UPSTREAM =="
- sh $TOOLS/pull-repo-base.sh $ANDROID_TOOLCHAIN_CMAKE_UPSTREAM extra/android-cmake
-}
-
-pull_android_toolchain_cmake
-
-pull_fork "armv5"
-pull_fork "armv7a"
-pull_fork "arm64"
-pull_fork "x86"
-pull_fork "x86_64"
diff --git a/init-android-libyuv.sh b/init-android-libyuv.sh
deleted file mode 100755
index d1adf4b549..0000000000
--- a/init-android-libyuv.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-
-IJK_LIBYUV_UPSTREAM=https://github.com/Bilibili/libyuv.git
-IJK_LIBYUV_FORK=https://github.com/Bilibili/libyuv.git
-IJK_LIBYUV_COMMIT=ijk-r0.2.1-dev
-IJK_LIBYUV_LOCAL_REPO=extra/libyuv
-
-set -e
-TOOLS=tools
-
-echo "== pull libyuv base =="
-sh $TOOLS/pull-repo-base.sh $IJK_LIBYUV_UPSTREAM $IJK_LIBYUV_LOCAL_REPO
-
-echo "== pull libyuv fork =="
-sh $TOOLS/pull-repo-ref.sh $IJK_LIBYUV_FORK ijkmedia/ijkyuv ${IJK_LIBYUV_LOCAL_REPO}
-cd ijkmedia/ijkyuv
-git checkout ${IJK_LIBYUV_COMMIT}
-cd -
diff --git a/init-android-openssl.sh b/init-android-openssl.sh
deleted file mode 100755
index a562546e9a..0000000000
--- a/init-android-openssl.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#IJK_OPENSSL_UPSTREAM=https://github.com/openssl/openssl
-IJK_OPENSSL_UPSTREAM=https://github.com/Bilibili/openssl.git
-IJK_OPENSSL_FORK=https://github.com/Bilibili/openssl.git
-IJK_OPENSSL_COMMIT=OpenSSL_1_0_2q
-IJK_OPENSSL_LOCAL_REPO=extra/openssl
-
-set -e
-TOOLS=tools
-
-echo "== pull openssl base =="
-sh $TOOLS/pull-repo-base.sh $IJK_OPENSSL_UPSTREAM $IJK_OPENSSL_LOCAL_REPO
-
-function pull_fork()
-{
- echo "== pull openssl fork $1 =="
- sh $TOOLS/pull-repo-ref.sh $IJK_OPENSSL_FORK android/contrib/openssl-$1 ${IJK_OPENSSL_LOCAL_REPO}
- cd android/contrib/openssl-$1
- git checkout ${IJK_OPENSSL_COMMIT} -B ijkplayer
- cd -
-}
-
-pull_fork "armv5"
-pull_fork "armv7a"
-pull_fork "arm64"
-pull_fork "x86"
-pull_fork "x86_64"
diff --git a/init-android-prof.sh b/init-android-prof.sh
deleted file mode 100755
index 7c4a3ded93..0000000000
--- a/init-android-prof.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-IJK_LIB_NAME=android-ndk-profiler
-IJK_LIB_UPSTREAM=https://github.com/Bilibili/android-ndk-profiler.git
-IJK_LIB_FORK=https://github.com/Bilibili/android-ndk-profiler.git
-IJK_LIB_COMMIT=ijk-r0.3.0-dev
-IJK_LIB_LOCAL_REPO=extra/android-ndk-profiler
-
-set -e
-TOOLS=tools
-
-echo "== pull $IJK_LIB_NAME base =="
-sh $TOOLS/pull-repo-base.sh $IJK_LIB_UPSTREAM $IJK_LIB_LOCAL_REPO
-
-echo "== pull $IJK_LIB_NAME fork =="
-sh $TOOLS/pull-repo-ref.sh $IJK_LIB_FORK ijkprof/$IJK_LIB_NAME ${IJK_LIB_LOCAL_REPO}
-cd ijkprof/$IJK_LIB_NAME
-git checkout ${IJK_LIB_COMMIT}
-cd -
diff --git a/init-android-soundtouch.sh b/init-android-soundtouch.sh
deleted file mode 100755
index c369cb6649..0000000000
--- a/init-android-soundtouch.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-
-IJK_SOUNDTOUCH_UPSTREAM=https://github.com/Bilibili/soundtouch.git
-IJK_SOUNDTOUCH_FORK=https://github.com/Bilibili/soundtouch.git
-IJK_SOUNDTOUCH_COMMIT=ijk-r0.1.2-dev
-IJK_SOUNDTOUCH_LOCAL_REPO=extra/soundtouch
-
-set -e
-TOOLS=tools
-
-echo "== pull soundtouch base =="
-sh $TOOLS/pull-repo-base.sh $IJK_SOUNDTOUCH_UPSTREAM $IJK_SOUNDTOUCH_LOCAL_REPO
-
-echo "== pull soundtouch fork =="
-sh $TOOLS/pull-repo-ref.sh $IJK_SOUNDTOUCH_FORK ijkmedia/ijksoundtouch ${IJK_SOUNDTOUCH_LOCAL_REPO}
-cd ijkmedia/ijksoundtouch
-git checkout ${IJK_SOUNDTOUCH_COMMIT}
-cd -
diff --git a/init-android.sh b/init-android.sh
deleted file mode 100755
index 223f844cd0..0000000000
--- a/init-android.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# IJK_FFMPEG_UPSTREAM=git://git.videolan.org/ffmpeg.git
-IJK_FFMPEG_UPSTREAM=https://github.com/Bilibili/FFmpeg.git
-IJK_FFMPEG_FORK=https://github.com/Bilibili/FFmpeg.git
-IJK_FFMPEG_COMMIT=ff4.0--ijk0.8.8--20210426--001
-IJK_FFMPEG_LOCAL_REPO=extra/ffmpeg
-
-set -e
-TOOLS=tools
-
-git --version
-
-echo "== pull ffmpeg base =="
-sh $TOOLS/pull-repo-base.sh $IJK_FFMPEG_UPSTREAM $IJK_FFMPEG_LOCAL_REPO
-
-function pull_fork()
-{
- echo "== pull ffmpeg fork $1 =="
- sh $TOOLS/pull-repo-ref.sh $IJK_FFMPEG_FORK android/contrib/ffmpeg-$1 ${IJK_FFMPEG_LOCAL_REPO}
- cd android/contrib/ffmpeg-$1
- git checkout ${IJK_FFMPEG_COMMIT} -B ijkplayer
- cd -
-}
-
-pull_fork "armv5"
-pull_fork "armv7a"
-pull_fork "arm64"
-pull_fork "x86"
-pull_fork "x86_64"
-
-./init-config.sh
-./init-android-libyuv.sh
-./init-android-soundtouch.sh
diff --git a/init-ios-openssl.sh b/init-ios-openssl.sh
deleted file mode 100755
index b5da5932d3..0000000000
--- a/init-ios-openssl.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-IJK_OPENSSL_UPSTREAM=https://github.com/openssl/openssl
-IJK_OPENSSL_FORK=https://github.com/Bilibili/openssl.git
-IJK_OPENSSL_COMMIT=OpenSSL_1_0_2q
-IJK_OPENSSL_LOCAL_REPO=extra/openssl
-
-set -e
-TOOLS=tools
-
-echo "== pull openssl base =="
-sh $TOOLS/pull-repo-base.sh $IJK_OPENSSL_UPSTREAM $IJK_OPENSSL_LOCAL_REPO
-
-function pull_fork()
-{
- echo "== pull openssl fork $1 =="
- sh $TOOLS/pull-repo-ref.sh $IJK_OPENSSL_FORK ios/openssl-$1 ${IJK_OPENSSL_LOCAL_REPO}
- cd ios/openssl-$1
- git checkout ${IJK_OPENSSL_COMMIT} -B ijkplayer
- cd -
-}
-
-pull_fork "armv7"
-pull_fork "armv7s"
-pull_fork "arm64"
-pull_fork "i386"
-pull_fork "x86_64"
-
diff --git a/init-ios.sh b/init-ios.sh
deleted file mode 100755
index e0d59fb722..0000000000
--- a/init-ios.sh
+++ /dev/null
@@ -1,96 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2015 Bilibili
-# Copyright (C) 2013-2015 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# IJK_FFMPEG_UPSTREAM=git://git.videolan.org/ffmpeg.git
-IJK_FFMPEG_UPSTREAM=https://github.com/Bilibili/FFmpeg.git
-IJK_FFMPEG_FORK=https://github.com/Bilibili/FFmpeg.git
-IJK_FFMPEG_COMMIT=ff4.0--ijk0.8.8--20210426--001
-IJK_FFMPEG_LOCAL_REPO=extra/ffmpeg
-
-IJK_GASP_UPSTREAM=https://github.com/Bilibili/gas-preprocessor.git
-
-# gas-preprocessor backup
-# https://github.com/Bilibili/gas-preprocessor.git
-
-if [ "$IJK_FFMPEG_REPO_URL" != "" ]; then
- IJK_FFMPEG_UPSTREAM=$IJK_FFMPEG_REPO_URL
- IJK_FFMPEG_FORK=$IJK_FFMPEG_REPO_URL
-fi
-
-if [ "$IJK_GASP_REPO_URL" != "" ]; then
- IJK_GASP_UPSTREAM=$IJK_GASP_REPO_URL
-fi
-
-set -e
-TOOLS=tools
-
-FF_ALL_ARCHS_IOS6_SDK="armv7 armv7s i386"
-FF_ALL_ARCHS_IOS7_SDK="armv7 armv7s arm64 i386 x86_64"
-FF_ALL_ARCHS_IOS8_SDK="armv7 arm64 i386 x86_64"
-FF_ALL_ARCHS=$FF_ALL_ARCHS_IOS8_SDK
-FF_TARGET=$1
-
-function echo_ffmpeg_version() {
- echo $IJK_FFMPEG_COMMIT
-}
-
-function pull_common() {
- git --version
- echo "== pull gas-preprocessor base =="
- sh $TOOLS/pull-repo-base.sh $IJK_GASP_UPSTREAM extra/gas-preprocessor
-
- echo "== pull ffmpeg base =="
- sh $TOOLS/pull-repo-base.sh $IJK_FFMPEG_UPSTREAM $IJK_FFMPEG_LOCAL_REPO
-}
-
-function pull_fork() {
- echo "== pull ffmpeg fork $1 =="
- sh $TOOLS/pull-repo-ref.sh $IJK_FFMPEG_FORK ios/ffmpeg-$1 ${IJK_FFMPEG_LOCAL_REPO}
- cd ios/ffmpeg-$1
- git checkout ${IJK_FFMPEG_COMMIT} -B ijkplayer
- cd -
-}
-
-function pull_fork_all() {
- for ARCH in $FF_ALL_ARCHS
- do
- pull_fork $ARCH
- done
-}
-
-function sync_ff_version() {
- sed -i '' "s/static const char \*kIJKFFRequiredFFmpegVersion\ \=\ .*/static const char *kIJKFFRequiredFFmpegVersion = \"${IJK_FFMPEG_COMMIT}\";/g" ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFMoviePlayerController.m
-}
-
-#----------
-case "$FF_TARGET" in
- ffmpeg-version)
- echo_ffmpeg_version
- ;;
- armv7|armv7s|arm64|i386|x86_64)
- pull_common
- pull_fork $FF_TARGET
- ;;
- all|*)
- pull_common
- pull_fork_all
- ;;
-esac
-
-sync_ff_version
-
diff --git a/ios/.gitignore b/ios/.gitignore
deleted file mode 100644
index 40bae9cecf..0000000000
--- a/ios/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-xcuserdata
-xcshareddata
-*.xccheckout
diff --git a/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.pbxproj b/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.pbxproj
index ad6c84104c..e01fab6440 100644
--- a/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.pbxproj
+++ b/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.pbxproj
@@ -3,13 +3,12 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 46;
+ objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
45D57D611A53233200BDD389 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45D57D601A53233200BDD389 /* CoreVideo.framework */; };
45D57D631A53233800BDD389 /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45D57D621A53233800BDD389 /* VideoToolbox.framework */; };
- 546736C41E2371AE00FEE0DF /* libstdc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 546736C31E2371AE00FEE0DF /* libstdc++.tbd */; };
55E809E21B143C47003E98A5 /* IJKDemoMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 55E809E11B143C47003E98A5 /* IJKDemoMainViewController.m */; };
55E809E41B143C85003E98A5 /* IJKDemoMainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 55E809E31B143C85003E98A5 /* IJKDemoMainViewController.xib */; };
55E809E61B145B55003E98A5 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 55E809E51B145B55003E98A5 /* LaunchScreen.xib */; };
@@ -20,6 +19,8 @@
55E809F31B146DE8003E98A5 /* IJKQRCodeScanViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 55E809F21B146DE8003E98A5 /* IJKQRCodeScanViewController.xib */; };
55E809F61B1480BC003E98A5 /* IJKDemoHistory.m in Sources */ = {isa = PBXBuildFile; fileRef = 55E809F51B1480BC003E98A5 /* IJKDemoHistory.m */; };
55E809F91B15A1DB003E98A5 /* IJKDemoLocalFolderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 55E809F81B15A1DB003E98A5 /* IJKDemoLocalFolderViewController.m */; };
+ C9644FDA2D87BDFF003875C0 /* IJKMediaFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9644FD62D87B80F003875C0 /* IJKMediaFramework.framework */; };
+ C9644FDB2D87BDFF003875C0 /* IJKMediaFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C9644FD62D87B80F003875C0 /* IJKMediaFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
E60E8C2A19EF70BB005B5B6E /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E60E8C2919EF70BB005B5B6E /* CoreMedia.framework */; };
E612EAE517F7E0F800BEE660 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E612EAE417F7E0F800BEE660 /* MediaPlayer.framework */; };
E6166C9C17EDA4A20006B956 /* IJKMediaDemo-Prefix.pch in Resources */ = {isa = PBXBuildFile; fileRef = E6166C9B17EDA4A20006B956 /* IJKMediaDemo-Prefix.pch */; };
@@ -28,7 +29,6 @@
E63FC2B417F172EA003551EB /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63FC2B317F172E9003551EB /* OpenGLES.framework */; };
E64D4F4E1938CCCC00F1C75D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E64D4F4D1938CCCC00F1C75D /* CoreGraphics.framework */; };
E64D4F4F1938CD2100F1C75D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E63FC2B717F17362003551EB /* QuartzCore.framework */; };
- E654EAF01B6B2A7900B0F2D0 /* IJKMediaFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E654EAD71B6B28B100B0F2D0 /* IJKMediaFramework.framework */; };
E66F8DCB17EEDD8B00354D80 /* IJKMediaControl.m in Sources */ = {isa = PBXBuildFile; fileRef = E66F8DCA17EEDD8B00354D80 /* IJKMediaControl.m */; };
E67323A71B69E6F800CB9036 /* AppIcons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E67323A51B69E6F800CB9036 /* AppIcons.xcassets */; };
E67323A81B69E6F800CB9036 /* LaunchImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E67323A61B69E6F800CB9036 /* LaunchImages.xcassets */; };
@@ -50,11 +50,18 @@
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- E654EAD61B6B28B100B0F2D0 /* PBXContainerItemProxy */ = {
+ C9644FD52D87B80F003875C0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = E6D74F2918A5F94B00165BFD /* IJKMediaPlayer.xcodeproj */;
proxyType = 2;
- remoteGlobalIDString = E654EA8A1B6B27E600B0F2D0;
+ remoteGlobalIDString = 5450B0431E63EA4300568494;
+ remoteInfo = IJKMediaFrameworkWithSSL;
+ };
+ C9644FDE2D87C03D003875C0 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = E6D74F2918A5F94B00165BFD /* IJKMediaPlayer.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 5450AFC11E63EA4300568494;
remoteInfo = IJKMediaFramework;
};
E654EAD81B6B28B100B0F2D0 /* PBXContainerItemProxy */ = {
@@ -64,19 +71,25 @@
remoteGlobalIDString = E654EA941B6B27E600B0F2D0;
remoteInfo = IJKMediaFrameworkTests;
};
- E654EAEE1B6B2A1500B0F2D0 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = E6D74F2918A5F94B00165BFD /* IJKMediaPlayer.xcodeproj */;
- proxyType = 1;
- remoteGlobalIDString = E654EA891B6B27E600B0F2D0;
- remoteInfo = IJKMediaFramework;
- };
/* End PBXContainerItemProxy section */
+/* Begin PBXCopyFilesBuildPhase section */
+ C9644FDC2D87BDFF003875C0 /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ C9644FDB2D87BDFF003875C0 /* IJKMediaFramework.framework in Embed Frameworks */,
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
45D57D601A53233200BDD389 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
45D57D621A53233800BDD389 /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; };
- 546736C31E2371AE00FEE0DF /* libstdc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libstdc++.tbd"; path = "usr/lib/libstdc++.tbd"; sourceTree = SDKROOT; };
55E809E01B143C47003E98A5 /* IJKDemoMainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJKDemoMainViewController.h; sourceTree = ""; };
55E809E11B143C47003E98A5 /* IJKDemoMainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJKDemoMainViewController.m; sourceTree = ""; };
55E809E31B143C85003E98A5 /* IJKDemoMainViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IJKDemoMainViewController.xib; sourceTree = ""; };
@@ -134,15 +147,14 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 546736C41E2371AE00FEE0DF /* libstdc++.tbd in Frameworks */,
E63FC29117F04C83003551EB /* AudioToolbox.framework in Frameworks */,
E61B45AE19EF7021002792EC /* AVFoundation.framework in Frameworks */,
+ C9644FDA2D87BDFF003875C0 /* IJKMediaFramework.framework in Frameworks */,
E64D4F4E1938CCCC00F1C75D /* CoreGraphics.framework in Frameworks */,
E60E8C2A19EF70BB005B5B6E /* CoreMedia.framework in Frameworks */,
45D57D611A53233200BDD389 /* CoreVideo.framework in Frameworks */,
E6F1D4C01D38F29D00E8665B /* libbz2.tbd in Frameworks */,
E6F1D4BE1D38F29800E8665B /* libz.tbd in Frameworks */,
- E654EAF01B6B2A7900B0F2D0 /* IJKMediaFramework.framework in Frameworks */,
E612EAE517F7E0F800BEE660 /* MediaPlayer.framework in Frameworks */,
E67323B11B69ECF500CB9036 /* MobileCoreServices.framework in Frameworks */,
E63FC2B417F172EA003551EB /* OpenGLES.framework in Frameworks */,
@@ -199,7 +211,6 @@
E6903EFE17EAF70200CFD954 /* Frameworks */ = {
isa = PBXGroup;
children = (
- 546736C31E2371AE00FEE0DF /* libstdc++.tbd */,
E63FC28F17F04C83003551EB /* AudioToolbox.framework */,
E61B45AD19EF7021002792EC /* AVFoundation.framework */,
E64D4F4D1938CCCC00F1C75D /* CoreGraphics.framework */,
@@ -273,7 +284,7 @@
E6D74F2A18A5F94B00165BFD /* Products */ = {
isa = PBXGroup;
children = (
- E654EAD71B6B28B100B0F2D0 /* IJKMediaFramework.framework */,
+ C9644FD62D87B80F003875C0 /* IJKMediaFramework.framework */,
E654EAD91B6B28B100B0F2D0 /* IJKMediaFrameworkTests.xctest */,
);
name = Products;
@@ -289,11 +300,12 @@
E6903EF817EAF70200CFD954 /* Sources */,
E6903EF917EAF70200CFD954 /* Frameworks */,
E6903EFA17EAF70200CFD954 /* Resources */,
+ C9644FDC2D87BDFF003875C0 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
- E654EAEF1B6B2A1500B0F2D0 /* PBXTargetDependency */,
+ C9644FDF2D87C03D003875C0 /* PBXTargetDependency */,
);
name = IJKMediaDemo;
productName = IJKMediaDemo;
@@ -306,8 +318,9 @@
E6903EF417EAF70200CFD954 /* Project object */ = {
isa = PBXProject;
attributes = {
+ BuildIndependentTargetsInParallel = YES;
CLASSPREFIX = IJK;
- LastUpgradeCheck = 0700;
+ LastUpgradeCheck = 1620;
ORGANIZATIONNAME = bilibili;
};
buildConfigurationList = E6903EF717EAF70200CFD954 /* Build configuration list for PBXProject "IJKMediaDemo" */;
@@ -315,6 +328,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
+ English,
en,
);
mainGroup = E6903EF317EAF70200CFD954;
@@ -334,11 +348,11 @@
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
- E654EAD71B6B28B100B0F2D0 /* IJKMediaFramework.framework */ = {
+ C9644FD62D87B80F003875C0 /* IJKMediaFramework.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = IJKMediaFramework.framework;
- remoteRef = E654EAD61B6B28B100B0F2D0 /* PBXContainerItemProxy */;
+ remoteRef = C9644FD52D87B80F003875C0 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
E654EAD91B6B28B100B0F2D0 /* IJKMediaFrameworkTests.xctest */ = {
@@ -396,10 +410,10 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
- E654EAEF1B6B2A1500B0F2D0 /* PBXTargetDependency */ = {
+ C9644FDF2D87C03D003875C0 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = IJKMediaFramework;
- targetProxy = E654EAEE1B6B2A1500B0F2D0 /* PBXContainerItemProxy */;
+ targetProxy = C9644FDE2D87C03D003875C0 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@@ -419,29 +433,49 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -452,21 +486,41 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -481,12 +535,13 @@
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ DEVELOPMENT_TEAM = X3XWZ5HCGK;
+ FRAMEWORK_SEARCH_PATHS = $BUILT_PRODUCTS_DIR;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "IJKMediaDemo/IJKMediaDemo-Prefix.pch";
INFOPLIST_FILE = "IJKMediaDemo/IJKMediaDemo-Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
- LIBRARY_SEARCH_PATHS = "$(inherited)";
- PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.${PRODUCT_NAME:rfc1034identifier}";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME).${DEVELOPMENT_TEAM}";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
TARGETED_DEVICE_FAMILY = 1;
@@ -501,12 +556,13 @@
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ DEVELOPMENT_TEAM = X3XWZ5HCGK;
+ FRAMEWORK_SEARCH_PATHS = $BUILT_PRODUCTS_DIR;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "IJKMediaDemo/IJKMediaDemo-Prefix.pch";
INFOPLIST_FILE = "IJKMediaDemo/IJKMediaDemo-Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
- LIBRARY_SEARCH_PATHS = "$(inherited)";
- PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.${PRODUCT_NAME:rfc1034identifier}";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME).${DEVELOPMENT_TEAM}";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "";
TARGETED_DEVICE_FAMILY = 1;
diff --git a/ios/IJKMediaDemo/IJKMediaDemo/IJKMediaDemo-Info.plist b/ios/IJKMediaDemo/IJKMediaDemo/IJKMediaDemo-Info.plist
index dcc8282088..87f9d7fb05 100644
--- a/ios/IJKMediaDemo/IJKMediaDemo/IJKMediaDemo-Info.plist
+++ b/ios/IJKMediaDemo/IJKMediaDemo/IJKMediaDemo-Info.plist
@@ -28,14 +28,12 @@
402
LSRequiresIPhoneOS
+ NSCameraUsageDescription
+ 扫描播放视频
UIFileSharingEnabled
UILaunchStoryboardName
LaunchScreen
- UIRequiredDeviceCapabilities
-
- armv7
-
UISupportedInterfaceOrientations
UIInterfaceOrientationLandscapeLeft
@@ -43,10 +41,10 @@
UISupportedInterfaceOrientations~ipad
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
diff --git a/ios/IJKMediaDemo/IJKMediaDemo/IJKMoviePlayerViewController.xib b/ios/IJKMediaDemo/IJKMediaDemo/IJKMoviePlayerViewController.xib
index 8f7f5dd49b..10e0fb9ac4 100644
--- a/ios/IJKMediaDemo/IJKMediaDemo/IJKMoviePlayerViewController.xib
+++ b/ios/IJKMediaDemo/IJKMediaDemo/IJKMoviePlayerViewController.xib
@@ -1,8 +1,10 @@
-
-
+
+
+
-
+
+
@@ -15,58 +17,58 @@
-
+
-
+
-
+
-
+
-
+
-
-
+
-
+
-
+
@@ -112,15 +114,14 @@
-
+
-
+
-
@@ -133,7 +134,7 @@
-
+
diff --git a/ios/IJKMediaDemo/IJKMediaDemo/IJKQRCodeScanViewController.xib b/ios/IJKMediaDemo/IJKMediaDemo/IJKQRCodeScanViewController.xib
index 113524b9d4..b53aa453d9 100644
--- a/ios/IJKMediaDemo/IJKMediaDemo/IJKQRCodeScanViewController.xib
+++ b/ios/IJKMediaDemo/IJKMediaDemo/IJKQRCodeScanViewController.xib
@@ -1,8 +1,10 @@
-
-
+
+
+
-
+
+
@@ -13,9 +15,10 @@
-
+
-
+
+
diff --git a/ios/IJKMediaPlayer/IJKMediaFrameworkWithSSL.plist b/ios/IJKMediaPlayer/IJKMediaFrameworkWithSSL.plist
deleted file mode 100644
index d3de8eefb6..0000000000
--- a/ios/IJKMediaPlayer/IJKMediaFrameworkWithSSL.plist
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- $(CURRENT_PROJECT_VERSION)
- NSPrincipalClass
-
-
-
diff --git a/ios/IJKMediaPlayer/IJKMediaFrameworkWithSSL/IJKMediaFrameworkWithSSL.h b/ios/IJKMediaPlayer/IJKMediaFrameworkWithSSL/IJKMediaFrameworkWithSSL.h
deleted file mode 100644
index 5680be283e..0000000000
--- a/ios/IJKMediaPlayer/IJKMediaFrameworkWithSSL/IJKMediaFrameworkWithSSL.h
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// IJKMediaFrameworkWithSSL.h
-// IJKMediaFrameworkWithSSL
-//
-// Created by zhangxinzheng on 27/02/2017.
-// Copyright © 2017 bilibili. All rights reserved.
-//
-
-#import
-
-//! Project version number for IJKMediaFrameworkWithSSL.
-FOUNDATION_EXPORT double IJKMediaFrameworkWithSSLVersionNumber;
-
-//! Project version string for IJKMediaFrameworkWithSSL.
-FOUNDATION_EXPORT const unsigned char IJKMediaFrameworkWithSSLVersionString[];
-
-// In this header, you should import all the public headers of your framework using statements like #import
-
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-
-// backward compatible for old names
-#define IJKMediaPlaybackIsPreparedToPlayDidChangeNotification IJKMPMediaPlaybackIsPreparedToPlayDidChangeNotification
-#define IJKMoviePlayerLoadStateDidChangeNotification IJKMPMoviePlayerLoadStateDidChangeNotification
-#define IJKMoviePlayerPlaybackDidFinishNotification IJKMPMoviePlayerPlaybackDidFinishNotification
-#define IJKMoviePlayerPlaybackDidFinishReasonUserInfoKey IJKMPMoviePlayerPlaybackDidFinishReasonUserInfoKey
-#define IJKMoviePlayerPlaybackStateDidChangeNotification IJKMPMoviePlayerPlaybackStateDidChangeNotification
-#define IJKMoviePlayerIsAirPlayVideoActiveDidChangeNotification IJKMPMoviePlayerIsAirPlayVideoActiveDidChangeNotification
-#define IJKMoviePlayerVideoDecoderOpenNotification IJKMPMoviePlayerVideoDecoderOpenNotification
-#define IJKMoviePlayerFirstVideoFrameRenderedNotification IJKMPMoviePlayerFirstVideoFrameRenderedNotification
-#define IJKMoviePlayerFirstAudioFrameRenderedNotification IJKMPMoviePlayerFirstAudioFrameRenderedNotification
-#define IJKMoviePlayerFirstAudioFrameDecodedNotification IJKMPMoviePlayerFirstAudioFrameDecodedNotification
-#define IJKMoviePlayerFirstVideoFrameDecodedNotification IJKMPMoviePlayerFirstVideoFrameDecodedNotification
-#define IJKMoviePlayerOpenInputNotification IJKMPMoviePlayerOpenInputNotification
-#define IJKMoviePlayerFindStreamInfoNotification IJKMPMoviePlayerFindStreamInfoNotification
-#define IJKMoviePlayerComponentOpenNotification IJKMPMoviePlayerComponentOpenNotification
-#define IJKMPMoviePlayerAccurateSeekCompleteNotification IJKMPMoviePlayerAccurateSeekCompleteNotification
-#define IJKMoviePlayerSeekAudioStartNotification IJKMPMoviePlayerSeekAudioStartNotification
-#define IJKMoviePlayerSeekVideoStartNotification IJKMPMoviePlayerSeekVideoStartNotification
diff --git a/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/project.pbxproj b/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/project.pbxproj
index 0f074be248..83db9fade5 100644
--- a/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/project.pbxproj
+++ b/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 46;
+ objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@@ -11,14 +11,8 @@
33BA6FC0254BC4D9004EB9F2 /* ijklas.h in Headers */ = {isa = PBXBuildFile; fileRef = B4449BD4250095700074CEDC /* ijklas.h */; };
33BA6FC1254BC4DC004EB9F2 /* cJSON.c in Sources */ = {isa = PBXBuildFile; fileRef = B417F8E124F7C56C00D159BB /* cJSON.c */; };
33BA6FC2254BC4DE004EB9F2 /* cJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = B417F8DB24F7C3B400D159BB /* cJSON.h */; };
- 4D32BC811F906E3A00CE9F03 /* IJKSDLGLViewProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D32BC801F906E3600CE9F03 /* IJKSDLGLViewProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
4D32BC821F906E3B00CE9F03 /* IJKSDLGLViewProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D32BC801F906E3600CE9F03 /* IJKSDLGLViewProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 4DA7F6891F2B1E270032A499 /* ijkiourlhook.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DA7F6881F2B1E270032A499 /* ijkiourlhook.c */; };
4DA7F68A1F2B1E270032A499 /* ijkiourlhook.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DA7F6881F2B1E270032A499 /* ijkiourlhook.c */; };
- 5407EC291DF7F93B00457BFE /* IJKVideoToolBox.h in Headers */ = {isa = PBXBuildFile; fileRef = 5407EC271DF7F93B00457BFE /* IJKVideoToolBox.h */; };
- 5407EC2A1DF7F93B00457BFE /* IJKVideoToolBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 5407EC281DF7F93B00457BFE /* IJKVideoToolBox.m */; };
- 5407EC2D1DF81D2600457BFE /* IJKVideoToolBoxSync.h in Headers */ = {isa = PBXBuildFile; fileRef = 5407EC2B1DF81D2600457BFE /* IJKVideoToolBoxSync.h */; };
- 5407EC2E1DF81D2600457BFE /* IJKVideoToolBoxSync.m in Sources */ = {isa = PBXBuildFile; fileRef = 5407EC2C1DF81D2600457BFE /* IJKVideoToolBoxSync.m */; };
5450AFC41E63EA4300568494 /* IJKKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = E65DC3B819D93D5F004F8A08 /* IJKKVOController.m */; };
5450AFC51E63EA4300568494 /* ijksdl_vout.c in Sources */ = {isa = PBXBuildFile; fileRef = E690401117EAFC6100CFD954 /* ijksdl_vout.c */; };
5450AFC61E63EA4300568494 /* yuv444p10le.fsh.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C4598A1C7030B6004831EC /* yuv444p10le.fsh.c */; };
@@ -102,12 +96,6 @@
5450B0141E63EA4300568494 /* ijklongurl.c in Sources */ = {isa = PBXBuildFile; fileRef = 54A029B31D4700E6001C61C1 /* ijklongurl.c */; };
5450B0151E63EA4300568494 /* renderer_rgb.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459BE1C708CAF004831EC /* renderer_rgb.c */; };
5450B0161E63EA4300568494 /* ffpipeline_ffplay.c in Sources */ = {isa = PBXBuildFile; fileRef = E67B91B21A3801E600717EA9 /* ffpipeline_ffplay.c */; };
- 5450B0181E63EA4300568494 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6EF1BCE5A750016835A /* libavcodec.a */; };
- 5450B0191E63EA4300568494 /* libavfilter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F01BCE5A750016835A /* libavfilter.a */; };
- 5450B01A1E63EA4300568494 /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F11BCE5A750016835A /* libavformat.a */; };
- 5450B01B1E63EA4300568494 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F21BCE5A750016835A /* libavutil.a */; };
- 5450B01C1E63EA4300568494 /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F31BCE5A750016835A /* libswresample.a */; };
- 5450B01D1E63EA4300568494 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F41BCE5A750016835A /* libswscale.a */; };
5450B01F1E63EA4300568494 /* IJKFFMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = E6DBD3871C8941EB0058E4FB /* IJKFFMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; };
5450B0201E63EA4300568494 /* ijkiourl.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A321E1526F800309DD5 /* ijkiourl.h */; };
5450B0211E63EA4300568494 /* IJKFFMoviePlayerController.h in Headers */ = {isa = PBXBuildFile; fileRef = E66F8DE517EFD9C300354D80 /* IJKFFMoviePlayerController.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -139,144 +127,23 @@
5450B03C1E63EA4300568494 /* IJKSDLHudViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E68B7ACD1C1E97B0001DE241 /* IJKSDLHudViewCell.h */; };
5450B03D1E63EA4300568494 /* IJKVideoToolBox.h in Headers */ = {isa = PBXBuildFile; fileRef = 5407EC271DF7F93B00457BFE /* IJKVideoToolBox.h */; };
5450B03E1E63EA4300568494 /* NSString+IJKMedia.h in Headers */ = {isa = PBXBuildFile; fileRef = E69808991C7EB13A0048A46C /* NSString+IJKMedia.h */; };
- 5450B0451E63EAB700568494 /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5450AF8B1E63E59300568494 /* libcrypto.a */; };
- 5450B0461E63EAB700568494 /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5450AF8C1E63E59300568494 /* libssl.a */; };
5450B0471E63EABC00568494 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5450AF8F1E63E59800568494 /* libz.tbd */; };
- 549385C41E640456001AE08D /* IJKMediaFrameworkWithSSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 5450AF9B1E63E65700568494 /* IJKMediaFrameworkWithSSL.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 54A029B61D4700E6001C61C1 /* ijkasync.c in Sources */ = {isa = PBXBuildFile; fileRef = 54A029B11D4700E6001C61C1 /* ijkasync.c */; };
- 54A029B71D4700E6001C61C1 /* ijkavformat.h in Headers */ = {isa = PBXBuildFile; fileRef = 54A029B21D4700E6001C61C1 /* ijkavformat.h */; };
- 54A029B81D4700E6001C61C1 /* ijklongurl.c in Sources */ = {isa = PBXBuildFile; fileRef = 54A029B31D4700E6001C61C1 /* ijklongurl.c */; };
- 54A029B91D4700E6001C61C1 /* ijksegment.c in Sources */ = {isa = PBXBuildFile; fileRef = 54A029B41D4700E6001C61C1 /* ijksegment.c */; };
- 54A029BA1D4700E6001C61C1 /* ijkurlhook.c in Sources */ = {isa = PBXBuildFile; fileRef = 54A029B51D4700E6001C61C1 /* ijkurlhook.c */; };
- 54CF8A331E1526F800309DD5 /* ijkio.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A291E1526F800309DD5 /* ijkio.c */; };
- 54CF8A341E1526F800309DD5 /* ijkioapplication.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A2A1E1526F800309DD5 /* ijkioapplication.c */; };
- 54CF8A351E1526F800309DD5 /* ijkioapplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A2B1E1526F800309DD5 /* ijkioapplication.h */; };
- 54CF8A361E1526F800309DD5 /* ijkiocache.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A2C1E1526F800309DD5 /* ijkiocache.c */; };
- 54CF8A371E1526F800309DD5 /* ijkioffio.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A2D1E1526F800309DD5 /* ijkioffio.c */; };
- 54CF8A381E1526F800309DD5 /* ijkiomanager.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A2E1E1526F800309DD5 /* ijkiomanager.c */; };
- 54CF8A391E1526F800309DD5 /* ijkiomanager.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A2F1E1526F800309DD5 /* ijkiomanager.h */; };
- 54CF8A3A1E1526F800309DD5 /* ijkioprotocol.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A301E1526F800309DD5 /* ijkioprotocol.c */; };
- 54CF8A3B1E1526F800309DD5 /* ijkioprotocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A311E1526F800309DD5 /* ijkioprotocol.h */; };
- 54CF8A3C1E1526F800309DD5 /* ijkiourl.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A321E1526F800309DD5 /* ijkiourl.h */; };
- 54CF8A491E15287D00309DD5 /* ijkdict.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A3D1E15287D00309DD5 /* ijkdict.c */; settings = {COMPILER_FLAGS = "-w"; }; };
- 54CF8A4A1E15287D00309DD5 /* ijkdict.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A3E1E15287D00309DD5 /* ijkdict.h */; };
- 54CF8A4B1E15287D00309DD5 /* ijkfifo.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A3F1E15287D00309DD5 /* ijkfifo.c */; settings = {COMPILER_FLAGS = "-w"; }; };
- 54CF8A4C1E15287D00309DD5 /* ijkfifo.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A401E15287D00309DD5 /* ijkfifo.h */; };
- 54CF8A4D1E15287D00309DD5 /* ijkstl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A411E15287D00309DD5 /* ijkstl.cpp */; settings = {COMPILER_FLAGS = "-w"; }; };
- 54CF8A4E1E15287D00309DD5 /* ijkstl.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A421E15287D00309DD5 /* ijkstl.h */; };
- 54CF8A4F1E15287D00309DD5 /* ijkthreadpool.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A431E15287D00309DD5 /* ijkthreadpool.c */; };
- 54CF8A501E15287D00309DD5 /* ijkthreadpool.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A441E15287D00309DD5 /* ijkthreadpool.h */; };
- 54CF8A511E15287D00309DD5 /* ijktree.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A451E15287D00309DD5 /* ijktree.c */; };
- 54CF8A521E15287D00309DD5 /* ijktree.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A461E15287D00309DD5 /* ijktree.h */; };
- 54CF8A531E15287D00309DD5 /* ijkutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 54CF8A471E15287D00309DD5 /* ijkutils.c */; };
- 54CF8A541E15287D00309DD5 /* ijkutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 54CF8A481E15287D00309DD5 /* ijkutils.h */; };
- B417F8DE24F7C3B500D159BB /* cJSON.h in Headers */ = {isa = PBXBuildFile; fileRef = B417F8DB24F7C3B400D159BB /* cJSON.h */; };
- B417F8E224F7C56C00D159BB /* cJSON.c in Sources */ = {isa = PBXBuildFile; fileRef = B417F8E124F7C56C00D159BB /* cJSON.c */; };
- B4449BD6250095700074CEDC /* ijklas.h in Headers */ = {isa = PBXBuildFile; fileRef = B4449BD4250095700074CEDC /* ijklas.h */; };
- B4449BD7250095700074CEDC /* ijklas.c in Sources */ = {isa = PBXBuildFile; fileRef = B4449BD5250095700074CEDC /* ijklas.c */; };
- E607FFE11B7B62E3005F11A6 /* IJKDeviceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E607FFDF1B7B60F9005F11A6 /* IJKDeviceModel.m */; };
- E653C6F61BCE5A750016835A /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6EF1BCE5A750016835A /* libavcodec.a */; };
- E653C6F81BCE5A750016835A /* libavfilter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F01BCE5A750016835A /* libavfilter.a */; };
- E653C6FA1BCE5A750016835A /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F11BCE5A750016835A /* libavformat.a */; };
- E653C6FC1BCE5A750016835A /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F21BCE5A750016835A /* libavutil.a */; };
- E653C6FE1BCE5A750016835A /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F31BCE5A750016835A /* libswresample.a */; };
- E653C7001BCE5A750016835A /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E653C6F41BCE5A750016835A /* libswscale.a */; };
- E654EA8F1B6B27E600B0F2D0 /* IJKMediaFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = E654EA8E1B6B27E600B0F2D0 /* IJKMediaFramework.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E654EA951B6B27E600B0F2D0 /* IJKMediaFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E654EA8A1B6B27E600B0F2D0 /* IJKMediaFramework.framework */; };
+ C9644FE92D87CA8A003875C0 /* IJKMediaFramework.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = E654EA8E1B6B27E600B0F2D0 /* IJKMediaFramework.h */; };
E654EA9C1B6B27E600B0F2D0 /* IJKMediaFrameworkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E654EA9B1B6B27E600B0F2D0 /* IJKMediaFrameworkTests.m */; };
- E654EAA31B6B283700B0F2D0 /* IJKAudioKit.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EE92A2187810C5009EAB56 /* IJKAudioKit.m */; };
- E654EAA41B6B283700B0F2D0 /* IJKMediaModule.m in Sources */ = {isa = PBXBuildFile; fileRef = E672D6F218D3445100C51FF9 /* IJKMediaModule.m */; };
- E654EAA51B6B283700B0F2D0 /* IJKMediaPlayback.m in Sources */ = {isa = PBXBuildFile; fileRef = E6F727C117F7C9B90043623F /* IJKMediaPlayback.m */; };
- E654EAA61B6B283700B0F2D0 /* IJKMediaUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = E6716E4A1807E5FC00B3FBC1 /* IJKMediaUtils.m */; };
- E654EAA71B6B283700B0F2D0 /* IJKKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = E65DC3B819D93D5F004F8A08 /* IJKKVOController.m */; };
- E654EAA81B6B283D00B0F2D0 /* IJKAVPlayerLayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = E67C4E0419D15B3200415CEE /* IJKAVPlayerLayerView.m */; };
- E654EAA91B6B283D00B0F2D0 /* IJKAVMoviePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = E67C4E0719D15EEA00415CEE /* IJKAVMoviePlayerController.m */; };
- E654EAAA1B6B284300B0F2D0 /* IJKMPMoviePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = E66F8DC017EEC65200354D80 /* IJKMPMoviePlayerController.m */; };
- E654EAAB1B6B284C00B0F2D0 /* IJKFFMoviePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = E66F8DE617EFD9C300354D80 /* IJKFFMoviePlayerController.m */; };
- E654EAAC1B6B284C00B0F2D0 /* IJKFFMoviePlayerDef.m in Sources */ = {isa = PBXBuildFile; fileRef = E6F727BA17F2D9D30043623F /* IJKFFMoviePlayerDef.m */; };
- E654EAAE1B6B284C00B0F2D0 /* IJKFFOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = E62139BD180FA89A00553533 /* IJKFFOptions.m */; };
- E654EAAF1B6B285900B0F2D0 /* ff_cmdutils.c in Sources */ = {isa = PBXBuildFile; fileRef = E6903FD517EAFC6100CFD954 /* ff_cmdutils.c */; };
- E654EAB01B6B285900B0F2D0 /* ff_ffpipeline.c in Sources */ = {isa = PBXBuildFile; fileRef = E67B91AB1A3801DB00717EA9 /* ff_ffpipeline.c */; };
- E654EAB11B6B285900B0F2D0 /* ff_ffpipenode.c in Sources */ = {isa = PBXBuildFile; fileRef = E67B91AD1A3801DB00717EA9 /* ff_ffpipenode.c */; };
- E654EAB21B6B285900B0F2D0 /* ff_ffplay.c in Sources */ = {isa = PBXBuildFile; fileRef = E6903FDB17EAFC6100CFD954 /* ff_ffplay.c */; };
- E654EAB31B6B285900B0F2D0 /* ijkmeta.c in Sources */ = {isa = PBXBuildFile; fileRef = E6FAD9551A515CE300725002 /* ijkmeta.c */; };
- E654EAB41B6B285900B0F2D0 /* ijkplayer.c in Sources */ = {isa = PBXBuildFile; fileRef = E66F8DEF17EFEA9400354D80 /* ijkplayer.c */; };
- E654EAB51B6B286400B0F2D0 /* ffpipeline_ios.c in Sources */ = {isa = PBXBuildFile; fileRef = 454316201A66493700676070 /* ffpipeline_ios.c */; };
- E654EAB61B6B286400B0F2D0 /* ffpipenode_ios_videotoolbox_vdec.m in Sources */ = {isa = PBXBuildFile; fileRef = 454316231A66493700676070 /* ffpipenode_ios_videotoolbox_vdec.m */; };
- E654EAB81B6B286400B0F2D0 /* IJKVideoToolBoxAsync.m in Sources */ = {isa = PBXBuildFile; fileRef = 4543162A1A66497900676070 /* IJKVideoToolBoxAsync.m */; };
- E654EAB91B6B286700B0F2D0 /* ijkplayer_ios.m in Sources */ = {isa = PBXBuildFile; fileRef = E66F8E0117EFEEA400354D80 /* ijkplayer_ios.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
- E654EABA1B6B286B00B0F2D0 /* ffpipeline_ffplay.c in Sources */ = {isa = PBXBuildFile; fileRef = E67B91B21A3801E600717EA9 /* ffpipeline_ffplay.c */; };
- E654EABB1B6B286B00B0F2D0 /* ffpipenode_ffplay_vdec.c in Sources */ = {isa = PBXBuildFile; fileRef = E67B91B41A3801E600717EA9 /* ffpipenode_ffplay_vdec.c */; };
- E654EABD1B6B287000B0F2D0 /* ijksdl_vout_dummy.c in Sources */ = {isa = PBXBuildFile; fileRef = E63FC27417F013DE003551EB /* ijksdl_vout_dummy.c */; };
- E654EABE1B6B287400B0F2D0 /* image_convert.c in Sources */ = {isa = PBXBuildFile; fileRef = E6903FF117EAFC6100CFD954 /* image_convert.c */; };
- E654EABF1B6B287600B0F2D0 /* ijksdl_vout_overlay_ffmpeg.c in Sources */ = {isa = PBXBuildFile; fileRef = E6903FFB17EAFC6100CFD954 /* ijksdl_vout_overlay_ffmpeg.c */; };
- E654EAC01B6B287E00B0F2D0 /* ijksdl_aout.c in Sources */ = {isa = PBXBuildFile; fileRef = E6903FFF17EAFC6100CFD954 /* ijksdl_aout.c */; };
- E654EAC11B6B287E00B0F2D0 /* ijksdl_audio.c in Sources */ = {isa = PBXBuildFile; fileRef = E63FC27017F01143003551EB /* ijksdl_audio.c */; };
- E654EAC21B6B287E00B0F2D0 /* ijksdl_error.c in Sources */ = {isa = PBXBuildFile; fileRef = E690400417EAFC6100CFD954 /* ijksdl_error.c */; };
- E654EAC31B6B287E00B0F2D0 /* ijksdl_mutex.c in Sources */ = {isa = PBXBuildFile; fileRef = E690400817EAFC6100CFD954 /* ijksdl_mutex.c */; };
- E654EAC41B6B287E00B0F2D0 /* ijksdl_stdinc.c in Sources */ = {isa = PBXBuildFile; fileRef = E690400A17EAFC6100CFD954 /* ijksdl_stdinc.c */; };
- E654EAC51B6B287E00B0F2D0 /* ijksdl_thread.c in Sources */ = {isa = PBXBuildFile; fileRef = E690400C17EAFC6100CFD954 /* ijksdl_thread.c */; };
- E654EAC61B6B287E00B0F2D0 /* ijksdl_timer.c in Sources */ = {isa = PBXBuildFile; fileRef = E690400E17EAFC6100CFD954 /* ijksdl_timer.c */; };
- E654EAC71B6B287E00B0F2D0 /* ijksdl_vout.c in Sources */ = {isa = PBXBuildFile; fileRef = E690401117EAFC6100CFD954 /* ijksdl_vout.c */; };
- E654EAC81B6B288A00B0F2D0 /* ijksdl_aout_ios_audiounit.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EE92A71878230C009EAB56 /* ijksdl_aout_ios_audiounit.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
- E654EAC91B6B288A00B0F2D0 /* ijksdl_thread_ios.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EE92AA1878230C009EAB56 /* ijksdl_thread_ios.m */; };
- E654EACA1B6B288A00B0F2D0 /* ijksdl_vout_ios_gles2.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EE92AC1878230C009EAB56 /* ijksdl_vout_ios_gles2.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
- E654EACB1B6B288A00B0F2D0 /* ijksdl_vout_overlay_videotoolbox.m in Sources */ = {isa = PBXBuildFile; fileRef = 45DB4AA81A5D52AE005CAD41 /* ijksdl_vout_overlay_videotoolbox.m */; };
- E654EACC1B6B288A00B0F2D0 /* IJKSDLAudioKit.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EE92C718782770009EAB56 /* IJKSDLAudioKit.m */; };
- E654EACD1B6B288A00B0F2D0 /* IJKSDLAudioQueueController.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EE92C11878236A009EAB56 /* IJKSDLAudioQueueController.m */; };
- E654EACE1B6B288A00B0F2D0 /* IJKSDLAudioUnitController.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EE92AE1878230C009EAB56 /* IJKSDLAudioUnitController.m */; };
- E654EAD31B6B288A00B0F2D0 /* IJKSDLGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = E6EE92B71878230C009EAB56 /* IJKSDLGLView.m */; };
- E654EAE61B6B295200B0F2D0 /* IJKMediaModule.h in Headers */ = {isa = PBXBuildFile; fileRef = E672D6F118D3445100C51FF9 /* IJKMediaModule.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E654EAE71B6B295200B0F2D0 /* IJKMediaPlayback.h in Headers */ = {isa = PBXBuildFile; fileRef = E6903EC117EAF6C500CFD954 /* IJKMediaPlayback.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E654EAE81B6B295200B0F2D0 /* IJKAVMoviePlayerController.h in Headers */ = {isa = PBXBuildFile; fileRef = E67C4E0619D15EEA00415CEE /* IJKAVMoviePlayerController.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E654EAE91B6B295200B0F2D0 /* IJKMPMoviePlayerController.h in Headers */ = {isa = PBXBuildFile; fileRef = E66F8DBF17EEC65200354D80 /* IJKMPMoviePlayerController.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E654EAEA1B6B295200B0F2D0 /* IJKFFMoviePlayerController.h in Headers */ = {isa = PBXBuildFile; fileRef = E66F8DE517EFD9C300354D80 /* IJKFFMoviePlayerController.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E654EAEC1B6B295200B0F2D0 /* IJKFFOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = E62139BC180FA89A00553533 /* IJKFFOptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E654EAED1B6B29C100B0F2D0 /* IJKMediaPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = E66F8DC217EECB1E00354D80 /* IJKMediaPlayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E68B7AC51C1E7F20001DE241 /* IJKSDLHudViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = E68B7AC31C1E7F20001DE241 /* IJKSDLHudViewController.h */; };
- E68B7AC61C1E7F20001DE241 /* IJKSDLHudViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E68B7AC41C1E7F20001DE241 /* IJKSDLHudViewController.m */; };
- E68B7ACF1C1E97B0001DE241 /* IJKSDLHudViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = E68B7ACD1C1E97B0001DE241 /* IJKSDLHudViewCell.h */; };
- E68B7AD01C1E97B0001DE241 /* IJKSDLHudViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E68B7ACE1C1E97B0001DE241 /* IJKSDLHudViewCell.m */; };
- E698089B1C7EB13A0048A46C /* NSString+IJKMedia.h in Headers */ = {isa = PBXBuildFile; fileRef = E69808991C7EB13A0048A46C /* NSString+IJKMedia.h */; };
- E698089C1C7EB13A0048A46C /* NSString+IJKMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = E698089A1C7EB13A0048A46C /* NSString+IJKMedia.m */; };
- E69808A01C7EB2040048A46C /* IJKNotificationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E698089E1C7EB2040048A46C /* IJKNotificationManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E69808A11C7EB2040048A46C /* IJKNotificationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E698089F1C7EB2040048A46C /* IJKNotificationManager.m */; };
- E69BE5511B93FED300AFBA3F /* allformats.c in Sources */ = {isa = PBXBuildFile; fileRef = E69BE54A1B93FED300AFBA3F /* allformats.c */; };
- E69BE5571B93FED300AFBA3F /* opt.h in Headers */ = {isa = PBXBuildFile; fileRef = E69BE54F1B93FED300AFBA3F /* opt.h */; };
- E69BE5721B946FF600AFBA3F /* ijklivehook.c in Sources */ = {isa = PBXBuildFile; fileRef = E69BE5701B946FF600AFBA3F /* ijklivehook.c */; };
- E6C2E7BE1C92BD3600E59229 /* IJKKVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = E65DC3B719D93D5F004F8A08 /* IJKKVOController.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E6C459841C7030AA004831EC /* ijksdl_gles2.h in Headers */ = {isa = PBXBuildFile; fileRef = E6C459831C7030AA004831EC /* ijksdl_gles2.h */; };
- E6C459921C7030B6004831EC /* color.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459861C7030B6004831EC /* color.c */; };
- E6C459931C7030B6004831EC /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459871C7030B6004831EC /* common.c */; };
- E6C459941C7030B6004831EC /* yuv420p.fsh.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459891C7030B6004831EC /* yuv420p.fsh.c */; };
- E6C459951C7030B6004831EC /* yuv444p10le.fsh.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C4598A1C7030B6004831EC /* yuv444p10le.fsh.c */; };
- E6C459961C7030B6004831EC /* internal.h in Headers */ = {isa = PBXBuildFile; fileRef = E6C4598B1C7030B6004831EC /* internal.h */; };
- E6C459971C7030B6004831EC /* renderer.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C4598C1C7030B6004831EC /* renderer.c */; };
- E6C459981C7030B6004831EC /* renderer_yuv420p.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C4598D1C7030B6004831EC /* renderer_yuv420p.c */; };
- E6C459991C7030B6004831EC /* renderer_yuv444p10le.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C4598E1C7030B6004831EC /* renderer_yuv444p10le.c */; };
- E6C4599A1C7030B6004831EC /* shader.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C4598F1C7030B6004831EC /* shader.c */; };
- E6C4599B1C7030B6004831EC /* mvp.vsh.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459911C7030B6004831EC /* mvp.vsh.c */; };
- E6C459BA1C706A13004831EC /* ijksdl_egl.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459B81C706A13004831EC /* ijksdl_egl.c */; };
- E6C459BB1C706A13004831EC /* ijksdl_egl.h in Headers */ = {isa = PBXBuildFile; fileRef = E6C459B91C706A13004831EC /* ijksdl_egl.h */; };
- E6C459BD1C7089AB004831EC /* ff_ffplay_options.h in Headers */ = {isa = PBXBuildFile; fileRef = E6C459BC1C7089AB004831EC /* ff_ffplay_options.h */; };
- E6C459C01C708CAF004831EC /* renderer_rgb.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459BE1C708CAF004831EC /* renderer_rgb.c */; };
- E6C459C41C708E60004831EC /* rgb.fsh.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459C21C708E60004831EC /* rgb.fsh.c */; };
- E6C459C81C7095E5004831EC /* yuv420sp.fsh.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459C61C7095E5004831EC /* yuv420sp.fsh.c */; };
- E6C459CC1C70967F004831EC /* renderer_yuv420sp.c in Sources */ = {isa = PBXBuildFile; fileRef = E6C459CA1C70967F004831EC /* renderer_yuv420sp.c */; };
- E6DBD3891C8941EB0058E4FB /* IJKFFMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = E6DBD3871C8941EB0058E4FB /* IJKFFMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E6DBD38A1C8941EB0058E4FB /* IJKFFMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = E6DBD3881C8941EB0058E4FB /* IJKFFMonitor.m */; };
- E6E1B9A81C741F72000C6C72 /* renderer_yuv420sp_vtb.m in Sources */ = {isa = PBXBuildFile; fileRef = E6E1B9A71C741F72000C6C72 /* renderer_yuv420sp_vtb.m */; };
/* End PBXBuildFile section */
-/* Begin PBXContainerItemProxy section */
- E654EA961B6B27E600B0F2D0 /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = E6903EB117EAF6C500CFD954 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = E654EA891B6B27E600B0F2D0;
- remoteInfo = IJKMediaFramework;
+/* Begin PBXCopyFilesBuildPhase section */
+ C9644FE82D87CA6A003875C0 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = Headers;
+ dstSubfolderSpec = 6;
+ files = (
+ C9644FE92D87CA8A003875C0 /* IJKMediaFramework.h in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
};
-/* End PBXContainerItemProxy section */
+/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
454316201A66493700676070 /* ffpipeline_ios.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ffpipeline_ios.c; path = ijkmedia/ijkplayer/ios/pipeline/ffpipeline_ios.c; sourceTree = ""; };
@@ -293,12 +160,8 @@
5407EC281DF7F93B00457BFE /* IJKVideoToolBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IJKVideoToolBox.m; path = ijkmedia/ijkplayer/ios/pipeline/IJKVideoToolBox.m; sourceTree = ""; };
5407EC2B1DF81D2600457BFE /* IJKVideoToolBoxSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IJKVideoToolBoxSync.h; path = ijkmedia/ijkplayer/ios/pipeline/IJKVideoToolBoxSync.h; sourceTree = ""; };
5407EC2C1DF81D2600457BFE /* IJKVideoToolBoxSync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IJKVideoToolBoxSync.m; path = ijkmedia/ijkplayer/ios/pipeline/IJKVideoToolBoxSync.m; sourceTree = ""; };
- 5450AF8B1E63E59300568494 /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = "../../../.warehouse/ff3.2--ijk0.7.6--20170203--001/build/universal/lib/libcrypto.a"; sourceTree = ""; };
- 5450AF8C1E63E59300568494 /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libssl.a; path = "../../../.warehouse/ff3.2--ijk0.7.6--20170203--001/build/universal/lib/libssl.a"; sourceTree = ""; };
5450AF8F1E63E59800568494 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
- 5450AF9B1E63E65700568494 /* IJKMediaFrameworkWithSSL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IJKMediaFrameworkWithSSL.h; sourceTree = ""; };
- 5450B0431E63EA4300568494 /* IJKMediaFrameworkWithSSL.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IJKMediaFrameworkWithSSL.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 5450B0441E63EA4300568494 /* IJKMediaFrameworkWithSSL.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = IJKMediaFrameworkWithSSL.plist; path = /Users/zhangxinzheng/Documents/bilibili/BiliShell/contrib/ijkplayer/ios/IJKMediaPlayer/IJKMediaFrameworkWithSSL.plist; sourceTree = ""; };
+ 5450B0431E63EA4300568494 /* IJKMediaFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IJKMediaFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
54A029B11D4700E6001C61C1 /* ijkasync.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ijkasync.c; sourceTree = ""; };
54A029B21D4700E6001C61C1 /* ijkavformat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ijkavformat.h; sourceTree = ""; };
54A029B31D4700E6001C61C1 /* ijklongurl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ijklongurl.c; sourceTree = ""; };
@@ -338,13 +201,6 @@
E63FC27317F013DE003551EB /* ijksdl_dummy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ijksdl_dummy.h; sourceTree = ""; };
E63FC27417F013DE003551EB /* ijksdl_vout_dummy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ijksdl_vout_dummy.c; sourceTree = ""; };
E63FC27517F013DE003551EB /* ijksdl_vout_dummy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ijksdl_vout_dummy.h; sourceTree = ""; };
- E653C6EF1BCE5A750016835A /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavcodec.a; sourceTree = ""; };
- E653C6F01BCE5A750016835A /* libavfilter.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavfilter.a; sourceTree = ""; };
- E653C6F11BCE5A750016835A /* libavformat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavformat.a; sourceTree = ""; };
- E653C6F21BCE5A750016835A /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavutil.a; sourceTree = ""; };
- E653C6F31BCE5A750016835A /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libswresample.a; sourceTree = ""; };
- E653C6F41BCE5A750016835A /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libswscale.a; sourceTree = ""; };
- E654EA8A1B6B27E600B0F2D0 /* IJKMediaFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IJKMediaFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E654EA8D1B6B27E600B0F2D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
E654EA8E1B6B27E600B0F2D0 /* IJKMediaFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IJKMediaFramework.h; sourceTree = ""; };
E654EA941B6B27E600B0F2D0 /* IJKMediaFrameworkTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IJKMediaFrameworkTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -484,27 +340,6 @@
buildActionMask = 2147483647;
files = (
5450B0471E63EABC00568494 /* libz.tbd in Frameworks */,
- 5450B0451E63EAB700568494 /* libcrypto.a in Frameworks */,
- 5450B0461E63EAB700568494 /* libssl.a in Frameworks */,
- 5450B0181E63EA4300568494 /* libavcodec.a in Frameworks */,
- 5450B0191E63EA4300568494 /* libavfilter.a in Frameworks */,
- 5450B01A1E63EA4300568494 /* libavformat.a in Frameworks */,
- 5450B01B1E63EA4300568494 /* libavutil.a in Frameworks */,
- 5450B01C1E63EA4300568494 /* libswresample.a in Frameworks */,
- 5450B01D1E63EA4300568494 /* libswscale.a in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E654EA861B6B27E600B0F2D0 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E653C6F61BCE5A750016835A /* libavcodec.a in Frameworks */,
- E653C6F81BCE5A750016835A /* libavfilter.a in Frameworks */,
- E653C6FA1BCE5A750016835A /* libavformat.a in Frameworks */,
- E653C6FC1BCE5A750016835A /* libavutil.a in Frameworks */,
- E653C6FE1BCE5A750016835A /* libswresample.a in Frameworks */,
- E653C7001BCE5A750016835A /* libswscale.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -512,7 +347,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- E654EA951B6B27E600B0F2D0 /* IJKMediaFramework.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -537,15 +371,6 @@
name = pipeline;
sourceTree = "";
};
- 5450AF9A1E63E65700568494 /* IJKMediaFrameworkWithSSL */ = {
- isa = PBXGroup;
- children = (
- 5450AF9B1E63E65700568494 /* IJKMediaFrameworkWithSSL.h */,
- 5450B0441E63EA4300568494 /* IJKMediaFrameworkWithSSL.plist */,
- );
- path = IJKMediaFrameworkWithSSL;
- sourceTree = "";
- };
E63FC27217F013DE003551EB /* dummy */ = {
isa = PBXGroup;
children = (
@@ -649,7 +474,6 @@
E66F8DBC17EEC2CF00354D80 /* Classes */,
E654EA8B1B6B27E600B0F2D0 /* IJKMediaFramework */,
E654EA981B6B27E600B0F2D0 /* IJKMediaFrameworkTests */,
- 5450AF9A1E63E65700568494 /* IJKMediaFrameworkWithSSL */,
E6903EBB17EAF6C500CFD954 /* Frameworks */,
E6903EBA17EAF6C500CFD954 /* Products */,
);
@@ -658,9 +482,8 @@
E6903EBA17EAF6C500CFD954 /* Products */ = {
isa = PBXGroup;
children = (
- E654EA8A1B6B27E600B0F2D0 /* IJKMediaFramework.framework */,
E654EA941B6B27E600B0F2D0 /* IJKMediaFrameworkTests.xctest */,
- 5450B0431E63EA4300568494 /* IJKMediaFrameworkWithSSL.framework */,
+ 5450B0431E63EA4300568494 /* IJKMediaFramework.framework */,
);
name = Products;
sourceTree = "";
@@ -669,8 +492,6 @@
isa = PBXGroup;
children = (
5450AF8F1E63E59800568494 /* libz.tbd */,
- 5450AF8B1E63E59300568494 /* libcrypto.a */,
- 5450AF8C1E63E59300568494 /* libssl.a */,
);
name = Frameworks;
sourceTree = "";
@@ -678,7 +499,6 @@
E6903EBE17EAF6C500CFD954 /* IJKFFMoviePlayerController */ = {
isa = PBXGroup;
children = (
- E6903F7617EAFC2C00CFD954 /* ffmpeg */,
E6DBD3871C8941EB0058E4FB /* IJKFFMonitor.h */,
E6DBD3881C8941EB0058E4FB /* IJKFFMonitor.m */,
4D32BC801F906E3600CE9F03 /* IJKSDLGLViewProtocol.h */,
@@ -703,28 +523,6 @@
name = "Supporting Files";
sourceTree = "";
};
- E6903F7617EAFC2C00CFD954 /* ffmpeg */ = {
- isa = PBXGroup;
- children = (
- E6903FC117EAFC2C00CFD954 /* lib */,
- );
- name = ffmpeg;
- path = ../../build/universal;
- sourceTree = "";
- };
- E6903FC117EAFC2C00CFD954 /* lib */ = {
- isa = PBXGroup;
- children = (
- E653C6EF1BCE5A750016835A /* libavcodec.a */,
- E653C6F01BCE5A750016835A /* libavfilter.a */,
- E653C6F11BCE5A750016835A /* libavformat.a */,
- E653C6F21BCE5A750016835A /* libavutil.a */,
- E653C6F31BCE5A750016835A /* libswresample.a */,
- E653C6F41BCE5A750016835A /* libswscale.a */,
- );
- path = lib;
- sourceTree = "";
- };
E6903FCC17EAFC6100CFD954 /* ijkmedia */ = {
isa = PBXGroup;
children = (
@@ -984,7 +782,6 @@
5450B0261E63EA4300568494 /* IJKAVMoviePlayerController.h in Headers */,
5450B0271E63EA4300568494 /* ijksdl_gles2.h in Headers */,
5450B0281E63EA4300568494 /* ijksdl_egl.h in Headers */,
- 549385C41E640456001AE08D /* IJKMediaFrameworkWithSSL.h in Headers */,
5450B0291E63EA4300568494 /* ff_ffplay_options.h in Headers */,
5450B02B1E63EA4300568494 /* IJKKVOController.h in Headers */,
5450B02C1E63EA4300568494 /* IJKNotificationManager.h in Headers */,
@@ -1012,79 +809,18 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
- E654EA871B6B27E600B0F2D0 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E6DBD3891C8941EB0058E4FB /* IJKFFMonitor.h in Headers */,
- 54CF8A3C1E1526F800309DD5 /* ijkiourl.h in Headers */,
- E654EAEA1B6B295200B0F2D0 /* IJKFFMoviePlayerController.h in Headers */,
- E68B7AC51C1E7F20001DE241 /* IJKSDLHudViewController.h in Headers */,
- E654EAEC1B6B295200B0F2D0 /* IJKFFOptions.h in Headers */,
- 54CF8A541E15287D00309DD5 /* ijkutils.h in Headers */,
- 54CF8A4A1E15287D00309DD5 /* ijkdict.h in Headers */,
- E654EAE81B6B295200B0F2D0 /* IJKAVMoviePlayerController.h in Headers */,
- E6C459841C7030AA004831EC /* ijksdl_gles2.h in Headers */,
- E6C459BB1C706A13004831EC /* ijksdl_egl.h in Headers */,
- E6C459BD1C7089AB004831EC /* ff_ffplay_options.h in Headers */,
- E654EA8F1B6B27E600B0F2D0 /* IJKMediaFramework.h in Headers */,
- E6C2E7BE1C92BD3600E59229 /* IJKKVOController.h in Headers */,
- E69808A01C7EB2040048A46C /* IJKNotificationManager.h in Headers */,
- B417F8DE24F7C3B500D159BB /* cJSON.h in Headers */,
- 54CF8A501E15287D00309DD5 /* ijkthreadpool.h in Headers */,
- 54CF8A391E1526F800309DD5 /* ijkiomanager.h in Headers */,
- 54CF8A4E1E15287D00309DD5 /* ijkstl.h in Headers */,
- 4D32BC811F906E3A00CE9F03 /* IJKSDLGLViewProtocol.h in Headers */,
- E654EAE61B6B295200B0F2D0 /* IJKMediaModule.h in Headers */,
- 54CF8A4C1E15287D00309DD5 /* ijkfifo.h in Headers */,
- 54CF8A521E15287D00309DD5 /* ijktree.h in Headers */,
- E69BE5571B93FED300AFBA3F /* opt.h in Headers */,
- 54CF8A351E1526F800309DD5 /* ijkioapplication.h in Headers */,
- 54CF8A3B1E1526F800309DD5 /* ijkioprotocol.h in Headers */,
- B4449BD6250095700074CEDC /* ijklas.h in Headers */,
- E654EAE71B6B295200B0F2D0 /* IJKMediaPlayback.h in Headers */,
- E654EAED1B6B29C100B0F2D0 /* IJKMediaPlayer.h in Headers */,
- E6C459961C7030B6004831EC /* internal.h in Headers */,
- 5407EC2D1DF81D2600457BFE /* IJKVideoToolBoxSync.h in Headers */,
- E654EAE91B6B295200B0F2D0 /* IJKMPMoviePlayerController.h in Headers */,
- 54A029B71D4700E6001C61C1 /* ijkavformat.h in Headers */,
- E68B7ACF1C1E97B0001DE241 /* IJKSDLHudViewCell.h in Headers */,
- 5407EC291DF7F93B00457BFE /* IJKVideoToolBox.h in Headers */,
- E698089B1C7EB13A0048A46C /* NSString+IJKMedia.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
- 5450AFC11E63EA4300568494 /* IJKMediaFrameworkWithSSL */ = {
+ 5450AFC11E63EA4300568494 /* IJKMediaFramework */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 5450B0401E63EA4300568494 /* Build configuration list for PBXNativeTarget "IJKMediaFrameworkWithSSL" */;
+ buildConfigurationList = 5450B0401E63EA4300568494 /* Build configuration list for PBXNativeTarget "IJKMediaFramework" */;
buildPhases = (
5450AFC21E63EA4300568494 /* ijkversion.h */,
5450AFC31E63EA4300568494 /* Sources */,
5450B0171E63EA4300568494 /* Frameworks */,
5450B01E1E63EA4300568494 /* Headers */,
- 5450B03F1E63EA4300568494 /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = IJKMediaFrameworkWithSSL;
- productName = IJKMediaFramework;
- productReference = 5450B0431E63EA4300568494 /* IJKMediaFrameworkWithSSL.framework */;
- productType = "com.apple.product-type.framework";
- };
- E654EA891B6B27E600B0F2D0 /* IJKMediaFramework */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E654EAA11B6B27E600B0F2D0 /* Build configuration list for PBXNativeTarget "IJKMediaFramework" */;
- buildPhases = (
- 544E73271D93DEF4005CA5D9 /* ijkversion.h */,
- E654EA851B6B27E600B0F2D0 /* Sources */,
- E654EA861B6B27E600B0F2D0 /* Frameworks */,
- E654EA871B6B27E600B0F2D0 /* Headers */,
- E654EA881B6B27E600B0F2D0 /* Resources */,
+ C9644FE82D87CA6A003875C0 /* CopyFiles */,
);
buildRules = (
);
@@ -1092,7 +828,7 @@
);
name = IJKMediaFramework;
productName = IJKMediaFramework;
- productReference = E654EA8A1B6B27E600B0F2D0 /* IJKMediaFramework.framework */;
+ productReference = 5450B0431E63EA4300568494 /* IJKMediaFramework.framework */;
productType = "com.apple.product-type.framework";
};
E654EA931B6B27E600B0F2D0 /* IJKMediaFrameworkTests */ = {
@@ -1106,7 +842,6 @@
buildRules = (
);
dependencies = (
- E654EA971B6B27E600B0F2D0 /* PBXTargetDependency */,
);
name = IJKMediaFrameworkTests;
productName = IJKMediaFrameworkTests;
@@ -1119,12 +854,10 @@
E6903EB117EAF6C500CFD954 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0700;
+ BuildIndependentTargetsInParallel = YES;
+ LastUpgradeCheck = 1620;
ORGANIZATIONNAME = bilibili;
TargetAttributes = {
- E654EA891B6B27E600B0F2D0 = {
- CreatedOnToolsVersion = 6.4;
- };
E654EA931B6B27E600B0F2D0 = {
CreatedOnToolsVersion = 6.4;
};
@@ -1132,39 +865,24 @@
};
buildConfigurationList = E6903EB417EAF6C500CFD954 /* Build configuration list for PBXProject "IJKMediaPlayer" */;
compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
+ developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
- English,
en,
+ Base,
);
mainGroup = E6903EB017EAF6C500CFD954;
productRefGroup = E6903EBA17EAF6C500CFD954 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- E654EA891B6B27E600B0F2D0 /* IJKMediaFramework */,
- 5450AFC11E63EA4300568494 /* IJKMediaFrameworkWithSSL */,
+ 5450AFC11E63EA4300568494 /* IJKMediaFramework */,
E654EA931B6B27E600B0F2D0 /* IJKMediaFrameworkTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
- 5450B03F1E63EA4300568494 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E654EA881B6B27E600B0F2D0 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
E654EA921B6B27E600B0F2D0 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1175,20 +893,6 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
- 544E73271D93DEF4005CA5D9 /* ijkversion.h */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = ijkversion.h;
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "sh \"${PROJECT_DIR}/../../ijkmedia/ijkplayer/version.sh\" \"${PROJECT_DIR}/../../ijkmedia/ijkplayer\" \"ijkversion.h\"";
- };
5450AFC21E63EA4300568494 /* ijkversion.h */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -1201,7 +905,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "sh \"${PROJECT_DIR}/../../ijkmedia/ijkplayer/version.sh\" \"${PROJECT_DIR}/../../ijkmedia/ijkplayer\" \"ijkversion.h\"";
+ shellScript = "sh \"${PROJECT_DIR}/../../ijkmedia/ijkplayer/version.sh\" \"${PROJECT_DIR}/../../ijkmedia/ijkplayer\" \"ijkversion.h\"\n";
};
/* End PBXShellScriptBuildPhase section */
@@ -1299,99 +1003,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
- E654EA851B6B27E600B0F2D0 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E654EAA71B6B283700B0F2D0 /* IJKKVOController.m in Sources */,
- E654EAC71B6B287E00B0F2D0 /* ijksdl_vout.c in Sources */,
- E6C459951C7030B6004831EC /* yuv444p10le.fsh.c in Sources */,
- E69BE5511B93FED300AFBA3F /* allformats.c in Sources */,
- E654EABB1B6B286B00B0F2D0 /* ffpipenode_ffplay_vdec.c in Sources */,
- E6C459981C7030B6004831EC /* renderer_yuv420p.c in Sources */,
- 54CF8A4F1E15287D00309DD5 /* ijkthreadpool.c in Sources */,
- E654EAA91B6B283D00B0F2D0 /* IJKAVMoviePlayerController.m in Sources */,
- B417F8E224F7C56C00D159BB /* cJSON.c in Sources */,
- E654EAAC1B6B284C00B0F2D0 /* IJKFFMoviePlayerDef.m in Sources */,
- E654EAB91B6B286700B0F2D0 /* ijkplayer_ios.m in Sources */,
- E654EAB51B6B286400B0F2D0 /* ffpipeline_ios.c in Sources */,
- 54CF8A3A1E1526F800309DD5 /* ijkioprotocol.c in Sources */,
- E654EABD1B6B287000B0F2D0 /* ijksdl_vout_dummy.c in Sources */,
- E6C459CC1C70967F004831EC /* renderer_yuv420sp.c in Sources */,
- E6C459941C7030B6004831EC /* yuv420p.fsh.c in Sources */,
- E654EAC21B6B287E00B0F2D0 /* ijksdl_error.c in Sources */,
- E607FFE11B7B62E3005F11A6 /* IJKDeviceModel.m in Sources */,
- 54CF8A361E1526F800309DD5 /* ijkiocache.c in Sources */,
- E6C459BA1C706A13004831EC /* ijksdl_egl.c in Sources */,
- 54CF8A331E1526F800309DD5 /* ijkio.c in Sources */,
- E654EAA31B6B283700B0F2D0 /* IJKAudioKit.m in Sources */,
- E654EAAA1B6B284300B0F2D0 /* IJKMPMoviePlayerController.m in Sources */,
- E68B7AD01C1E97B0001DE241 /* IJKSDLHudViewCell.m in Sources */,
- E654EACB1B6B288A00B0F2D0 /* ijksdl_vout_overlay_videotoolbox.m in Sources */,
- E654EAB11B6B285900B0F2D0 /* ff_ffpipenode.c in Sources */,
- E654EAC41B6B287E00B0F2D0 /* ijksdl_stdinc.c in Sources */,
- 5407EC2A1DF7F93B00457BFE /* IJKVideoToolBox.m in Sources */,
- 54A029B91D4700E6001C61C1 /* ijksegment.c in Sources */,
- E654EAA61B6B283700B0F2D0 /* IJKMediaUtils.m in Sources */,
- E6C459931C7030B6004831EC /* common.c in Sources */,
- E654EAC81B6B288A00B0F2D0 /* ijksdl_aout_ios_audiounit.m in Sources */,
- E69BE5721B946FF600AFBA3F /* ijklivehook.c in Sources */,
- 54A029BA1D4700E6001C61C1 /* ijkurlhook.c in Sources */,
- 5407EC2E1DF81D2600457BFE /* IJKVideoToolBoxSync.m in Sources */,
- E654EAA51B6B283700B0F2D0 /* IJKMediaPlayback.m in Sources */,
- 54CF8A491E15287D00309DD5 /* ijkdict.c in Sources */,
- E654EAB01B6B285900B0F2D0 /* ff_ffpipeline.c in Sources */,
- 4DA7F6891F2B1E270032A499 /* ijkiourlhook.c in Sources */,
- E654EACC1B6B288A00B0F2D0 /* IJKSDLAudioKit.m in Sources */,
- E6C4599B1C7030B6004831EC /* mvp.vsh.c in Sources */,
- E698089C1C7EB13A0048A46C /* NSString+IJKMedia.m in Sources */,
- E654EABF1B6B287600B0F2D0 /* ijksdl_vout_overlay_ffmpeg.c in Sources */,
- E654EAC31B6B287E00B0F2D0 /* ijksdl_mutex.c in Sources */,
- 54CF8A511E15287D00309DD5 /* ijktree.c in Sources */,
- E654EACD1B6B288A00B0F2D0 /* IJKSDLAudioQueueController.m in Sources */,
- E654EAC51B6B287E00B0F2D0 /* ijksdl_thread.c in Sources */,
- E6C459C81C7095E5004831EC /* yuv420sp.fsh.c in Sources */,
- E654EAB21B6B285900B0F2D0 /* ff_ffplay.c in Sources */,
- E654EAC01B6B287E00B0F2D0 /* ijksdl_aout.c in Sources */,
- E6C459921C7030B6004831EC /* color.c in Sources */,
- E654EAC11B6B287E00B0F2D0 /* ijksdl_audio.c in Sources */,
- E654EAC91B6B288A00B0F2D0 /* ijksdl_thread_ios.m in Sources */,
- E654EAB31B6B285900B0F2D0 /* ijkmeta.c in Sources */,
- 54A029B61D4700E6001C61C1 /* ijkasync.c in Sources */,
- E6E1B9A81C741F72000C6C72 /* renderer_yuv420sp_vtb.m in Sources */,
- 54CF8A531E15287D00309DD5 /* ijkutils.c in Sources */,
- E654EAD31B6B288A00B0F2D0 /* IJKSDLGLView.m in Sources */,
- E654EAC61B6B287E00B0F2D0 /* ijksdl_timer.c in Sources */,
- 54CF8A4B1E15287D00309DD5 /* ijkfifo.c in Sources */,
- E6C4599A1C7030B6004831EC /* shader.c in Sources */,
- 54CF8A371E1526F800309DD5 /* ijkioffio.c in Sources */,
- E6C459971C7030B6004831EC /* renderer.c in Sources */,
- 54CF8A341E1526F800309DD5 /* ijkioapplication.c in Sources */,
- 54CF8A381E1526F800309DD5 /* ijkiomanager.c in Sources */,
- E654EAB41B6B285900B0F2D0 /* ijkplayer.c in Sources */,
- E654EAAE1B6B284C00B0F2D0 /* IJKFFOptions.m in Sources */,
- E654EACE1B6B288A00B0F2D0 /* IJKSDLAudioUnitController.m in Sources */,
- E6DBD38A1C8941EB0058E4FB /* IJKFFMonitor.m in Sources */,
- E654EAAB1B6B284C00B0F2D0 /* IJKFFMoviePlayerController.m in Sources */,
- E69808A11C7EB2040048A46C /* IJKNotificationManager.m in Sources */,
- E654EAA41B6B283700B0F2D0 /* IJKMediaModule.m in Sources */,
- E654EAAF1B6B285900B0F2D0 /* ff_cmdutils.c in Sources */,
- E654EAB81B6B286400B0F2D0 /* IJKVideoToolBoxAsync.m in Sources */,
- E6C459991C7030B6004831EC /* renderer_yuv444p10le.c in Sources */,
- 54CF8A4D1E15287D00309DD5 /* ijkstl.cpp in Sources */,
- E654EABE1B6B287400B0F2D0 /* image_convert.c in Sources */,
- B4449BD7250095700074CEDC /* ijklas.c in Sources */,
- E6C459C41C708E60004831EC /* rgb.fsh.c in Sources */,
- E654EAB61B6B286400B0F2D0 /* ffpipenode_ios_videotoolbox_vdec.m in Sources */,
- E654EAA81B6B283D00B0F2D0 /* IJKAVPlayerLayerView.m in Sources */,
- E68B7AC61C1E7F20001DE241 /* IJKSDLHudViewController.m in Sources */,
- E654EACA1B6B288A00B0F2D0 /* ijksdl_vout_ios_gles2.m in Sources */,
- 54A029B81D4700E6001C61C1 /* ijklongurl.c in Sources */,
- E6C459C01C708CAF004831EC /* renderer_rgb.c in Sources */,
- E654EABA1B6B286B00B0F2D0 /* ffpipeline_ffplay.c in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
E654EA901B6B27E600B0F2D0 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1402,14 +1013,6 @@
};
/* End PBXSourcesBuildPhase section */
-/* Begin PBXTargetDependency section */
- E654EA971B6B27E600B0F2D0 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = E654EA891B6B27E600B0F2D0 /* IJKMediaFramework */;
- targetProxy = E654EA961B6B27E600B0F2D0 /* PBXContainerItemProxy */;
- };
-/* End PBXTargetDependency section */
-
/* Begin XCBuildConfiguration section */
5450B0411E63EA4300568494 /* Debug */ = {
isa = XCBuildConfiguration;
@@ -1418,15 +1021,19 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
- CURRENT_PROJECT_VERSION = 0.8.8;
+ CODE_SIGN_IDENTITY = "Apple Development";
+ CODE_SIGN_STYLE = Manual;
+ CURRENT_PROJECT_VERSION = 0.8.9;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
- DYLIB_INSTALL_NAME_BASE = "@rpath";
+ DYLIB_INSTALL_NAME_BASE = "@executable_path/Frameworks";
ENABLE_BITCODE = NO;
+ ENABLE_MODULE_VERIFIER = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@@ -1439,27 +1046,56 @@
GCC_WARN_UNUSED_FUNCTION = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
- ../build/universal/include,
IJKMediaPlayer/ijkmedia,
../../ijkmedia,
);
- INFOPLIST_FILE = "$(SRCROOT)/IJKMediaFrameworkWithSSL.plist";
- INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
+ "HEADER_SEARCH_PATHS[sdk=iphoneos*]" = (
+ "$(inherited)",
+ ../../FFToolChain/build/product/ios/universal/ijkffmpeg/include,
+ );
+ "HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = (
+ "$(inherited)",
+ "../../FFToolChain/build/product/ios/universal-simulator/ijkffmpeg/include",
+ );
+ INFOPLIST_FILE = IJKMediaFramework/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
+ "LIBRARY_SEARCH_PATHS[sdk=iphoneos*]" = (
+ "$(inherited)",
+ ../../FFToolChain/build/product/ios/universal/ijkffmpeg/lib,
+ ../../FFToolChain/build/product/ios/universal/openssl/lib,
+ );
+ "LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*]" = (
"$(inherited)",
- "\"$(SRCROOT)/../build/universal/lib\"",
+ "../../FFToolChain/build/product/ios/universal-simulator/ijkffmpeg/lib",
+ "../../FFToolChain/build/product/ios/universal-simulator/openssl/lib",
);
MACH_O_TYPE = mh_dylib;
+ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
MTL_ENABLE_DEBUG_INFO = YES;
OTHER_LDFLAGS = (
- "-read_only_relocs",
- suppress,
+ "-lavcodec",
+ "-lavfilter",
+ "-lavformat",
+ "-lswresample",
+ "-lswscale",
+ "-lavutil",
+ "-lcrypto",
+ "-lssl",
);
- PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME).${DEVELOPMENT_TEAM}";
PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+ SUPPORTS_MACCATALYST = NO;
+ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+ SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1473,15 +1109,19 @@
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
- CURRENT_PROJECT_VERSION = 0.8.8;
+ CODE_SIGN_IDENTITY = "Apple Development";
+ CODE_SIGN_STYLE = Manual;
+ CURRENT_PROJECT_VERSION = 0.8.9;
DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
- DYLIB_INSTALL_NAME_BASE = "@rpath";
+ DYLIB_INSTALL_NAME_BASE = "@executable_path/Frameworks";
ENABLE_BITCODE = NO;
+ ENABLE_MODULE_VERIFIER = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@@ -1490,123 +1130,57 @@
GCC_WARN_UNUSED_FUNCTION = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
- ../build/universal/include,
IJKMediaPlayer/ijkmedia,
../../ijkmedia,
);
- INFOPLIST_FILE = "$(SRCROOT)/IJKMediaFrameworkWithSSL.plist";
- INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
- "$(inherited)",
- "\"$(SRCROOT)/../build/universal/lib\"",
- );
- MACH_O_TYPE = mh_dylib;
- MTL_ENABLE_DEBUG_INFO = NO;
- OTHER_LDFLAGS = (
- "-read_only_relocs",
- suppress,
- );
- PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)";
- PRODUCT_NAME = "$(TARGET_NAME)";
- SKIP_INSTALL = YES;
- TARGETED_DEVICE_FAMILY = "1,2";
- VERSIONING_SYSTEM = "apple-generic";
- VERSION_INFO_PREFIX = "";
- };
- name = Release;
- };
- E654EA9D1B6B27E600B0F2D0 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_ENABLE_MODULES = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CURRENT_PROJECT_VERSION = 0.8.8;
- DEBUG_INFORMATION_FORMAT = dwarf;
- DEFINES_MODULE = YES;
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- DYLIB_INSTALL_NAME_BASE = "@rpath";
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
+ "HEADER_SEARCH_PATHS[sdk=iphoneos*]" = (
"$(inherited)",
+ ../../FFToolChain/build/product/ios/universal/ijkffmpeg/include,
);
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- HEADER_SEARCH_PATHS = (
+ "HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = (
"$(inherited)",
- ../build/universal/include,
- IJKMediaPlayer/ijkmedia,
- ../../ijkmedia,
+ "../../FFToolChain/build/product/ios/universal-simulator/ijkffmpeg/include",
);
INFOPLIST_FILE = IJKMediaFramework/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
- "\"$(SRCROOT)/../build/universal/lib\"",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
);
- MACH_O_TYPE = staticlib;
- MTL_ENABLE_DEBUG_INFO = YES;
- PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)";
- PRODUCT_NAME = "$(TARGET_NAME)";
- SKIP_INSTALL = YES;
- TARGETED_DEVICE_FAMILY = "1,2";
- VERSIONING_SYSTEM = "apple-generic";
- VERSION_INFO_PREFIX = "";
- };
- name = Debug;
- };
- E654EA9E1B6B27E600B0F2D0 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- CLANG_ENABLE_MODULES = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CURRENT_PROJECT_VERSION = 0.8.8;
- DEFINES_MODULE = YES;
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- DYLIB_INSTALL_NAME_BASE = "@rpath";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- HEADER_SEARCH_PATHS = (
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
+ "LIBRARY_SEARCH_PATHS[sdk=iphoneos*]" = (
"$(inherited)",
- ../build/universal/include,
- IJKMediaPlayer/ijkmedia,
- ../../ijkmedia,
+ ../../FFToolChain/build/product/ios/universal/ijkffmpeg/lib,
+ ../../FFToolChain/build/product/ios/universal/openssl/lib,
);
- INFOPLIST_FILE = IJKMediaFramework/Info.plist;
- INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- LIBRARY_SEARCH_PATHS = (
+ "LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*]" = (
"$(inherited)",
- "\"$(SRCROOT)/../build/universal/lib\"",
+ "../../FFToolChain/build/product/ios/universal-simulator/ijkffmpeg/lib",
+ "../../FFToolChain/build/product/ios/universal-simulator/openssl/lib",
);
- MACH_O_TYPE = staticlib;
+ MACH_O_TYPE = mh_dylib;
+ MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11";
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)";
+ OTHER_LDFLAGS = (
+ "-lavcodec",
+ "-lavfilter",
+ "-lavformat",
+ "-lswresample",
+ "-lswscale",
+ "-lavutil",
+ "-lcrypto",
+ "-lssl",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME).${DEVELOPMENT_TEAM}";
PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
+ SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+ SUPPORTS_MACCATALYST = NO;
+ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+ SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
@@ -1638,10 +1212,14 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = IJKMediaFrameworkTests/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 8.4;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
MTL_ENABLE_DEBUG_INFO = YES;
- PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
@@ -1668,10 +1246,14 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
INFOPLIST_FILE = IJKMediaFrameworkTests/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 8.4;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
MTL_ENABLE_DEBUG_INFO = NO;
- PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_BUNDLE_IDENTIFIER = "tv.danmaku.$(PRODUCT_NAME)";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
@@ -1684,34 +1266,49 @@
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
GCC_WARN_SHADOW = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
- STRIP_INSTALLED_PRODUCT = NO;
};
name = Debug;
};
@@ -1723,25 +1320,40 @@
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
GCC_WARN_SHADOW = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
SDKROOT = iphoneos;
- STRIP_INSTALLED_PRODUCT = NO;
VALIDATE_PRODUCT = YES;
};
name = Release;
@@ -1749,7 +1361,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 5450B0401E63EA4300568494 /* Build configuration list for PBXNativeTarget "IJKMediaFrameworkWithSSL" */ = {
+ 5450B0401E63EA4300568494 /* Build configuration list for PBXNativeTarget "IJKMediaFramework" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5450B0411E63EA4300568494 /* Debug */,
@@ -1758,15 +1370,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- E654EAA11B6B27E600B0F2D0 /* Build configuration list for PBXNativeTarget "IJKMediaFramework" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E654EA9D1B6B27E600B0F2D0 /* Debug */,
- E654EA9E1B6B27E600B0F2D0 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
E654EAA21B6B27E600B0F2D0 /* Build configuration list for PBXNativeTarget "IJKMediaFrameworkTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/xcshareddata/xcschemes/IJKMediaFrameworkWithSSL.xcscheme b/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/xcshareddata/xcschemes/IJKMediaFrameworkWithSSL.xcscheme
deleted file mode 100644
index 693b354712..0000000000
--- a/ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj/xcshareddata/xcschemes/IJKMediaFrameworkWithSSL.xcscheme
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ios/IJKMediaPlayer/IJKMediaPlayer/IJKAudioKit.m b/ios/IJKMediaPlayer/IJKMediaPlayer/IJKAudioKit.m
index 1b314271db..e627fc11e1 100644
--- a/ios/IJKMediaPlayer/IJKMediaPlayer/IJKAudioKit.m
+++ b/ios/IJKMediaPlayer/IJKMediaPlayer/IJKAudioKit.m
@@ -68,13 +68,14 @@ - (void)setupAudioSession
- (BOOL)setActive:(BOOL)active
{
if (active != NO) {
- [[AVAudioSession sharedInstance] setActive:YES error:nil];
+ return [[AVAudioSession sharedInstance] setActive:YES error:nil];
} else {
@try {
[[AVAudioSession sharedInstance] setActive:NO error:nil];
} @catch (NSException *exception) {
NSLog(@"failed to inactive AVAudioSession\n");
}
+ return YES;
}
}
diff --git a/ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFMoviePlayerController.m b/ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFMoviePlayerController.m
index 957e8a56df..c82dda9421 100644
--- a/ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFMoviePlayerController.m
+++ b/ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFMoviePlayerController.m
@@ -34,7 +34,7 @@
#import "ijkioapplication.h"
#include "string.h"
-static const char *kIJKFFRequiredFFmpegVersion = "ff4.0--ijk0.8.8--20201130--001";
+static const char *kIJKFFRequiredFFmpegVersion = "ff4.0--ijk0.8.8--20210426--001";
// It means you didn't call shutdown if you found this object leaked.
@interface IJKWeakHolder : NSObject
diff --git a/ios/IJKMediaPodDemo/.gitignore b/ios/IJKMediaPodDemo/.gitignore
deleted file mode 100644
index 9638bbf265..0000000000
--- a/ios/IJKMediaPodDemo/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-IJKMediaPodDemo.xcworkspace
-Pods
-Podfile.lock
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo.xcodeproj/project.pbxproj b/ios/IJKMediaPodDemo/IJKMediaPodDemo.xcodeproj/project.pbxproj
deleted file mode 100644
index 9773d533ef..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,496 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 3254039E620E12D7E1E62FC4 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E676A9CBD9C96C0D97C7071 /* libPods.a */; };
- E63399A51B60E790008F50CE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E63399A41B60E790008F50CE /* main.m */; };
- E63399A81B60E790008F50CE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E63399A71B60E790008F50CE /* AppDelegate.m */; };
- E63399AB1B60E790008F50CE /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E63399AA1B60E790008F50CE /* ViewController.m */; };
- E63399AE1B60E790008F50CE /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E63399AC1B60E790008F50CE /* Main.storyboard */; };
- E63399B01B60E790008F50CE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E63399AF1B60E790008F50CE /* Images.xcassets */; };
- E63399B31B60E790008F50CE /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = E63399B11B60E790008F50CE /* LaunchScreen.xib */; };
- E63399BF1B60E790008F50CE /* IJKMediaPodDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E63399BE1B60E790008F50CE /* IJKMediaPodDemoTests.m */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
- E63399B91B60E790008F50CE /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = E63399971B60E790008F50CE /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = E633999E1B60E790008F50CE;
- remoteInfo = IJKMediaPodDemo;
- };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
- 47C5C1BCE477FD39847AD2F8 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; };
- 7E676A9CBD9C96C0D97C7071 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; };
- E633999F1B60E790008F50CE /* IJKMediaPodDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IJKMediaPodDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
- E63399A31B60E790008F50CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- E63399A41B60E790008F50CE /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- E63399A61B60E790008F50CE /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- E63399A71B60E790008F50CE /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- E63399A91B60E790008F50CE /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; };
- E63399AA1B60E790008F50CE /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; };
- E63399AD1B60E790008F50CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- E63399AF1B60E790008F50CE /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
- E63399B21B60E790008F50CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
- E63399B81B60E790008F50CE /* IJKMediaPodDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IJKMediaPodDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- E63399BD1B60E790008F50CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- E63399BE1B60E790008F50CE /* IJKMediaPodDemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IJKMediaPodDemoTests.m; sourceTree = ""; };
- EAB805C5FAE107E60F65BC10 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- E633999C1B60E790008F50CE /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 3254039E620E12D7E1E62FC4 /* libPods.a in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E63399B51B60E790008F50CE /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- A58489F820FCBD11F986D498 /* Pods */ = {
- isa = PBXGroup;
- children = (
- 47C5C1BCE477FD39847AD2F8 /* Pods.debug.xcconfig */,
- EAB805C5FAE107E60F65BC10 /* Pods.release.xcconfig */,
- );
- name = Pods;
- sourceTree = "";
- };
- E63399961B60E790008F50CE = {
- isa = PBXGroup;
- children = (
- E63399A11B60E790008F50CE /* IJKMediaPodDemo */,
- E63399BB1B60E790008F50CE /* IJKMediaPodDemoTests */,
- E63399A01B60E790008F50CE /* Products */,
- A58489F820FCBD11F986D498 /* Pods */,
- E9A894D41E27E605A44A8673 /* Frameworks */,
- );
- sourceTree = "";
- };
- E63399A01B60E790008F50CE /* Products */ = {
- isa = PBXGroup;
- children = (
- E633999F1B60E790008F50CE /* IJKMediaPodDemo.app */,
- E63399B81B60E790008F50CE /* IJKMediaPodDemoTests.xctest */,
- );
- name = Products;
- sourceTree = "";
- };
- E63399A11B60E790008F50CE /* IJKMediaPodDemo */ = {
- isa = PBXGroup;
- children = (
- E63399A61B60E790008F50CE /* AppDelegate.h */,
- E63399A71B60E790008F50CE /* AppDelegate.m */,
- E63399A91B60E790008F50CE /* ViewController.h */,
- E63399AA1B60E790008F50CE /* ViewController.m */,
- E63399AC1B60E790008F50CE /* Main.storyboard */,
- E63399AF1B60E790008F50CE /* Images.xcassets */,
- E63399B11B60E790008F50CE /* LaunchScreen.xib */,
- E63399A21B60E790008F50CE /* Supporting Files */,
- );
- path = IJKMediaPodDemo;
- sourceTree = "";
- };
- E63399A21B60E790008F50CE /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- E63399A31B60E790008F50CE /* Info.plist */,
- E63399A41B60E790008F50CE /* main.m */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
- E63399BB1B60E790008F50CE /* IJKMediaPodDemoTests */ = {
- isa = PBXGroup;
- children = (
- E63399BE1B60E790008F50CE /* IJKMediaPodDemoTests.m */,
- E63399BC1B60E790008F50CE /* Supporting Files */,
- );
- path = IJKMediaPodDemoTests;
- sourceTree = "";
- };
- E63399BC1B60E790008F50CE /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- E63399BD1B60E790008F50CE /* Info.plist */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
- E9A894D41E27E605A44A8673 /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 7E676A9CBD9C96C0D97C7071 /* libPods.a */,
- );
- name = Frameworks;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- E633999E1B60E790008F50CE /* IJKMediaPodDemo */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E63399C21B60E790008F50CE /* Build configuration list for PBXNativeTarget "IJKMediaPodDemo" */;
- buildPhases = (
- 4F73080015A4CAFB5E66E708 /* Check Pods Manifest.lock */,
- E633999B1B60E790008F50CE /* Sources */,
- E633999C1B60E790008F50CE /* Frameworks */,
- E633999D1B60E790008F50CE /* Resources */,
- 82155C5704F0DE61754A7A12 /* Copy Pods Resources */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = IJKMediaPodDemo;
- productName = IJKMediaPodDemo;
- productReference = E633999F1B60E790008F50CE /* IJKMediaPodDemo.app */;
- productType = "com.apple.product-type.application";
- };
- E63399B71B60E790008F50CE /* IJKMediaPodDemoTests */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E63399C51B60E790008F50CE /* Build configuration list for PBXNativeTarget "IJKMediaPodDemoTests" */;
- buildPhases = (
- E63399B41B60E790008F50CE /* Sources */,
- E63399B51B60E790008F50CE /* Frameworks */,
- E63399B61B60E790008F50CE /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- E63399BA1B60E790008F50CE /* PBXTargetDependency */,
- );
- name = IJKMediaPodDemoTests;
- productName = IJKMediaPodDemoTests;
- productReference = E63399B81B60E790008F50CE /* IJKMediaPodDemoTests.xctest */;
- productType = "com.apple.product-type.bundle.unit-test";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- E63399971B60E790008F50CE /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0640;
- ORGANIZATIONNAME = "Zhang Rui";
- TargetAttributes = {
- E633999E1B60E790008F50CE = {
- CreatedOnToolsVersion = 6.4;
- };
- E63399B71B60E790008F50CE = {
- CreatedOnToolsVersion = 6.4;
- TestTargetID = E633999E1B60E790008F50CE;
- };
- };
- };
- buildConfigurationList = E633999A1B60E790008F50CE /* Build configuration list for PBXProject "IJKMediaPodDemo" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = E63399961B60E790008F50CE;
- productRefGroup = E63399A01B60E790008F50CE /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- E633999E1B60E790008F50CE /* IJKMediaPodDemo */,
- E63399B71B60E790008F50CE /* IJKMediaPodDemoTests */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- E633999D1B60E790008F50CE /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E63399AE1B60E790008F50CE /* Main.storyboard in Resources */,
- E63399B31B60E790008F50CE /* LaunchScreen.xib in Resources */,
- E63399B01B60E790008F50CE /* Images.xcassets in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E63399B61B60E790008F50CE /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 4F73080015A4CAFB5E66E708 /* Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Check Pods Manifest.lock";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
- showEnvVarsInLog = 0;
- };
- 82155C5704F0DE61754A7A12 /* Copy Pods Resources */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Copy Pods Resources";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- E633999B1B60E790008F50CE /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E63399AB1B60E790008F50CE /* ViewController.m in Sources */,
- E63399A81B60E790008F50CE /* AppDelegate.m in Sources */,
- E63399A51B60E790008F50CE /* main.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E63399B41B60E790008F50CE /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E63399BF1B60E790008F50CE /* IJKMediaPodDemoTests.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
- E63399BA1B60E790008F50CE /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = E633999E1B60E790008F50CE /* IJKMediaPodDemo */;
- targetProxy = E63399B91B60E790008F50CE /* PBXContainerItemProxy */;
- };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
- E63399AC1B60E790008F50CE /* Main.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- E63399AD1B60E790008F50CE /* Base */,
- );
- name = Main.storyboard;
- sourceTree = "";
- };
- E63399B11B60E790008F50CE /* LaunchScreen.xib */ = {
- isa = PBXVariantGroup;
- children = (
- E63399B21B60E790008F50CE /* Base */,
- );
- name = LaunchScreen.xib;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- E63399C01B60E790008F50CE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.4;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Debug;
- };
- E63399C11B60E790008F50CE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.4;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- E63399C31B60E790008F50CE /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 47C5C1BCE477FD39847AD2F8 /* Pods.debug.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = IJKMediaPodDemo/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Debug;
- };
- E63399C41B60E790008F50CE /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = EAB805C5FAE107E60F65BC10 /* Pods.release.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = IJKMediaPodDemo/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Release;
- };
- E63399C61B60E790008F50CE /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- FRAMEWORK_SEARCH_PATHS = (
- "$(SDKROOT)/Developer/Library/Frameworks",
- "$(inherited)",
- );
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- INFOPLIST_FILE = IJKMediaPodDemoTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/IJKMediaPodDemo.app/IJKMediaPodDemo";
- };
- name = Debug;
- };
- E63399C71B60E790008F50CE /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- FRAMEWORK_SEARCH_PATHS = (
- "$(SDKROOT)/Developer/Library/Frameworks",
- "$(inherited)",
- );
- INFOPLIST_FILE = IJKMediaPodDemoTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/IJKMediaPodDemo.app/IJKMediaPodDemo";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- E633999A1B60E790008F50CE /* Build configuration list for PBXProject "IJKMediaPodDemo" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E63399C01B60E790008F50CE /* Debug */,
- E63399C11B60E790008F50CE /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- E63399C21B60E790008F50CE /* Build configuration list for PBXNativeTarget "IJKMediaPodDemo" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E63399C31B60E790008F50CE /* Debug */,
- E63399C41B60E790008F50CE /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- E63399C51B60E790008F50CE /* Build configuration list for PBXNativeTarget "IJKMediaPodDemoTests" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E63399C61B60E790008F50CE /* Debug */,
- E63399C71B60E790008F50CE /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = E63399971B60E790008F50CE /* Project object */;
-}
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/IJKMediaPodDemo/IJKMediaPodDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index f9ab60f2bc..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/AppDelegate.h b/ios/IJKMediaPodDemo/IJKMediaPodDemo/AppDelegate.h
deleted file mode 100644
index 5a00a3ace6..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/AppDelegate.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// AppDelegate.h
-// IJKMediaPodDemo
-//
-// Created by Zhang Rui on 15/7/23.
-// Copyright (c) 2015年 Zhang Rui. All rights reserved.
-//
-
-#import
-
-@interface AppDelegate : UIResponder
-
-@property (strong, nonatomic) UIWindow *window;
-
-
-@end
-
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/AppDelegate.m b/ios/IJKMediaPodDemo/IJKMediaPodDemo/AppDelegate.m
deleted file mode 100644
index 8e8ce923b0..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/AppDelegate.m
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// AppDelegate.m
-// IJKMediaPodDemo
-//
-// Created by Zhang Rui on 15/7/23.
-// Copyright (c) 2015年 Zhang Rui. All rights reserved.
-//
-
-#import "AppDelegate.h"
-
-@interface AppDelegate ()
-
-@end
-
-@implementation AppDelegate
-
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
- // Override point for customization after application launch.
- return YES;
-}
-
-- (void)applicationWillResignActive:(UIApplication *)application {
- // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
- // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application {
- // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
- // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application {
- // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application {
- // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application {
- // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
-}
-
-@end
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/Base.lproj/LaunchScreen.xib b/ios/IJKMediaPodDemo/IJKMediaPodDemo/Base.lproj/LaunchScreen.xib
deleted file mode 100644
index 1406129a89..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/Base.lproj/LaunchScreen.xib
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/Base.lproj/Main.storyboard b/ios/IJKMediaPodDemo/IJKMediaPodDemo/Base.lproj/Main.storyboard
deleted file mode 100644
index f56d2f3bb5..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/Base.lproj/Main.storyboard
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/IJKMediaPodDemo/IJKMediaPodDemo/Images.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 36d2c80d88..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/Images.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "iphone",
- "size" : "29x29",
- "scale" : "2x"
- },
- {
- "idiom" : "iphone",
- "size" : "29x29",
- "scale" : "3x"
- },
- {
- "idiom" : "iphone",
- "size" : "40x40",
- "scale" : "2x"
- },
- {
- "idiom" : "iphone",
- "size" : "40x40",
- "scale" : "3x"
- },
- {
- "idiom" : "iphone",
- "size" : "60x60",
- "scale" : "2x"
- },
- {
- "idiom" : "iphone",
- "size" : "60x60",
- "scale" : "3x"
- },
- {
- "idiom" : "ipad",
- "size" : "29x29",
- "scale" : "1x"
- },
- {
- "idiom" : "ipad",
- "size" : "29x29",
- "scale" : "2x"
- },
- {
- "idiom" : "ipad",
- "size" : "40x40",
- "scale" : "1x"
- },
- {
- "idiom" : "ipad",
- "size" : "40x40",
- "scale" : "2x"
- },
- {
- "idiom" : "ipad",
- "size" : "76x76",
- "scale" : "1x"
- },
- {
- "idiom" : "ipad",
- "size" : "76x76",
- "scale" : "2x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/Info.plist b/ios/IJKMediaPodDemo/IJKMediaPodDemo/Info.plist
deleted file mode 100644
index ea621e6c29..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/Info.plist
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UIRequiredDeviceCapabilities
-
- armv7
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
-
-
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/ViewController.h b/ios/IJKMediaPodDemo/IJKMediaPodDemo/ViewController.h
deleted file mode 100644
index df935fe6ec..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/ViewController.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// ViewController.h
-// IJKMediaPodDemo
-//
-// Created by Zhang Rui on 15/7/23.
-// Copyright (c) 2015年 Zhang Rui. All rights reserved.
-//
-
-#import
-
-@interface ViewController : UIViewController
-
-
-@end
-
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/ViewController.m b/ios/IJKMediaPodDemo/IJKMediaPodDemo/ViewController.m
deleted file mode 100644
index 0cacc33988..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/ViewController.m
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// ViewController.m
-// IJKMediaPodDemo
-//
-// Created by Zhang Rui on 15/7/23.
-// Copyright (c) 2015年 Zhang Rui. All rights reserved.
-//
-
-#import "ViewController.h"
-#import
-
-@interface ViewController ()
-
-@end
-
-@implementation ViewController
-
-- (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
-
- id playback = [[IJKFFMoviePlayerController alloc] initWithContentURL:nil withOptions:nil];
-
- [playback shutdown];
-}
-
-- (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
-}
-
-@end
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemo/main.m b/ios/IJKMediaPodDemo/IJKMediaPodDemo/main.m
deleted file mode 100644
index 20cfffc8dc..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemo/main.m
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-// main.m
-// IJKMediaPodDemo
-//
-// Created by Zhang Rui on 15/7/23.
-// Copyright (c) 2015年 Zhang Rui. All rights reserved.
-//
-
-#import
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[]) {
- @autoreleasepool {
- return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
- }
-}
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemoTests/IJKMediaPodDemoTests.m b/ios/IJKMediaPodDemo/IJKMediaPodDemoTests/IJKMediaPodDemoTests.m
deleted file mode 100644
index fa91d6c02c..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemoTests/IJKMediaPodDemoTests.m
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// IJKMediaPodDemoTests.m
-// IJKMediaPodDemoTests
-//
-// Created by Zhang Rui on 15/7/23.
-// Copyright (c) 2015年 Zhang Rui. All rights reserved.
-//
-
-#import
-#import
-
-@interface IJKMediaPodDemoTests : XCTestCase
-
-@end
-
-@implementation IJKMediaPodDemoTests
-
-- (void)setUp {
- [super setUp];
- // Put setup code here. This method is called before the invocation of each test method in the class.
-}
-
-- (void)tearDown {
- // Put teardown code here. This method is called after the invocation of each test method in the class.
- [super tearDown];
-}
-
-- (void)testExample {
- // This is an example of a functional test case.
- XCTAssert(YES, @"Pass");
-}
-
-- (void)testPerformanceExample {
- // This is an example of a performance test case.
- [self measureBlock:^{
- // Put the code you want to measure the time of here.
- }];
-}
-
-@end
diff --git a/ios/IJKMediaPodDemo/IJKMediaPodDemoTests/Info.plist b/ios/IJKMediaPodDemo/IJKMediaPodDemoTests/Info.plist
deleted file mode 100644
index 1898a26e0e..0000000000
--- a/ios/IJKMediaPodDemo/IJKMediaPodDemoTests/Info.plist
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- BNDL
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1
-
-
diff --git a/ios/IJKMediaPodDemo/Podfile b/ios/IJKMediaPodDemo/Podfile
deleted file mode 100644
index d0a1e4c03e..0000000000
--- a/ios/IJKMediaPodDemo/Podfile
+++ /dev/null
@@ -1,6 +0,0 @@
-source 'https://github.com/CocoaPods/Specs.git'
-# source
-
-platform :ios, '8.0'
-
-pod 'ijkplayer', '~> 0.3.2-rc.2'
diff --git a/ios/build-framework.sh b/ios/build-framework.sh
new file mode 100755
index 0000000000..4bfdfa70a3
--- /dev/null
+++ b/ios/build-framework.sh
@@ -0,0 +1,52 @@
+#! /usr/bin/env bash
+#
+# Copyright (C) 2024 Matt Reach
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+THIS_DIR=$(DIRNAME=$(dirname "$0"); cd "$DIRNAME"; pwd)
+cd "$THIS_DIR"
+
+set -e
+
+# 1
+WORKSPACE_NAME="IJKMediaPlayer/IJKMediaPlayer.xcodeproj"
+TARGET_NAME="IJKMediaFramework"
+
+WORK_DIR="IJKMediaPlayer/Release/Release-iphoneos"
+SIM_WORK_DIR="IJKMediaPlayer/Release/Release-iphonesimulator"
+
+# 2
+if [ -d ${WORK_DIR} ]; then
+ rm -rf ${WORK_DIR}
+fi
+
+if [ -d ${SIM_WORK_DIR} ]; then
+ rm -rf ${SIM_WORK_DIR}
+fi
+
+# 3
+# project方式
+# xcodebuild -showsdks
+# Build the framework for device and simulator with all architectures.
+export IPHONEOS_DEPLOYMENT_TARGET=11.0
+
+xcodebuild -project ${WORKSPACE_NAME} -scheme ${TARGET_NAME} \
+-configuration Release \
+-destination 'generic/platform=iOS' \
+-destination 'generic/platform=iOS Simulator' \
+BUILD_DIR=. \
+clean build
+
+echo "ios framework dir:$WORK_DIR"
+echo "ios simulator framework dir: $SIM_WORK_DIR"
\ No newline at end of file
diff --git a/ios/compile-ffmpeg.sh b/ios/compile-ffmpeg.sh
deleted file mode 100755
index c98ec50c7b..0000000000
--- a/ios/compile-ffmpeg.sh
+++ /dev/null
@@ -1,166 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Bilibili
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#----------
-# modify for your build tool
-
-FF_ALL_ARCHS_IOS6_SDK="armv7 armv7s i386"
-FF_ALL_ARCHS_IOS7_SDK="armv7 armv7s arm64 i386 x86_64"
-FF_ALL_ARCHS_IOS8_SDK="armv7 arm64 i386 x86_64"
-
-FF_ALL_ARCHS=$FF_ALL_ARCHS_IOS8_SDK
-
-#----------
-UNI_BUILD_ROOT=`pwd`
-UNI_TMP="$UNI_BUILD_ROOT/tmp"
-UNI_TMP_LLVM_VER_FILE="$UNI_TMP/llvm.ver.txt"
-FF_TARGET=$1
-FF_TARGET_EXTRA=$2
-set -e
-
-#----------
-echo_archs() {
- echo "===================="
- echo "[*] check xcode version"
- echo "===================="
- echo "FF_ALL_ARCHS = $FF_ALL_ARCHS"
-}
-
-FF_LIBS="libavcodec libavfilter libavformat libavutil libswscale libswresample"
-do_lipo_ffmpeg () {
- LIB_FILE=$1
- LIPO_FLAGS=
- for ARCH in $FF_ALL_ARCHS
- do
- ARCH_LIB_FILE="$UNI_BUILD_ROOT/build/ffmpeg-$ARCH/output/lib/$LIB_FILE"
- if [ -f "$ARCH_LIB_FILE" ]; then
- LIPO_FLAGS="$LIPO_FLAGS $ARCH_LIB_FILE"
- else
- echo "skip $LIB_FILE of $ARCH";
- fi
- done
-
- xcrun lipo -create $LIPO_FLAGS -output $UNI_BUILD_ROOT/build/universal/lib/$LIB_FILE
- xcrun lipo -info $UNI_BUILD_ROOT/build/universal/lib/$LIB_FILE
-}
-
-SSL_LIBS="libcrypto libssl"
-do_lipo_ssl () {
- LIB_FILE=$1
- LIPO_FLAGS=
- for ARCH in $FF_ALL_ARCHS
- do
- ARCH_LIB_FILE="$UNI_BUILD_ROOT/build/openssl-$ARCH/output/lib/$LIB_FILE"
- if [ -f "$ARCH_LIB_FILE" ]; then
- LIPO_FLAGS="$LIPO_FLAGS $ARCH_LIB_FILE"
- else
- echo "skip $LIB_FILE of $ARCH";
- fi
- done
-
- if [ "$LIPO_FLAGS" != "" ]; then
- xcrun lipo -create $LIPO_FLAGS -output $UNI_BUILD_ROOT/build/universal/lib/$LIB_FILE
- xcrun lipo -info $UNI_BUILD_ROOT/build/universal/lib/$LIB_FILE
- fi
-}
-
-do_lipo_all () {
- mkdir -p $UNI_BUILD_ROOT/build/universal/lib
- echo "lipo archs: $FF_ALL_ARCHS"
- for FF_LIB in $FF_LIBS
- do
- do_lipo_ffmpeg "$FF_LIB.a";
- done
-
- ANY_ARCH=
- for ARCH in $FF_ALL_ARCHS
- do
- ARCH_INC_DIR="$UNI_BUILD_ROOT/build/ffmpeg-$ARCH/output/include"
- if [ -d "$ARCH_INC_DIR" ]; then
- if [ -z "$ANY_ARCH" ]; then
- ANY_ARCH=$ARCH
- cp -R "$ARCH_INC_DIR" "$UNI_BUILD_ROOT/build/universal/"
- fi
-
- UNI_INC_DIR="$UNI_BUILD_ROOT/build/universal/include"
-
- mkdir -p "$UNI_INC_DIR/libavutil/$ARCH"
- cp -f "$ARCH_INC_DIR/libavutil/avconfig.h" "$UNI_INC_DIR/libavutil/$ARCH/avconfig.h"
- cp -f tools/avconfig.h "$UNI_INC_DIR/libavutil/avconfig.h"
- cp -f "$ARCH_INC_DIR/libavutil/ffversion.h" "$UNI_INC_DIR/libavutil/$ARCH/ffversion.h"
- cp -f tools/ffversion.h "$UNI_INC_DIR/libavutil/ffversion.h"
- mkdir -p "$UNI_INC_DIR/libffmpeg/$ARCH"
- cp -f "$ARCH_INC_DIR/libffmpeg/config.h" "$UNI_INC_DIR/libffmpeg/$ARCH/config.h"
- cp -f tools/config.h "$UNI_INC_DIR/libffmpeg/config.h"
- fi
- done
-
- for SSL_LIB in $SSL_LIBS
- do
- do_lipo_ssl "$SSL_LIB.a";
- done
-}
-
-#----------
-if [ "$FF_TARGET" = "armv7" -o "$FF_TARGET" = "armv7s" -o "$FF_TARGET" = "arm64" ]; then
- echo_archs
- sh tools/do-compile-ffmpeg.sh $FF_TARGET $FF_TARGET_EXTRA
- do_lipo_all
-elif [ "$FF_TARGET" = "i386" -o "$FF_TARGET" = "x86_64" ]; then
- echo_archs
- sh tools/do-compile-ffmpeg.sh $FF_TARGET $FF_TARGET_EXTRA
- do_lipo_all
-elif [ "$FF_TARGET" = "lipo" ]; then
- echo_archs
- do_lipo_all
-elif [ "$FF_TARGET" = "all" ]; then
- echo_archs
- for ARCH in $FF_ALL_ARCHS
- do
- sh tools/do-compile-ffmpeg.sh $ARCH $FF_TARGET_EXTRA
- done
-
- do_lipo_all
-elif [ "$FF_TARGET" = "check" ]; then
- echo_archs
-elif [ "$FF_TARGET" = "clean" ]; then
- echo_archs
- echo "=================="
- for ARCH in $FF_ALL_ARCHS
- do
- echo "clean ffmpeg-$ARCH"
- echo "=================="
- cd ffmpeg-$ARCH && git clean -xdf && cd -
- done
- echo "clean build cache"
- echo "================="
- rm -rf build/ffmpeg-*
- rm -rf build/openssl-*
- rm -rf build/universal/include
- rm -rf build/universal/lib
- echo "clean success"
-else
- echo "Usage:"
- echo " compile-ffmpeg.sh armv7|arm64|i386|x86_64"
- echo " compile-ffmpeg.sh armv7s (obselete)"
- echo " compile-ffmpeg.sh lipo"
- echo " compile-ffmpeg.sh all"
- echo " compile-ffmpeg.sh clean"
- echo " compile-ffmpeg.sh check"
- exit 1
-fi
diff --git a/ios/compile-openssl.sh b/ios/compile-openssl.sh
deleted file mode 100755
index b363780a5f..0000000000
--- a/ios/compile-openssl.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Bilibili
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#----------
-# modify for your build tool
-
-FF_ALL_ARCHS_IOS6_SDK="armv7 armv7s i386"
-FF_ALL_ARCHS_IOS7_SDK="armv7 armv7s arm64 i386 x86_64"
-FF_ALL_ARCHS_IOS8_SDK="armv7 arm64 i386 x86_64"
-
-FF_ALL_ARCHS=$FF_ALL_ARCHS_IOS8_SDK
-
-#----------
-UNI_BUILD_ROOT=`pwd`
-UNI_TMP="$UNI_BUILD_ROOT/tmp"
-UNI_TMP_LLVM_VER_FILE="$UNI_TMP/llvm.ver.txt"
-FF_TARGET=$1
-set -e
-
-#----------
-FF_LIBS="libssl libcrypto"
-
-#----------
-echo_archs() {
- echo "===================="
- echo "[*] check xcode version"
- echo "===================="
- echo "FF_ALL_ARCHS = $FF_ALL_ARCHS"
-}
-
-do_lipo () {
- LIB_FILE=$1
- LIPO_FLAGS=
- for ARCH in $FF_ALL_ARCHS
- do
- LIPO_FLAGS="$LIPO_FLAGS $UNI_BUILD_ROOT/build/openssl-$ARCH/output/lib/$LIB_FILE"
- done
-
- xcrun lipo -create $LIPO_FLAGS -output $UNI_BUILD_ROOT/build/universal/lib/$LIB_FILE
- xcrun lipo -info $UNI_BUILD_ROOT/build/universal/lib/$LIB_FILE
-}
-
-do_lipo_all () {
- mkdir -p $UNI_BUILD_ROOT/build/universal/lib
- echo "lipo archs: $FF_ALL_ARCHS"
- for FF_LIB in $FF_LIBS
- do
- do_lipo "$FF_LIB.a";
- done
-
- cp -R $UNI_BUILD_ROOT/build/openssl-armv7/output/include $UNI_BUILD_ROOT/build/universal/
-}
-
-#----------
-if [ "$FF_TARGET" = "armv7" -o "$FF_TARGET" = "armv7s" -o "$FF_TARGET" = "arm64" ]; then
- echo_archs
- sh tools/do-compile-openssl.sh $FF_TARGET
-elif [ "$FF_TARGET" = "i386" -o "$FF_TARGET" = "x86_64" ]; then
- echo_archs
- sh tools/do-compile-openssl.sh $FF_TARGET
-elif [ "$FF_TARGET" = "lipo" ]; then
- echo_archs
- do_lipo_all
-elif [ "$FF_TARGET" = "all" ]; then
- echo_archs
- for ARCH in $FF_ALL_ARCHS
- do
- sh tools/do-compile-openssl.sh $ARCH
- done
-
- do_lipo_all
-elif [ "$FF_TARGET" = "check" ]; then
- echo_archs
-elif [ "$FF_TARGET" = "clean" ]; then
- echo_archs
- for ARCH in $FF_ALL_ARCHS
- do
- cd openssl-$ARCH && git clean -xdf && cd -
- done
-else
- echo "Usage:"
- echo " compile-openssl.sh armv7|arm64|i386|x86_64"
- echo " compile-openssl.sh armv7s (obselete)"
- echo " compile-openssl.sh lipo"
- echo " compile-openssl.sh all"
- echo " compile-openssl.sh clean"
- echo " compile-openssl.sh check"
- exit 1
-fi
diff --git a/ios/install-ffmpeg.sh b/ios/install-ffmpeg.sh
new file mode 100755
index 0000000000..f3354803cd
--- /dev/null
+++ b/ios/install-ffmpeg.sh
@@ -0,0 +1,4 @@
+#! /usr/bin/env bash
+#
+
+../FFToolChain/main.sh install -l ijkffmpeg -p ios
diff --git a/ios/tools/avconfig.h b/ios/tools/avconfig.h
deleted file mode 100644
index c851904ecc..0000000000
--- a/ios/tools/avconfig.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * avconfig.h
- *
- * Copyright (c) 2013 Bilibili
- * Copyright (c) 2013 Zhang Rui
- *
- * This file is part of ijkPlayer.
- *
- * ijkPlayer is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * ijkPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with ijkPlayer; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#if defined(__aarch64__)
-# include "arm64/avconfig.h"
-#elif defined(__x86_64__)
-# include "x86_64/avconfig.h"
-#elif defined(__arm__)
-
-# if defined(__ARM_ARCH_7S__)
-# include "armv7s/avconfig.h"
-# elif defined(__ARM_ARCH)
-# if __ARM_ARCH == 7
-# include "armv7/avconfig.h"
-# else
-# error Unsupport ARM architecture
-# endif
-# else
-# error Unsupport ARM architecture
-# endif
-
-#elif defined(__i386__)
-# include "i386/avconfig.h"
-#else
-# error Unsupport architecture
-#endif
diff --git a/ios/tools/config.h b/ios/tools/config.h
deleted file mode 100644
index de2d861be3..0000000000
--- a/ios/tools/config.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * config.h
- *
- * Copyright (c) 2013 Bilibili
- * Copyright (c) 2013 Zhang Rui
- *
- * This file is part of ijkPlayer.
- *
- * ijkPlayer is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * ijkPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with ijkPlayer; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#if defined(__aarch64__)
-# include "arm64/config.h"
-#elif defined(__x86_64__)
-# include "x86_64/config.h"
-#elif defined(__arm__)
-
-# if defined(__ARM_ARCH_7S__)
-# include "armv7s/config.h"
-# elif defined(__ARM_ARCH)
-# if __ARM_ARCH == 7
-# include "armv7/config.h"
-# else
-# error Unsupport ARM architecture
-# endif
-# else
-# error Unsupport ARM architecture
-# endif
-
-#elif defined(__i386__)
-# include "i386/config.h"
-#else
-# error Unsupport architecture
-#endif
diff --git a/ios/tools/do-compile-ffmpeg.sh b/ios/tools/do-compile-ffmpeg.sh
deleted file mode 100755
index 2b00d42a45..0000000000
--- a/ios/tools/do-compile-ffmpeg.sh
+++ /dev/null
@@ -1,256 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Bilibili
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# This script is based on projects below
-# https://github.com/kolyvan/kxmovie
-# https://github.com/yixia/FFmpeg-Android
-# http://git.videolan.org/?p=vlc-ports/android.git;a=summary
-# https://github.com/kewlbear/FFmpeg-iOS-build-script/
-
-#--------------------
-echo "===================="
-echo "[*] check host"
-echo "===================="
-set -e
-
-#--------------------
-# include
-
-
-#--------------------
-# common defines
-FF_ARCH=$1
-FF_BUILD_OPT=$2
-echo "FF_ARCH=$FF_ARCH"
-echo "FF_BUILD_OPT=$FF_BUILD_OPT"
-if [ -z "$FF_ARCH" ]; then
- echo "You must specific an architecture 'armv7, armv7s, arm64, i386, x86_64, ...'.\n"
- exit 1
-fi
-
-
-FF_BUILD_ROOT=`pwd`
-FF_TAGET_OS="darwin"
-
-
-# ffmpeg build params
-export COMMON_FF_CFG_FLAGS=
-source $FF_BUILD_ROOT/../config/module.sh
-
-FFMPEG_CFG_FLAGS=
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $COMMON_FF_CFG_FLAGS"
-
-# Optimization options (experts only):
-# FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-armv5te"
-# FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-armv6"
-# FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-armv6t2"
-
-# Advanced options (experts only):
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-cross-compile"
-# --disable-symver may indicate a bug
-# FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-symver"
-
-# Developer options (useful when working on FFmpeg itself):
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-stripping"
-
-##
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --arch=$FF_ARCH"
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --target-os=$FF_TAGET_OS"
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-static"
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --disable-shared"
-FFMPEG_EXTRA_CFLAGS=
-
-# i386, x86_64
-FFMPEG_CFG_FLAGS_SIMULATOR=
-FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --disable-asm"
-FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --disable-mmx"
-FFMPEG_CFG_FLAGS_SIMULATOR="$FFMPEG_CFG_FLAGS_SIMULATOR --assert-level=2"
-
-# armv7, armv7s, arm64
-FFMPEG_CFG_FLAGS_ARM=
-FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-pic"
-FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-neon"
-case "$FF_BUILD_OPT" in
- debug)
- FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-optimizations"
- FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-debug"
- FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-small"
- ;;
- *)
- FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-optimizations"
- FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-debug"
- FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-small"
- ;;
-esac
-
-echo "build_root: $FF_BUILD_ROOT"
-
-#--------------------
-echo "===================="
-echo "[*] check gas-preprocessor"
-echo "===================="
-FF_TOOLS_ROOT="$FF_BUILD_ROOT/../extra"
-export PATH="$FF_TOOLS_ROOT/gas-preprocessor:$PATH"
-
-echo "gasp: $FF_TOOLS_ROOT/gas-preprocessor/gas-preprocessor.pl"
-
-#--------------------
-echo "===================="
-echo "[*] config arch $FF_ARCH"
-echo "===================="
-
-FF_BUILD_NAME="unknown"
-FF_XCRUN_PLATFORM="iPhoneOS"
-FF_XCRUN_OSVERSION=
-FF_GASPP_EXPORT=
-FF_DEP_OPENSSL_INC=
-FF_DEP_OPENSSL_LIB=
-FF_XCODE_BITCODE=
-
-if [ "$FF_ARCH" = "i386" ]; then
- FF_BUILD_NAME="ffmpeg-i386"
- FF_BUILD_NAME_OPENSSL=openssl-i386
- FF_XCRUN_PLATFORM="iPhoneSimulator"
- FF_XCRUN_OSVERSION="-mios-simulator-version-min=6.0"
- FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $FFMPEG_CFG_FLAGS_SIMULATOR"
-elif [ "$FF_ARCH" = "x86_64" ]; then
- FF_BUILD_NAME="ffmpeg-x86_64"
- FF_BUILD_NAME_OPENSSL=openssl-x86_64
- FF_XCRUN_PLATFORM="iPhoneSimulator"
- FF_XCRUN_OSVERSION="-mios-simulator-version-min=7.0"
- FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $FFMPEG_CFG_FLAGS_SIMULATOR"
-elif [ "$FF_ARCH" = "armv7" ]; then
- FF_BUILD_NAME="ffmpeg-armv7"
- FF_BUILD_NAME_OPENSSL=openssl-armv7
- FF_XCRUN_OSVERSION="-miphoneos-version-min=6.0"
- FF_XCODE_BITCODE="-fembed-bitcode"
- FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"
- FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $FFMPEG_CFG_FLAGS_ARM"
-# FFMPEG_CFG_CPU="--cpu=cortex-a8"
-elif [ "$FF_ARCH" = "armv7s" ]; then
- FF_BUILD_NAME="ffmpeg-armv7s"
- FF_BUILD_NAME_OPENSSL=openssl-armv7s
- FFMPEG_CFG_CPU="--cpu=swift"
- FF_XCRUN_OSVERSION="-miphoneos-version-min=6.0"
- FF_XCODE_BITCODE="-fembed-bitcode"
- FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"
- FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $FFMPEG_CFG_FLAGS_ARM"
-elif [ "$FF_ARCH" = "arm64" ]; then
- FF_BUILD_NAME="ffmpeg-arm64"
- FF_BUILD_NAME_OPENSSL=openssl-arm64
- FF_XCRUN_OSVERSION="-miphoneos-version-min=7.0"
- FF_XCODE_BITCODE="-fembed-bitcode"
- FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $FFMPEG_CFG_FLAGS_ARM"
- FF_GASPP_EXPORT="GASPP_FIX_XCODE5=1"
-else
- echo "unknown architecture $FF_ARCH";
- exit 1
-fi
-
-echo "build_name: $FF_BUILD_NAME"
-echo "platform: $FF_XCRUN_PLATFORM"
-echo "osversion: $FF_XCRUN_OSVERSION"
-
-#--------------------
-echo "===================="
-echo "[*] make ios toolchain $FF_BUILD_NAME"
-echo "===================="
-
-FF_BUILD_SOURCE="$FF_BUILD_ROOT/$FF_BUILD_NAME"
-FF_BUILD_PREFIX="$FF_BUILD_ROOT/build/$FF_BUILD_NAME/output"
-
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --prefix=$FF_BUILD_PREFIX"
-
-mkdir -p $FF_BUILD_PREFIX
-
-echo "build_source: $FF_BUILD_SOURCE"
-echo "build_prefix: $FF_BUILD_PREFIX"
-
-#--------------------
-echo "\n--------------------"
-echo "[*] configurate ffmpeg"
-echo "--------------------"
-FF_XCRUN_SDK=`echo $FF_XCRUN_PLATFORM | tr '[:upper:]' '[:lower:]'`
-FF_XCRUN_CC="xcrun -sdk $FF_XCRUN_SDK clang"
-
-FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS $FFMPEG_CFG_CPU"
-
-FFMPEG_CFLAGS=
-FFMPEG_CFLAGS="$FFMPEG_CFLAGS -arch $FF_ARCH"
-FFMPEG_CFLAGS="$FFMPEG_CFLAGS $FF_XCRUN_OSVERSION"
-FFMPEG_CFLAGS="$FFMPEG_CFLAGS $FFMPEG_EXTRA_CFLAGS"
-FFMPEG_CFLAGS="$FFMPEG_CFLAGS $FF_XCODE_BITCODE"
-FFMPEG_LDFLAGS="$FFMPEG_CFLAGS"
-FFMPEG_DEP_LIBS=
-
-#--------------------
-echo "\n--------------------"
-echo "[*] check OpenSSL"
-echo "----------------------"
-FFMPEG_DEP_OPENSSL_INC=$FF_BUILD_ROOT/build/$FF_BUILD_NAME_OPENSSL/output/include
-FFMPEG_DEP_OPENSSL_LIB=$FF_BUILD_ROOT/build/$FF_BUILD_NAME_OPENSSL/output/lib
-#--------------------
-# with openssl
-if [ -f "${FFMPEG_DEP_OPENSSL_LIB}/libssl.a" ]; then
- FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-openssl"
-
- FFMPEG_CFLAGS="$FFMPEG_CFLAGS -I${FFMPEG_DEP_OPENSSL_INC}"
- FFMPEG_DEP_LIBS="$FFMPEG_CFLAGS -L${FFMPEG_DEP_OPENSSL_LIB} -lssl -lcrypto"
-fi
-
-#--------------------
-echo "\n--------------------"
-echo "[*] configure"
-echo "----------------------"
-
-if [ ! -d $FF_BUILD_SOURCE ]; then
- echo ""
- echo "!! ERROR"
- echo "!! Can not find FFmpeg directory for $FF_BUILD_NAME"
- echo "!! Run 'sh init-ios.sh' first"
- echo ""
- exit 1
-fi
-
-# xcode configuration
-export DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
-
-cd $FF_BUILD_SOURCE
-if [ -f "./config.h" ]; then
- echo 'reuse configure'
-else
- echo "config: $FFMPEG_CFG_FLAGS $FF_XCRUN_CC"
- ./configure \
- $FFMPEG_CFG_FLAGS \
- --cc="$FF_XCRUN_CC" \
- $FFMPEG_CFG_CPU \
- --extra-cflags="$FFMPEG_CFLAGS" \
- --extra-cxxflags="$FFMPEG_CFLAGS" \
- --extra-ldflags="$FFMPEG_LDFLAGS $FFMPEG_DEP_LIBS"
- make clean
-fi
-
-#--------------------
-echo "\n--------------------"
-echo "[*] compile ffmpeg"
-echo "--------------------"
-cp config.* $FF_BUILD_PREFIX
-make -j3 $FF_GASPP_EXPORT
-make install
-mkdir -p $FF_BUILD_PREFIX/include/libffmpeg
-cp -f config.h $FF_BUILD_PREFIX/include/libffmpeg/config.h
diff --git a/ios/tools/do-compile-openssl.sh b/ios/tools/do-compile-openssl.sh
deleted file mode 100755
index 3ba417c10e..0000000000
--- a/ios/tools/do-compile-openssl.sh
+++ /dev/null
@@ -1,184 +0,0 @@
-#! /usr/bin/env bash
-#
-# Copyright (C) 2013-2014 Bilibili
-# Copyright (C) 2013-2014 Zhang Rui
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# This script is based on projects below
-# https://github.com/x2on/OpenSSL-for-iPhone
-
-#--------------------
-echo "===================="
-echo "[*] check host"
-echo "===================="
-set -e
-
-
-FF_XCRUN_DEVELOPER=`xcode-select -print-path`
-if [ ! -d "$FF_XCRUN_DEVELOPER" ]; then
- echo "xcode path is not set correctly $FF_XCRUN_DEVELOPER does not exist (most likely because of xcode > 4.3)"
- echo "run"
- echo "sudo xcode-select -switch "
- echo "for default installation:"
- echo "sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer"
- exit 1
-fi
-
-case $FF_XCRUN_DEVELOPER in
- *\ * )
- echo "Your Xcode path contains whitespaces, which is not supported."
- exit 1
- ;;
-esac
-
-
-#--------------------
-# include
-
-
-#--------------------
-# common defines
-FF_ARCH=$1
-if [ -z "$FF_ARCH" ]; then
- echo "You must specific an architecture 'armv7, armv7s, arm64, i386, x86_64, ...'.\n"
- exit 1
-fi
-
-
-FF_BUILD_ROOT=`pwd`
-FF_TAGET_OS="darwin"
-
-
-# openssl build params
-export COMMON_FF_CFG_FLAGS=
-
-OPENSSL_CFG_FLAGS=
-OPENSSL_EXTRA_CFLAGS=
-OPENSSL_CFG_CPU=
-
-# i386, x86_64
-OPENSSL_CFG_FLAGS_SIMULATOR=
-
-# armv7, armv7s, arm64
-OPENSSL_CFG_FLAGS_ARM=
-OPENSSL_CFG_FLAGS_ARM="iphoneos-cross"
-
-echo "build_root: $FF_BUILD_ROOT"
-
-#--------------------
-echo "===================="
-echo "[*] config arch $FF_ARCH"
-echo "===================="
-
-FF_BUILD_NAME="unknown"
-FF_XCRUN_PLATFORM="iPhoneOS"
-FF_XCRUN_OSVERSION=
-FF_GASPP_EXPORT=
-FF_XCODE_BITCODE=
-
-if [ "$FF_ARCH" = "i386" ]; then
- FF_BUILD_NAME="openssl-i386"
- FF_XCRUN_PLATFORM="iPhoneSimulator"
- FF_XCRUN_OSVERSION="-mios-simulator-version-min=6.0"
- OPENSSL_CFG_FLAGS="darwin-i386-cc $OPENSSL_CFG_FLAGS"
-elif [ "$FF_ARCH" = "x86_64" ]; then
- FF_BUILD_NAME="openssl-x86_64"
- FF_XCRUN_PLATFORM="iPhoneSimulator"
- FF_XCRUN_OSVERSION="-mios-simulator-version-min=7.0"
- OPENSSL_CFG_FLAGS="darwin64-x86_64-cc $OPENSSL_CFG_FLAGS"
-elif [ "$FF_ARCH" = "armv7" ]; then
- FF_BUILD_NAME="openssl-armv7"
- FF_XCRUN_OSVERSION="-miphoneos-version-min=6.0"
- FF_XCODE_BITCODE="-fembed-bitcode"
- OPENSSL_CFG_FLAGS="$OPENSSL_CFG_FLAGS_ARM $OPENSSL_CFG_FLAGS"
-# OPENSSL_CFG_CPU="--cpu=cortex-a8"
-elif [ "$FF_ARCH" = "armv7s" ]; then
- FF_BUILD_NAME="openssl-armv7s"
- OPENSSL_CFG_CPU="--cpu=swift"
- FF_XCRUN_OSVERSION="-miphoneos-version-min=6.0"
- FF_XCODE_BITCODE="-fembed-bitcode"
- OPENSSL_CFG_FLAGS="$OPENSSL_CFG_FLAGS_ARM $OPENSSL_CFG_FLAGS"
-elif [ "$FF_ARCH" = "arm64" ]; then
- FF_BUILD_NAME="openssl-arm64"
- FF_XCRUN_OSVERSION="-miphoneos-version-min=7.0"
- FF_XCODE_BITCODE="-fembed-bitcode"
- OPENSSL_CFG_FLAGS="$OPENSSL_CFG_FLAGS_ARM $OPENSSL_CFG_FLAGS"
- FF_GASPP_EXPORT="GASPP_FIX_XCODE5=1"
-else
- echo "unknown architecture $FF_ARCH";
- exit 1
-fi
-
-echo "build_name: $FF_BUILD_NAME"
-echo "platform: $FF_XCRUN_PLATFORM"
-echo "osversion: $FF_XCRUN_OSVERSION"
-
-#--------------------
-echo "===================="
-echo "[*] make ios toolchain $FF_BUILD_NAME"
-echo "===================="
-
-
-FF_BUILD_SOURCE="$FF_BUILD_ROOT/$FF_BUILD_NAME"
-FF_BUILD_PREFIX="$FF_BUILD_ROOT/build/$FF_BUILD_NAME/output"
-
-mkdir -p $FF_BUILD_PREFIX
-
-
-FF_XCRUN_SDK=`echo $FF_XCRUN_PLATFORM | tr '[:upper:]' '[:lower:]'`
-FF_XCRUN_SDK_PLATFORM_PATH=`xcrun -sdk $FF_XCRUN_SDK --show-sdk-platform-path`
-FF_XCRUN_SDK_PATH=`xcrun -sdk $FF_XCRUN_SDK --show-sdk-path`
-FF_XCRUN_CC="xcrun -sdk $FF_XCRUN_SDK clang"
-
-export CROSS_TOP="$FF_XCRUN_SDK_PLATFORM_PATH/Developer"
-export CROSS_SDK=`echo ${FF_XCRUN_SDK_PATH/#$CROSS_TOP\/SDKs\//}`
-export BUILD_TOOL="$FF_XCRUN_DEVELOPER"
-export CC="$FF_XCRUN_CC -arch $FF_ARCH $FF_XCRUN_OSVERSION"
-
-echo "build_source: $FF_BUILD_SOURCE"
-echo "build_prefix: $FF_BUILD_PREFIX"
-echo "CROSS_TOP: $CROSS_TOP"
-echo "CROSS_SDK: $CROSS_SDK"
-echo "BUILD_TOOL: $BUILD_TOOL"
-echo "CC: $CC"
-
-#--------------------
-echo "\n--------------------"
-echo "[*] configurate openssl"
-echo "--------------------"
-
-OPENSSL_CFG_FLAGS="$OPENSSL_CFG_FLAGS $FF_XCODE_BITCODE"
-OPENSSL_CFG_FLAGS="$OPENSSL_CFG_FLAGS --openssldir=$FF_BUILD_PREFIX"
-
-# xcode configuration
-export DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
-
-cd $FF_BUILD_SOURCE
-if [ -f "./Makefile" ]; then
- echo 'reuse configure'
-else
- echo "config: $OPENSSL_CFG_FLAGS"
- ./Configure \
- $OPENSSL_CFG_FLAGS
- make clean
-fi
-
-#--------------------
-echo "\n--------------------"
-echo "[*] compile openssl"
-echo "--------------------"
-set +e
-make
-make install_sw
diff --git a/compile-android-j4a.sh b/ios/xcframewrok/make-podspec.sh
similarity index 63%
rename from compile-android-j4a.sh
rename to ios/xcframewrok/make-podspec.sh
index 4020fa7ff2..795a892fa0 100755
--- a/compile-android-j4a.sh
+++ b/ios/xcframewrok/make-podspec.sh
@@ -1,8 +1,7 @@
#! /usr/bin/env bash
#
-# Copyright (C) 2016 Bilibili
-# Copyright (C) 2016 Zhang Rui
-#
+# Copyright (C) 2024 Matt Reach
+
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
@@ -14,15 +13,14 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-#
-set -e
+THIS_DIR=$(DIRNAME=$(dirname "$0"); cd "$DIRNAME"; pwd)
+cd "$THIS_DIR"
-cd extra/jni4android-fork
-./configure --incdir=../../ijkmedia/ijkj4a --bindir=../bin
-make install
-cd -
+set -e
+version=${1:-$(grep -m 1 VERSION_NAME= ../../version.sh | awk -F = '{printf "%s",$2}')}
-cd ijkmedia/ijkj4a
-make
-cd -
+fn=IJKMediaFramework.spec.json
+cat 'template.spec.json' \
+ | sed "s/__VERSION__/${version}/" \
+ > "${fn}"
diff --git a/ios/xcframewrok/make-xcframework.sh b/ios/xcframewrok/make-xcframework.sh
new file mode 100755
index 0000000000..058a41a81a
--- /dev/null
+++ b/ios/xcframewrok/make-xcframework.sh
@@ -0,0 +1,54 @@
+#! /usr/bin/env bash
+#
+# Copyright (C) 2024 Matt Reach
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+THIS_DIR=$(DIRNAME=$(dirname "$0"); cd "$DIRNAME"; pwd)
+cd "$THIS_DIR"
+
+set -e
+
+function get_inputs_with_path()
+{
+ fmwk="$1"
+ inputs=""
+ if [[ -d $fmwk ]]; then
+ inputs="$inputs -framework $fmwk"
+ fi
+ fmwk_dsym="${fmwk}.dSYM"
+ if [[ -d $fmwk_dsym ]]; then
+ inputs="$inputs -debug-symbols $(cd $fmwk_dsym; DIRNAME=$(dirname pwd); cd "$DIRNAME"; pwd)"
+ fi
+ echo "$inputs"
+}
+
+function get_inputs()
+{
+ # add iOS
+ ios_inputs=$(get_inputs_with_path '../IJKMediaPlayer/Release-iphoneos/IJKMediaFramework.framework')
+ # add iOS Simulator
+ ios_sim_inputs=$(get_inputs_with_path '../IJKMediaPlayer/Release-iphonesimulator/IJKMediaFramework.framework')
+
+ echo "${ios_inputs} ${ios_sim_inputs}"
+}
+
+function do_make_xcframework() {
+ inputs="$(get_inputs)"
+ output=IJKMediaFramework.xcframework
+ rm -rf "$output"
+ echo "xcodebuild -create-xcframework $inputs -output $output"
+ xcodebuild -create-xcframework $inputs -output $output
+}
+
+do_make_xcframework
\ No newline at end of file
diff --git a/ios/xcframewrok/template.spec.json b/ios/xcframewrok/template.spec.json
new file mode 100644
index 0000000000..005eab97ae
--- /dev/null
+++ b/ios/xcframewrok/template.spec.json
@@ -0,0 +1,65 @@
+{
+ "name": "IJKMediaFramework",
+ "version": "__VERSION__",
+ "summary": "IJKMediaFramework is iOS platform ijkplayer framework.",
+ "description": "IJKMediaFramework is iOS platform ijkplayer framework.",
+ "homepage": "https://github.com/debugly/ijkplayer",
+ "documentation_url": "https://github.com/debugly/ijkplayer",
+ "social_media_url": "https://github.com/debugly/ijkplayer",
+ "license": {
+ "type": "LGPL",
+ "file": "IJKMediaFramework/LICENSE"
+ },
+ "authors": {
+ "MattReach": "qianlongxu@gmail.com"
+ },
+ "platforms": {
+ "ios": "11.0"
+ },
+ "source": {
+ "http": "https://github.com/debugly/ijkplayer/releases/download/k__VERSION__/IJKMediaFramework.zip"
+ },
+ "preserve_paths": [
+ "IJKMediaFramework/README.md",
+ "IJKMediaFramework/CHANGELOG.md",
+ "IJKMediaFramework/LICENSE"
+ ],
+ "vendored_frameworks": "IJKMediaFramework.xcframework",
+ "libraries": [
+ "z",
+ "iconv",
+ "xml2",
+ "bz2",
+ "c++",
+ "lzma"
+ ],
+ "frameworks": [
+ "AVFoundation",
+ "AudioToolbox",
+ "CoreMedia",
+ "CoreVideo",
+ "VideoToolbox",
+ "Metal"
+ ],
+ "osx": {
+ "frameworks": [
+ "Cocoa",
+ "AudioUnit",
+ "OpenGL",
+ "GLKit",
+ "CoreImage"
+ ]
+ },
+ "tvos": {
+ "frameworks": [
+ "UIKit",
+ "OpenGLES"
+ ]
+ },
+ "ios": {
+ "frameworks": [
+ "UIKit",
+ "OpenGLES"
+ ]
+ }
+}
diff --git a/tools/pull-repo-base.sh b/tools/pull-repo-base.sh
deleted file mode 100644
index 59fb5c7f69..0000000000
--- a/tools/pull-repo-base.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#! /usr/bin/env bash
-
-REMOTE_REPO=$1
-LOCAL_WORKSPACE=$2
-
-
-if [ -z $REMOTE_REPO -o -z $LOCAL_WORKSPACE ]; then
- echo "invalid call pull-repo.sh '$REMOTE_REPO' '$LOCAL_WORKSPACE'"
-elif [ ! -d $LOCAL_WORKSPACE ]; then
- git clone $REMOTE_REPO $LOCAL_WORKSPACE
-else
- cd $LOCAL_WORKSPACE
- git fetch --all --tags
- cd -
-fi
diff --git a/tools/pull-repo-ref.sh b/tools/pull-repo-ref.sh
deleted file mode 100644
index d2247ed7f6..0000000000
--- a/tools/pull-repo-ref.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /usr/bin/env bash
-
-REMOTE_REPO=$1
-LOCAL_WORKSPACE=$2
-REF_REPO=$3
-
-if [ -z $1 -o -z $2 -o -z $3 ]; then
- echo "invalid call pull-repo.sh '$1' '$2' '$3'"
-elif [ ! -d $LOCAL_WORKSPACE ]; then
- git clone --reference $REF_REPO $REMOTE_REPO $LOCAL_WORKSPACE
- cd $LOCAL_WORKSPACE
- git repack -a
-else
- cd $LOCAL_WORKSPACE
- git fetch --all --tags
- cd -
-fi
diff --git a/tools/setup-as-commiter.sh b/tools/setup-as-commiter.sh
deleted file mode 100644
index 73b2bc8e0d..0000000000
--- a/tools/setup-as-commiter.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#! /usr/bin/env bash
-
-git remote add gitcafe git@gitcafe.com:bbcallen/ijkplayer.git
-git remote add oschina git@git.oschina.net:bbcallen/ijkplayer.git
-git remote add csdn git@code.csdn.net:bbcallen/ijkplayer.git
-git fetch --all
-
diff --git a/tools/sync-mirrors.sh b/tools/sync-mirrors.sh
deleted file mode 100644
index bde1174601..0000000000
--- a/tools/sync-mirrors.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#! /usr/bin/env bash
-
-git push origin --all --follow-tags
-git push gitcafe --all --follow-tags
-git push oschina --all --follow-tags
-git push csdn --all --follow-tags
-
diff --git a/version.sh b/version.sh
index a7d28e32e7..5c679d3ec4 100755
--- a/version.sh
+++ b/version.sh
@@ -2,8 +2,8 @@
set -e
-VERSION_CODE=800800
-VERSION_NAME=0.8.8
+VERSION_CODE=800900
+VERSION_NAME=0.8.9
VERSION_TARGET=$1
do_version_readme() {
@@ -12,11 +12,15 @@ do_version_readme() {
# | sed "s/\(#compile 'tv.danmaku.ijk.media:ijkplayer-java:#\)[[:digit:]][[:digit:].]*\(#'#\)/\1:$VERSION_NAME\2/" \
# > README.md.new
+ # cat README.md \
+ # | sed "s/\(compile \'tv.danmaku.ijk.media:ijkplayer-[[:alnum:]_]*:\)[[:digit:].]*[[:digit:]]/\1$VERSION_NAME/g" \
+ # | sed "s/\(git checkout -B latest k\)[[:digit:]][[:digit:].]*/\1$VERSION_NAME/g" \
+ # > README.md.new
+
cat README.md \
- | sed "s/\(compile \'tv.danmaku.ijk.media:ijkplayer-[[:alnum:]_]*:\)[[:digit:].]*[[:digit:]]/\1$VERSION_NAME/g" \
- | sed "s/\(git checkout -B latest k\)[[:digit:]][[:digit:].]*/\1$VERSION_NAME/g" \
+ | sed "s#\(.*download/k\)\([[:alnum:].-]*\)\(/IJKMediaFramework.spec.json\)#\1$VERSION_NAME\3#g" \
+ | sed "s#\(.*download/k\)\([[:alnum:].-]*\)\(/ijkplayer-cmake-release.aar\)#\1$VERSION_NAME\3#g" \
> README.md.new
-
mv -f README.md.new README.md
}