├── MODULE_LICENSE_APACHE2
├── config
└── module.sh
├── COPYING.LGPLv2.1.txt
├── ijkmedia
├── ijkj4a
│ ├── .gitignore
│ ├── j4a
│ │ ├── class
│ │ │ ├── java
│ │ │ │ ├── nio
│ │ │ │ │ ├── Buffer.loader.j4a
│ │ │ │ │ ├── Buffer.include.j4a
│ │ │ │ │ ├── ByteBuffer.loader.j4a
│ │ │ │ │ ├── ByteBuffer.include.j4a
│ │ │ │ │ └── Buffer.h
│ │ │ │ └── util
│ │ │ │ │ ├── ArrayList.loader.j4a
│ │ │ │ │ └── ArrayList.include.j4a
│ │ │ ├── android
│ │ │ │ ├── os
│ │ │ │ │ ├── Build.include.j4a
│ │ │ │ │ ├── Build.loader.j4a
│ │ │ │ │ ├── Bundle.loader.j4a
│ │ │ │ │ └── Bundle.include.j4a
│ │ │ │ └── media
│ │ │ │ │ ├── AudioTrack.loader.j4a
│ │ │ │ │ ├── MediaCodec.loader.j4a
│ │ │ │ │ ├── MediaFormat.loader.j4a
│ │ │ │ │ ├── AudioTrack.include.j4a
│ │ │ │ │ ├── MediaCodec.include.j4a
│ │ │ │ │ ├── MediaFormat.include.j4a
│ │ │ │ │ ├── PlaybackParams.include.j4a
│ │ │ │ │ └── PlaybackParams.loader.j4a
│ │ │ └── tv
│ │ │ │ └── danmaku
│ │ │ │ └── ijk
│ │ │ │ └── media
│ │ │ │ └── player
│ │ │ │ ├── IjkMediaPlayer.loader.j4a
│ │ │ │ ├── IjkMediaPlayer.include.j4a
│ │ │ │ └── misc
│ │ │ │ ├── IMediaDataSource.loader.j4a
│ │ │ │ └── IMediaDataSource.include.j4a
│ │ ├── j4a_allclasses.loader.h
│ │ ├── j4a_allclasses.include.h
│ │ ├── j4a_allclasses.h
│ │ └── j4a_allclasses.c
│ └── java
│ │ ├── java
│ │ ├── nio
│ │ │ ├── Buffer.java
│ │ │ └── ByteBuffer.java
│ │ └── util
│ │ │ └── ArrayList.java
│ │ ├── android
│ │ ├── media
│ │ │ ├── MediaCrypto.java
│ │ │ ├── PlaybackParams.java
│ │ │ ├── MediaFormat.java
│ │ │ ├── AudioTrack.java
│ │ │ └── MediaCodec.java
│ │ └── os
│ │ │ ├── Build.java
│ │ │ └── Bundle.java
│ │ └── tv
│ │ └── danmaku
│ │ └── ijk
│ │ └── media
│ │ └── player
│ │ ├── misc
│ │ └── IMediaDataSource.java
│ │ └── IjkMediaPlayer.java
├── ijkplayer
│ ├── .gitignore
│ ├── ff_ffutils.h
│ ├── android
│ │ └── ffmpeg_api_jni.h
│ ├── ijkavformat
│ │ └── ijkavformat.h
│ ├── ff_fferror.h
│ └── pipeline
│ │ ├── ffpipeline_ffplay.h
│ │ └── ffpipenode_ffplay_vdec.h
├── Android.mk
└── ijksdl
│ ├── android
│ └── ijksdl_codec_android_mediacodec_dummy.h
│ ├── ijksdl_stdinc.c
│ ├── ijksdl_inc_internal.h
│ ├── ijksdl_error.h
│ ├── ijksdl_error.c
│ ├── ijksdl_video.h
│ ├── ijksdl_class.h
│ └── dummy
│ └── ijksdl_dummy.h
├── android
├── ijkplayer
│ ├── ijkplayer-exo
│ │ ├── .gitignore
│ │ ├── gradle.properties
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ └── AndroidManifest.xml
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── tv
│ │ │ │ └── danmaku
│ │ │ │ └── ijk
│ │ │ │ └── media
│ │ │ │ └── exo
│ │ │ │ └── ApplicationTest.java
│ │ └── proguard-rules.pro
│ ├── ijkplayer-x86
│ │ ├── .gitignore
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── jni
│ │ │ │ │ ├── ijkmedia
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── ffmpeg
│ │ │ │ │ │ ├── include
│ │ │ │ │ │ └── Android.mk
│ │ │ │ │ └── Application.mk
│ │ │ │ ├── .settings
│ │ │ │ │ └── org.eclipse.jdt.core.prefs
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ ├── .classpath
│ │ │ │ ├── project.properties
│ │ │ │ ├── java
│ │ │ │ │ └── tv
│ │ │ │ │ │ └── danmaku
│ │ │ │ │ │ └── ijk
│ │ │ │ │ │ └── media
│ │ │ │ │ │ └── player_x86
│ │ │ │ │ │ └── Pragma.java
│ │ │ │ └── .project
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── tv
│ │ │ │ └── danmaku
│ │ │ │ └── ijk
│ │ │ │ └── media
│ │ │ │ └── ijkplayer
│ │ │ │ └── ApplicationTest.java
│ │ ├── gradle.properties
│ │ ├── proguard-rules.pro
│ │ └── build.gradle
│ ├── ijkplayer-arm64
│ │ ├── .gitignore
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── jni
│ │ │ │ │ ├── ijkmedia
│ │ │ │ │ ├── ffmpeg
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ └── Application.mk
│ │ │ │ ├── .settings
│ │ │ │ │ └── org.eclipse.jdt.core.prefs
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── .classpath
│ │ │ │ ├── project.properties
│ │ │ │ ├── java
│ │ │ │ │ └── tv
│ │ │ │ │ │ └── danmaku
│ │ │ │ │ │ └── ijk
│ │ │ │ │ │ └── media
│ │ │ │ │ │ └── player_arm64
│ │ │ │ │ │ └── Pragma.java
│ │ │ │ └── .project
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── tv
│ │ │ │ └── danmaku
│ │ │ │ └── ijk
│ │ │ │ └── media
│ │ │ │ └── player_arm64
│ │ │ │ └── ApplicationTest.java
│ │ ├── gradle.properties
│ │ ├── proguard-rules.pro
│ │ └── build.gradle
│ ├── ijkplayer-armv5
│ │ ├── .gitignore
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── jni
│ │ │ │ │ ├── ijkmedia
│ │ │ │ │ ├── ffmpeg
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ └── Application.mk
│ │ │ │ ├── .settings
│ │ │ │ │ └── org.eclipse.jdt.core.prefs
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ ├── .classpath
│ │ │ │ ├── project.properties
│ │ │ │ ├── java
│ │ │ │ │ └── tv
│ │ │ │ │ │ └── danmaku
│ │ │ │ │ │ └── ijk
│ │ │ │ │ │ └── media
│ │ │ │ │ │ └── player_armv5
│ │ │ │ │ │ └── Pragma.java
│ │ │ │ └── .project
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── tv
│ │ │ │ └── danmaku
│ │ │ │ └── ijk
│ │ │ │ └── media
│ │ │ │ └── player_armv5
│ │ │ │ └── ApplicationTest.java
│ │ ├── gradle.properties
│ │ ├── proguard-rules.pro
│ │ └── build.gradle
│ ├── ijkplayer-armv7a
│ │ ├── .gitignore
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── jni
│ │ │ │ │ ├── ijkmedia
│ │ │ │ │ ├── ffmpeg
│ │ │ │ │ │ └── Android.mk
│ │ │ │ │ └── Application.mk
│ │ │ │ ├── .settings
│ │ │ │ │ └── org.eclipse.jdt.core.prefs
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ ├── .classpath
│ │ │ │ ├── project.properties
│ │ │ │ ├── java
│ │ │ │ │ └── tv
│ │ │ │ │ │ └── danmaku
│ │ │ │ │ │ └── ijk
│ │ │ │ │ │ └── media
│ │ │ │ │ │ └── player_armv7a
│ │ │ │ │ │ └── Pragma.java
│ │ │ │ └── .project
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── tv
│ │ │ │ └── danmaku
│ │ │ │ └── ijk
│ │ │ │ └── media
│ │ │ │ └── player_armv7a
│ │ │ │ └── ApplicationTest.java
│ │ ├── gradle.properties
│ │ ├── proguard-rules.pro
│ │ └── build.gradle
│ ├── ijkplayer-example
│ │ ├── .gitignore
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── res
│ │ │ │ │ ├── values-v11
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ ├── values-v14
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ ├── values
│ │ │ │ │ │ ├── ids.xml
│ │ │ │ │ │ ├── themes.xml
│ │ │ │ │ │ ├── attrs.xml
│ │ │ │ │ │ ├── dimens.xml
│ │ │ │ │ │ ├── colors.xml
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ └── ic_launcher.png
│ │ │ │ │ ├── drawable-hdpi
│ │ │ │ │ │ ├── ic_theme_folder.png
│ │ │ │ │ │ ├── ic_theme_description.png
│ │ │ │ │ │ ├── ic_theme_play_arrow.png
│ │ │ │ │ │ ├── ic_action_dark_filter.png
│ │ │ │ │ │ ├── ic_action_dark_settings.png
│ │ │ │ │ │ └── ic_action_dark_aspect_ratio.png
│ │ │ │ │ ├── drawable-mdpi
│ │ │ │ │ │ ├── ic_theme_folder.png
│ │ │ │ │ │ ├── ic_theme_description.png
│ │ │ │ │ │ ├── ic_theme_play_arrow.png
│ │ │ │ │ │ ├── ic_action_dark_filter.png
│ │ │ │ │ │ ├── ic_action_dark_settings.png
│ │ │ │ │ │ └── ic_action_dark_aspect_ratio.png
│ │ │ │ │ ├── drawable-xhdpi
│ │ │ │ │ │ ├── ic_theme_folder.png
│ │ │ │ │ │ ├── ic_theme_play_arrow.png
│ │ │ │ │ │ ├── ic_action_dark_filter.png
│ │ │ │ │ │ ├── ic_theme_description.png
│ │ │ │ │ │ ├── ic_action_dark_settings.png
│ │ │ │ │ │ └── ic_action_dark_aspect_ratio.png
│ │ │ │ │ ├── drawable-xxhdpi
│ │ │ │ │ │ ├── ic_theme_folder.png
│ │ │ │ │ │ ├── ic_theme_description.png
│ │ │ │ │ │ ├── ic_theme_play_arrow.png
│ │ │ │ │ │ ├── ic_action_dark_filter.png
│ │ │ │ │ │ ├── ic_action_dark_settings.png
│ │ │ │ │ │ └── ic_action_dark_aspect_ratio.png
│ │ │ │ │ ├── drawable-xxxhdpi
│ │ │ │ │ │ ├── ic_theme_folder.png
│ │ │ │ │ │ ├── ic_theme_play_arrow.png
│ │ │ │ │ │ ├── ic_action_dark_filter.png
│ │ │ │ │ │ ├── ic_theme_description.png
│ │ │ │ │ │ ├── ic_action_dark_settings.png
│ │ │ │ │ │ └── ic_action_dark_aspect_ratio.png
│ │ │ │ │ ├── values-w820dp
│ │ │ │ │ │ └── dimens.xml
│ │ │ │ │ ├── layout
│ │ │ │ │ │ ├── table_media_info.xml
│ │ │ │ │ │ ├── table_media_info_section.xml
│ │ │ │ │ │ ├── activity_app.xml
│ │ │ │ │ │ ├── widget_toolbar.xml
│ │ │ │ │ │ ├── fragment_track_list.xml
│ │ │ │ │ │ ├── table_media_info_row1.xml
│ │ │ │ │ │ ├── fragment_file_list_item.xml
│ │ │ │ │ │ ├── table_media_info_row2.xml
│ │ │ │ │ │ └── fragment_file_list.xml
│ │ │ │ │ └── menu
│ │ │ │ │ │ ├── menu_app.xml
│ │ │ │ │ │ └── menu_player.xml
│ │ │ │ ├── .settings
│ │ │ │ │ └── org.eclipse.jdt.core.prefs
│ │ │ │ ├── .project
│ │ │ │ ├── project.properties
│ │ │ │ └── .classpath
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── tv
│ │ │ │ └── danmaku
│ │ │ │ └── ijk
│ │ │ │ └── media
│ │ │ │ └── example
│ │ │ │ └── ApplicationTest.java
│ │ └── proguard-rules.pro
│ ├── ijkplayer-java
│ │ ├── .gitignore
│ │ ├── gradle.properties
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ ├── java
│ │ │ │ │ └── tv
│ │ │ │ │ │ └── danmaku
│ │ │ │ │ │ └── ijk
│ │ │ │ │ │ └── media
│ │ │ │ │ │ └── player
│ │ │ │ │ │ ├── ffmpeg
│ │ │ │ │ │ └── FFmpegApi.java
│ │ │ │ │ │ ├── pragma
│ │ │ │ │ │ └── Pragma.java
│ │ │ │ │ │ ├── IjkLibLoader.java
│ │ │ │ │ │ ├── exceptions
│ │ │ │ │ │ └── IjkMediaException.java
│ │ │ │ │ │ ├── ISurfaceTextureHost.java
│ │ │ │ │ │ ├── MediaInfo.java
│ │ │ │ │ │ ├── ISurfaceTextureHolder.java
│ │ │ │ │ │ ├── misc
│ │ │ │ │ │ ├── IMediaFormat.java
│ │ │ │ │ │ ├── IMediaDataSource.java
│ │ │ │ │ │ └── ITrackInfo.java
│ │ │ │ │ │ └── annotations
│ │ │ │ │ │ └── AccessedByNative.java
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── .settings
│ │ │ │ │ └── org.eclipse.jdt.core.prefs
│ │ │ │ ├── .classpath
│ │ │ │ ├── project.properties
│ │ │ │ └── .project
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── tv
│ │ │ │ └── danmaku
│ │ │ │ └── ijk
│ │ │ │ └── media
│ │ │ │ └── player
│ │ │ │ └── ApplicationTest.java
│ │ ├── proguard-rules.pro
│ │ └── build.gradle
│ ├── ijkplayer-x86_64
│ │ ├── .gitignore
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── jni
│ │ │ │ │ ├── ijkmedia
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── ffmpeg
│ │ │ │ │ │ ├── include
│ │ │ │ │ │ └── Android.mk
│ │ │ │ │ └── Application.mk
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ └── AndroidManifest.xml
│ │ │ └── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── ijkplayer_x86_64
│ │ │ │ └── ApplicationTest.java
│ │ ├── gradle.properties
│ │ ├── proguard-rules.pro
│ │ └── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── .gitignore
│ ├── settings.gradle
│ ├── build.gradle
│ └── tools
│ │ └── gradle-on-demand.gradle
├── contrib
│ ├── .gitignore
│ └── sync-mirrors.sh
├── android-ndk-prof
├── ijk-addr2line.sh
├── ijk-ndk-stack.sh
└── patches
│ ├── 0004-arm64-link-prebuilt-staic-libraries-of-ffmepg.patch
│ ├── 0004-armv5-link-prebuilt-staic-libraries-of-ffmepg.patch
│ ├── 0001-gitignore-ignore-.externalNativeBuild.patch
│ └── 0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch
├── ios
├── .gitignore
├── IJKMediaPodDemo
│ ├── .gitignore
│ ├── Podfile
│ ├── IJKMediaPodDemo.xcodeproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ ├── IJKMediaPodDemo
│ │ ├── ViewController.h
│ │ ├── AppDelegate.h
│ │ ├── main.m
│ │ └── ViewController.m
│ └── IJKMediaPodDemoTests
│ │ ├── Info.plist
│ │ └── IJKMediaPodDemoTests.m
├── IJKMediaDemo
│ ├── IJKMediaDemo
│ │ ├── en.lproj
│ │ │ └── InfoPlist.strings
│ │ ├── Default.png
│ │ ├── Default@2x.png
│ │ ├── Default-568h@2x.png
│ │ ├── Images.xcassets
│ │ │ ├── LaunchImage.launchimage
│ │ │ │ ├── Default.png
│ │ │ │ ├── Default@2x.png
│ │ │ │ ├── Default-568h@2x.png
│ │ │ │ └── Contents.json
│ │ │ └── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ ├── IJKMediaDemo-Prefix.pch
│ │ ├── main.m
│ │ ├── Barcode.h
│ │ ├── IJKDemoMainViewController.h
│ │ ├── IJKDemoInputURLViewController.h
│ │ ├── IJKQRCodeScanViewController.h
│ │ ├── IJKDemoSampleViewController.h
│ │ ├── IJKDemoLocalFolderViewController.h
│ │ ├── AppIcons.xcassets
│ │ │ └── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ ├── IJKAppDelegate.h
│ │ ├── IJKCommon.h
│ │ └── IJKDemoHistory.h
│ ├── XCAssets
│ │ ├── AppIcons.xcassets
│ │ │ └── AppIcon.appiconset
│ │ │ │ ├── icapp_ipad_ios5_72pt.png
│ │ │ │ ├── icapp_ipad_ios7_76pt.png
│ │ │ │ ├── icset_ipad_ios5_50pt.png
│ │ │ │ ├── icset_ipad_ios7_40pt.png
│ │ │ │ ├── icset_ipad_iosu_29pt.png
│ │ │ │ ├── icapp_iphone_ios5_57pt.png
│ │ │ │ ├── icset_iphone_iosu_29pt.png
│ │ │ │ ├── icapp_ipad_ios5_72pt@2x.png
│ │ │ │ ├── icapp_ipad_ios7_76pt@2x.png
│ │ │ │ ├── icapp_iphone_ios5_57pt@2x.png
│ │ │ │ ├── icapp_iphone_ios7_60pt@2x.png
│ │ │ │ ├── icapp_iphone_ios7_60pt@3x.png
│ │ │ │ ├── icset_ipad_ios5_50pt@2x.png
│ │ │ │ ├── icset_ipad_ios7_40pt@2x.png
│ │ │ │ ├── icset_ipad_iosu_29pt@2x.png
│ │ │ │ ├── icset_iphone_ios7_40pt@2x.png
│ │ │ │ ├── icset_iphone_ios7_40pt@3x.png
│ │ │ │ ├── icset_iphone_iosu_29pt@2x.png
│ │ │ │ └── icset_iphone_iosu_29pt@3x.png
│ │ ├── LaunchImages.xcassets
│ │ │ └── LaunchImage.launchimage
│ │ │ │ ├── iphone_ios5_320_480.png
│ │ │ │ ├── iphone_ios5_640_1136.png
│ │ │ │ ├── iphone_ios5_640_960.png
│ │ │ │ ├── iphone_ios7_640_1136.png
│ │ │ │ ├── iphone_ios7_640_960.png
│ │ │ │ └── Contents.json
│ │ └── MoviePlayerImages.xcassets
│ │ │ └── MoviePlayer
│ │ │ ├── btn_player_play.imageset
│ │ │ ├── btn_player_play.png
│ │ │ ├── btn_player_play@2x.png
│ │ │ └── Contents.json
│ │ │ ├── btn_player_pause.imageset
│ │ │ ├── btn_player_pause.png
│ │ │ ├── btn_player_pause@2x.png
│ │ │ └── Contents.json
│ │ │ ├── player_top_control_bg.imageset
│ │ │ ├── player_top_control_bg.png
│ │ │ ├── player_top_control_bg@2x.png
│ │ │ └── Contents.json
│ │ │ ├── player_bottom_control_bg.imageset
│ │ │ ├── player_bottom_control_bg.png
│ │ │ ├── player_bottom_control_bg@2x.png
│ │ │ └── Contents.json
│ │ │ └── btn_player_back_highlighted.imageset
│ │ │ ├── btn_player_back_highlighted.png
│ │ │ ├── btn_player_back_highlighted@2x.png
│ │ │ └── Contents.json
│ └── IJKMediaDemo.xcodeproj
│ │ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── IJKMediaPlayer
│ ├── build
│ └── IJKMediaFramework.framework
│ │ ├── Info.plist
│ │ ├── IJKMediaFramework
│ │ ├── Modules
│ │ └── module.modulemap
│ │ └── Headers
│ │ ├── IJKMediaPlayer.h
│ │ ├── IJKMPMoviePlayerController.h
│ │ └── IJKMediaModule.h
│ ├── IJKMediaFramework.xcodeproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ ├── IJKMediaPlayer
│ ├── ijkmedia
│ │ ├── ijksdl
│ │ │ └── ios
│ │ │ │ ├── IJKSDLHudViewCell.h
│ │ │ │ ├── IJKSDLHudViewController.h
│ │ │ │ ├── ijksdl_thread_ios.h
│ │ │ │ ├── ijksdl_aout_ios_audiounit.h
│ │ │ │ └── ijksdl_vout_ios_gles2.h
│ │ └── ijkplayer
│ │ │ └── ios
│ │ │ ├── pipeline
│ │ │ └── ffpipeline_ios.h
│ │ │ └── ijkplayer_ios.h
│ ├── IJKMediaPlayer-Prefix.pch
│ ├── NSString+IJKMedia.h
│ ├── IJKMediaPlayer.h
│ ├── IJKAudioKit.h
│ ├── IJKMPMoviePlayerController.h
│ ├── IJKMediaUtils.h
│ └── IJKMediaModule.h
│ ├── IJKMediaFrameworkTests
│ ├── Info.plist
│ └── IJKMediaFrameworkTests.m
│ └── IJKMediaFramework
│ └── Info.plist
├── tools
├── sync-mirrors.sh
├── setup-as-commiter.sh
├── pull-repo-base.sh
└── pull-repo-ref.sh
├── .travis.yml
├── .gitignore
├── init-config.sh
├── doc
└── preflight_checklist.md
├── compile-android-j4a.sh
├── extra
└── init-extra.sh
├── ijkprof
└── android-ndk-profiler-dummy
│ └── jni
│ ├── Android-include.mk
│ └── Android.mk
├── init-android-j4a.sh
├── init-android-libyuv.sh
└── init-android-prof.sh
/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/config/module.sh:
--------------------------------------------------------------------------------
1 | module-lite.sh
--------------------------------------------------------------------------------
/COPYING.LGPLv2.1.txt:
--------------------------------------------------------------------------------
1 | COPYING.LGPLv2.1
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/.gitignore:
--------------------------------------------------------------------------------
1 | bin
2 |
--------------------------------------------------------------------------------
/ijkmedia/ijkplayer/.gitignore:
--------------------------------------------------------------------------------
1 | ijkversion.h
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-exo/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | xcuserdata
2 | xcshareddata
3 | *.xccheckout
4 |
--------------------------------------------------------------------------------
/android/contrib/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | ffmpeg-*
3 | libsoxr-*
4 | openssl-*
5 |
--------------------------------------------------------------------------------
/android/android-ndk-prof:
--------------------------------------------------------------------------------
1 | ../../../../../../ijkprof/android-ndk-profiler-dummy/jni
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/jni/ijkmedia:
--------------------------------------------------------------------------------
1 | ../../../../../../ijkmedia
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/jni/ijkmedia:
--------------------------------------------------------------------------------
1 | ../../../../../../ijkmedia
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ijkmedia:
--------------------------------------------------------------------------------
1 | ../../../../../../ijkmedia
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/jni/ijkmedia:
--------------------------------------------------------------------------------
1 | ../../../../../../ijkmedia
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ijkmedia:
--------------------------------------------------------------------------------
1 | ../../../../../../ijkmedia
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/java/nio/Buffer.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(java_nio_Buffer);
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/.gitignore:
--------------------------------------------------------------------------------
1 | IJKMediaPodDemo.xcworkspace
2 | Pods
3 | Podfile.lock
4 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/os/Build.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/android/os/Build.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/os/Build.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(android_os_Build);
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/os/Bundle.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(android_os_Bundle);
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/java/nio/Buffer.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/java/nio/Buffer.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/os/Bundle.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/android/os/Bundle.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/java/nio/ByteBuffer.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(java_nio_ByteBuffer);
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/java/util/ArrayList.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(java_util_ArrayList);
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/jni/ffmpeg:
--------------------------------------------------------------------------------
1 | ../../../../ijkplayer-armv7a/src/main/jni/ffmpeg
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/jni/ffmpeg:
--------------------------------------------------------------------------------
1 | ../../../../ijkplayer-armv7a/src/main/jni/ffmpeg
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/java/nio/ByteBuffer.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/java/nio/ByteBuffer.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/java/util/ArrayList.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/java/util/ArrayList.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/java/nio/Buffer.java:
--------------------------------------------------------------------------------
1 | package java.nio;
2 |
3 | public class Buffer {
4 | }
5 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/jni/Android.mk:
--------------------------------------------------------------------------------
1 | ../../../../ijkplayer-armv7a/src/main/jni/Android.mk
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/media/AudioTrack.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(android_media_AudioTrack);
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/media/MediaCodec.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(android_media_MediaCodec);
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/media/MediaFormat.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(android_media_MediaFormat);
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/jni/Android.mk:
--------------------------------------------------------------------------------
1 | ../../../../ijkplayer-armv7a/src/main/jni/Android.mk
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/jni/Android.mk:
--------------------------------------------------------------------------------
1 | ../../../../ijkplayer-armv7a/src/main/jni/Android.mk
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Android.mk:
--------------------------------------------------------------------------------
1 | ../../../../ijkplayer-armv7a/src/main/jni/Android.mk
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/media/AudioTrack.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/android/media/AudioTrack.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/media/MediaCodec.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/android/media/MediaCodec.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/media/MediaFormat.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/android/media/MediaFormat.h"
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/include:
--------------------------------------------------------------------------------
1 | ../../../../../../contrib/build/ffmpeg-x86/output/include/
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/media/PlaybackParams.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/android/media/PlaybackParams.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/android/media/PlaybackParams.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(android_media_PlaybackParams);
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/include:
--------------------------------------------------------------------------------
1 | ../../../../../../contrib/build/ffmpeg-x86_64/output/include/
--------------------------------------------------------------------------------
/android/ijk-addr2line.sh:
--------------------------------------------------------------------------------
1 | #! /bin/sh
2 |
3 | addr2line -e ijkplayer/ijkplayer-armv7a/src/main/obj/local/armeabi-v7a/lib$1.so
4 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-exo/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=ijkplayer-exo
2 | POM_ARTIFACT_ID=ijkplayer-exo
3 | POM_PACKAGING=aar
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=ijkplayer-x86
2 | POM_ARTIFACT_ID=ijkplayer-x86
3 | POM_PACKAGING=aar
--------------------------------------------------------------------------------
/android/ijk-ndk-stack.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | adb logcat | ndk-stack -sym ijkplayer/ijkplayer-armv7a/src/main/obj/local/armeabi-v7a
4 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=ijkplayer-arm64
2 | POM_ARTIFACT_ID=ijkplayer-arm64
3 | POM_PACKAGING=aar
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=ijkplayer-armv5
2 | POM_ARTIFACT_ID=ijkplayer-armv5
3 | POM_PACKAGING=aar
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=ijkplayer-java
2 | POM_ARTIFACT_ID=ijkplayer-java
3 | POM_PACKAGING=aar
--------------------------------------------------------------------------------
/android/patches/0004-arm64-link-prebuilt-staic-libraries-of-ffmepg.patch:
--------------------------------------------------------------------------------
1 | 0004-armv7a-link-prebuilt-staic-libraries-of-ffmepg.patch
--------------------------------------------------------------------------------
/android/patches/0004-armv5-link-prebuilt-staic-libraries-of-ffmepg.patch:
--------------------------------------------------------------------------------
1 | 0004-armv7a-link-prebuilt-staic-libraries-of-ffmepg.patch
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=ijkplayer-armv7a
2 | POM_ARTIFACT_ID=ijkplayer-armv7a
3 | POM_PACKAGING=aar
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=ijkplayer-x86_64
2 | POM_ARTIFACT_ID=ijkplayer-x86_64
3 | POM_PACKAGING=aar
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/IJKMediaDemo/Default.png
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/tv/danmaku/ijk/media/player/IjkMediaPlayer.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(tv_danmaku_ijk_media_player_IjkMediaPlayer);
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/IJKMediaDemo/Default@2x.png
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/tv/danmaku/ijk/media/player/IjkMediaPlayer.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/tv/danmaku/ijk/media/player/IjkMediaPlayer.h"
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/android/media/MediaCrypto.java:
--------------------------------------------------------------------------------
1 | package android.media;
2 |
3 | @Hide
4 | @MinApi(16)
5 | public class MediaCrypto {
6 | }
7 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-exo/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ijkplayer-exo
3 |
4 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/IJKMediaDemo/Default-568h@2x.png
--------------------------------------------------------------------------------
/android/ijkplayer/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/tv/danmaku/ijk/media/player/misc/IMediaDataSource.loader.j4a:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(tv_danmaku_ijk_media_player_misc_IMediaDataSource);
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/tv/danmaku/ijk/media/player/misc/IMediaDataSource.include.j4a:
--------------------------------------------------------------------------------
1 | #include "j4a/class/tv/danmaku/ijk/media/player/misc/IMediaDataSource.h"
--------------------------------------------------------------------------------
/android/ijkplayer/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | /local.properties
3 | /.idea/workspace.xml
4 | /.idea/libraries
5 | .DS_Store
6 | /build
7 | /captures
8 | android-ndk-prof
9 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/build/IJKMediaFramework.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaPlayer/build/IJKMediaFramework.framework/Info.plist
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/android/os/Build.java:
--------------------------------------------------------------------------------
1 | package android.os;
2 |
3 | public class Build {
4 | public static class VERSION {
5 | public static final int SDK_INT;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/java/util/ArrayList.java:
--------------------------------------------------------------------------------
1 | package java.util;
2 |
3 | @SimpleCClassName
4 | public class ArrayList {
5 | public ArrayList();
6 | boolean add(Object object);
7 | }
8 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/build/IJKMediaFramework.framework/IJKMediaFramework:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaPlayer/build/IJKMediaFramework.framework/IJKMediaFramework
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_theme_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_theme_folder.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_theme_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_theme_folder.png
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/android/media/PlaybackParams.java:
--------------------------------------------------------------------------------
1 | package android.media;
2 |
3 | @SimpleCClassName
4 | @MinApi(23)
5 | public class PlaybackParams {
6 | public PlaybackParams setSpeed(float speed);
7 | }
8 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Images.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/IJKMediaDemo/Images.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/build/IJKMediaFramework.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module IJKMediaFramework {
2 | umbrella header "IJKMediaFramework.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/tools/sync-mirrors.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | git push origin --all --follow-tags
4 | git push gitcafe --all --follow-tags
5 | git push oschina --all --follow-tags
6 | git push csdn --all --follow-tags
7 |
8 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_theme_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_theme_folder.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_theme_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_theme_folder.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Images.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/IJKMediaDemo/Images.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_theme_description.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_theme_description.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_theme_play_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_theme_play_arrow.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_theme_description.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_theme_description.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_theme_play_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_theme_play_arrow.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_theme_play_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_theme_play_arrow.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_theme_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_theme_folder.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_ipad_ios5_72pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_ipad_ios5_72pt.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_ipad_ios7_76pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_ipad_ios7_76pt.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_ios5_50pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_ios5_50pt.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_ios7_40pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_ios7_40pt.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_iosu_29pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_iosu_29pt.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_action_dark_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_action_dark_filter.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_action_dark_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_action_dark_filter.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_action_dark_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_action_dark_filter.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_theme_description.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_theme_description.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_theme_description.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_theme_description.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_theme_play_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_theme_play_arrow.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_theme_play_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_theme_play_arrow.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/IJKMediaDemo/Images.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_iphone_ios5_57pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_iphone_ios5_57pt.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_iosu_29pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_iosu_29pt.png
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | # source
3 |
4 | platform :ios, '8.0'
5 |
6 | pod 'ijkplayer', '~> 0.3.2-rc.2'
7 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_action_dark_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_action_dark_settings.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_action_dark_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_action_dark_settings.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_action_dark_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_action_dark_settings.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_action_dark_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_action_dark_filter.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_action_dark_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_action_dark_settings.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_action_dark_filter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_action_dark_filter.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_theme_description.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_theme_description.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ijkplayer-x86_64
3 |
4 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_ipad_ios5_72pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_ipad_ios5_72pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_ipad_ios7_76pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_ipad_ios7_76pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_iphone_ios5_57pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_iphone_ios5_57pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_iphone_ios7_60pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_iphone_ios7_60pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_iphone_ios7_60pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icapp_iphone_ios7_60pt@3x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_ios5_50pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_ios5_50pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_ios7_40pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_ios7_40pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_iosu_29pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_ipad_iosu_29pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_ios7_40pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_ios7_40pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_ios7_40pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_ios7_40pt@3x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_iosu_29pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_iosu_29pt@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_iosu_29pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/AppIcons.xcassets/AppIcon.appiconset/icset_iphone_iosu_29pt@3x.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_action_dark_aspect_ratio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-hdpi/ic_action_dark_aspect_ratio.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_action_dark_aspect_ratio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-mdpi/ic_action_dark_aspect_ratio.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_action_dark_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_action_dark_settings.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_action_dark_aspect_ratio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xhdpi/ic_action_dark_aspect_ratio.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_action_dark_aspect_ratio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxhdpi/ic_action_dark_aspect_ratio.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_action_dark_aspect_ratio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/android/ijkplayer/ijkplayer-example/src/main/res/drawable-xxxhdpi/ic_action_dark_aspect_ratio.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios5_320_480.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios5_320_480.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios5_640_1136.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios5_640_1136.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios5_640_960.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios5_640_960.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios7_640_1136.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios7_640_1136.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios7_640_960.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/iphone_ios7_640_960.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ffmpeg/FFmpegApi.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.player.ffmpeg;
2 |
3 | public class FFmpegApi {
4 | public static native String av_base64_encode(byte in[]);
5 | }
6 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/jni/ffmpeg/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 | LOCAL_MODULE := ijkffmpeg
5 | LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
6 | include $(PREBUILT_SHARED_LIBRARY)
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ffmpeg/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 | LOCAL_MODULE := ijkffmpeg
5 | LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
6 | include $(PREBUILT_SHARED_LIBRARY)
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/src/main/jni/ffmpeg/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 | LOCAL_MODULE := ijkffmpeg
5 | LOCAL_SRC_FILES := $(MY_APP_FFMPEG_OUTPUT_PATH)/libijkffmpeg.so
6 | include $(PREBUILT_SHARED_LIBRARY)
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_play.imageset/btn_player_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_play.imageset/btn_player_play.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_pause.imageset/btn_player_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_pause.imageset/btn_player_pause.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_play.imageset/btn_player_play@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_play.imageset/btn_player_play@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/IJKMediaPodDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_pause.imageset/btn_player_pause@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_pause.imageset/btn_player_pause@2x.png
--------------------------------------------------------------------------------
/tools/setup-as-commiter.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | git remote add gitcafe git@gitcafe.com:bbcallen/ijkplayer.git
4 | git remote add oschina git@git.oschina.net:bbcallen/ijkplayer.git
5 | git remote add csdn git@code.csdn.net:bbcallen/ijkplayer.git
6 | git fetch --all
7 |
8 |
--------------------------------------------------------------------------------
/android/ijkplayer/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':ijkplayer-armv5', ':ijkplayer-x86_64'
2 | include ':ijkplayer-armv7a'
3 | include ':ijkplayer-arm64'
4 | include ':ijkplayer-x86'
5 |
6 | include ':ijkplayer-java'
7 | include ':ijkplayer-exo'
8 |
9 | include ':ijkplayer-example'
10 |
11 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_top_control_bg.imageset/player_top_control_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_top_control_bg.imageset/player_top_control_bg.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_top_control_bg.imageset/player_top_control_bg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_top_control_bg.imageset/player_top_control_bg@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_bottom_control_bg.imageset/player_bottom_control_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_bottom_control_bg.imageset/player_bottom_control_bg.png
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/tv/danmaku/ijk/media/player/misc/IMediaDataSource.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.player.misc;
2 |
3 | @SimpleCClassName
4 | public interface IMediaDataSource {
5 | int readAt(long position, byte[] buffer, int offset, int size);
6 | long getSize();
7 | void close();
8 | }
9 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: android
2 | android:
3 | components:
4 | - platform-tools
5 | - tools
6 | - build-tools-23.0.3
7 | - android-23
8 | - extra-android-support
9 | - extra-android-m2repository
10 |
11 | script:
12 | - cd android/ijkplayer
13 | - ./gradlew assemble
14 |
--------------------------------------------------------------------------------
/android/ijkplayer/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Aug 24 16:26:25 CST 2016
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
8 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_bottom_control_bg.imageset/player_bottom_control_bg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_bottom_control_bg.imageset/player_bottom_control_bg@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_back_highlighted.imageset/btn_player_back_highlighted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_back_highlighted.imageset/btn_player_back_highlighted.png
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_back_highlighted.imageset/btn_player_back_highlighted@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dourgulf/ijkplayer/HEAD/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_back_highlighted.imageset/btn_player_back_highlighted@2x.png
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/IJKMediaPodDemo/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // IJKMediaPodDemo
4 | //
5 | // Created by Zhang Rui on 15/7/23.
6 | // Copyright (c) 2015年 Zhang Rui. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-exo/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/java/nio/ByteBuffer.java:
--------------------------------------------------------------------------------
1 | package java.nio;
2 |
3 | import android.os.Build;
4 |
5 | @SimpleCClassName
6 | @IncludeUtil
7 | public class ByteBuffer {
8 | public static ByteBuffer allocate(int capacity);
9 | public static ByteBuffer allocateDirect(int capacity);
10 | public final Buffer limit(int newLimit);
11 | }
12 |
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/IJKMediaPodDemo/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // IJKMediaPodDemo
4 | //
5 | // Created by Zhang Rui on 15/7/23.
6 | // Copyright (c) 2015年 Zhang Rui. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKMediaDemo-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'test' target in the 'test' project
3 | //
4 |
5 | #import
6 |
7 | #ifndef __IPHONE_3_0
8 | #warning "This project uses features only available in iOS SDK 3.0 and later."
9 | #endif
10 |
11 | #ifdef __OBJC__
12 | #import
13 | #import
14 | #endif
--------------------------------------------------------------------------------
/tools/pull-repo-base.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | REMOTE_REPO=$1
4 | LOCAL_WORKSPACE=$2
5 |
6 |
7 | if [ -z $REMOTE_REPO -o -z $LOCAL_WORKSPACE ]; then
8 | echo "invalid call pull-repo.sh '$REMOTE_REPO' '$LOCAL_WORKSPACE'"
9 | elif [ ! -d $LOCAL_WORKSPACE ]; then
10 | git clone $REMOTE_REPO $LOCAL_WORKSPACE
11 | else
12 | cd $LOCAL_WORKSPACE
13 | git fetch --all --tags
14 | cd -
15 | fi
16 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/IJKSDLHudViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // IJKSDLHudViewCell.h
3 | // IJKMediaPlayer
4 | //
5 | // Created by Zhang Rui on 15/12/14.
6 | // Copyright © 2015年 bilibili. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface IJKSDLHudViewCell : UITableViewCell
12 |
13 | - (id)init;
14 |
15 | - (void)setHudValue:(NSString *)value forKey:(NSString *)key;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/IJKMediaPodDemo/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // IJKMediaPodDemo
4 | //
5 | // Created by Zhang Rui on 15/7/23.
6 | // Copyright (c) 2015年 Zhang Rui. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "AppDelegate.h"
11 |
12 | int main(int argc, char * argv[]) {
13 | @autoreleasepool {
14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 | @dimen/activity_horizontal_margin
7 | @dimen/activity_vertical_margin
8 |
9 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // IJKMediaDemo
4 | //
5 | // Created by ZhangRui on 13-9-19.
6 | // Copyright (c) 2013年 bilibili. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "IJKAppDelegate.h"
12 |
13 | int main(int argc, char *argv[])
14 | {
15 | @autoreleasepool {
16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([IJKAppDelegate class]));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/IJKSDLHudViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // IJKSDLHudViewController.h
3 | // IJKMediaPlayer
4 | //
5 | // Created by Zhang Rui on 15/12/14.
6 | // Copyright © 2015年 bilibili. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface IJKSDLHudViewController : UITableViewController
12 |
13 | - (id)init;
14 |
15 | - (void)setHudValue:(NSString *)value forKey:(NSString *)key;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/tools/pull-repo-ref.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | REMOTE_REPO=$1
4 | LOCAL_WORKSPACE=$2
5 | REF_REPO=$3
6 |
7 | if [ -z $1 -o -z $2 -o -z $3 ]; then
8 | echo "invalid call pull-repo.sh '$1' '$2' '$3'"
9 | elif [ ! -d $LOCAL_WORKSPACE ]; then
10 | git clone --reference $REF_REPO $REMOTE_REPO $LOCAL_WORKSPACE
11 | cd $LOCAL_WORKSPACE
12 | git repack -a
13 | else
14 | cd $LOCAL_WORKSPACE
15 | git fetch --all --tags
16 | cd -
17 | fi
18 |
--------------------------------------------------------------------------------
/ijkmedia/ijkplayer/ff_ffutils.h:
--------------------------------------------------------------------------------
1 | //
2 | // ff_ffutils.h
3 | // IJKMediaPlayer
4 | //
5 | // Created by jinchu darwin on 16/5/21.
6 | // Copyright © 2016年 bilibili. All rights reserved.
7 | //
8 |
9 | #ifndef ff_ffutils_h
10 | #define ff_ffutils_h
11 |
12 | #include "ff_ffplay_def.h"
13 | #include "ff_fferror.h"
14 | #include "ff_ffmsg.h"
15 |
16 | int ffutils_find_rtmp_info(FFPlayer *ffp, AVFormatContext *ic, AVDictionary **options);
17 |
18 | #endif /* ff_ffutils_h */
19 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-exo/src/androidTest/java/tv/danmaku/ijk/media/exo/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.exo;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/androidTest/java/tv/danmaku/ijk/media/player/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.player;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/androidTest/java/tv/danmaku/ijk/media/example/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.example;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/androidTest/java/tv/danmaku/ijk/media/ijkplayer/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.ijkplayer;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/src/androidTest/java/com/example/ijkplayer_x86_64/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.example.ijkplayer_x86_64;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/androidTest/java/tv/danmaku/ijk/media/player_arm64/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.player_arm64;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/androidTest/java/tv/danmaku/ijk/media/player_armv5/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.player_armv5;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/androidTest/java/tv/danmaku/ijk/media/player_armv7a/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.player_armv7a;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/table_media_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/android/media/MediaFormat.java:
--------------------------------------------------------------------------------
1 | package android.media;
2 |
3 | import java.nio.ByteBuffer;
4 |
5 | @SimpleCClassName
6 | @MinApi(16)
7 | public class MediaFormat {
8 | public MediaFormat();
9 |
10 | public final static MediaFormat createVideoFormat(String mime, int width, int height);
11 |
12 | public final int getInteger(String name);
13 | public final void setInteger(String name, int value);
14 | public final void setByteBuffer(String name, ByteBuffer bytes);
15 | }
16 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Barcode.h:
--------------------------------------------------------------------------------
1 | //
2 | // Barcode.h
3 | // featurebuild
4 | //
5 | // Created by Jake Widmer on 10/5/13.
6 | // Copyright (c) 2013 Jake Widmer. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface Barcode : NSObject
13 |
14 | + (Barcode * )processMetadataObject:(AVMetadataMachineReadableCodeObject*) code;
15 | - (NSString *) getBarcodeType;
16 | - (NSString *) getBarcodeData;
17 | - (void) printBarcodeData;
18 | @end
19 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_play.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_player_play.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_player_play@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_pause.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_player_pause.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_player_pause@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_top_control_bg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "player_top_control_bg.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "player_top_control_bg@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/player_bottom_control_bg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "player_bottom_control_bg.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "player_bottom_control_bg@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/android/os/Bundle.java:
--------------------------------------------------------------------------------
1 | package android.os;
2 |
3 | import java.util.ArrayList;
4 |
5 | @SimpleCClassName
6 | public class Bundle {
7 | public Bundle();
8 |
9 | public int getInt(String key, int defaultValue);
10 | public void putInt(String key, int value);
11 |
12 | public String getString(String key);
13 | public void putString(String key, String value);
14 |
15 | public void putParcelableArrayList(String key, ArrayList value);
16 | public long getLong(String key);
17 | public void putLong(String key, long value);
18 | }
19 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/MoviePlayerImages.xcassets/MoviePlayer/btn_player_back_highlighted.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_player_back_highlighted.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_player_back_highlighted@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/table_media_info_section.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/IJKMediaPlayer-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'IJKMediaPlayer' target in the 'IJKMediaPlayer' project
3 | //
4 |
5 | #ifdef __OBJC__
6 | #import
7 |
8 | #import
9 | #import
10 | #import
11 |
12 | #import
13 | #import
14 | #import
15 | #import
16 | #import
17 | #endif
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java:
--------------------------------------------------------------------------------
1 | package tv.danmaku.ijk.media.player;
2 |
3 | import android.os.Bundle;
4 |
5 | @SimpleCClassName
6 | public class IjkMediaPlayer {
7 | private long mNativeMediaPlayer;
8 | private long mNativeMediaDataSource;
9 |
10 | private static void postEventFromNative(Object weakThiz, int what, int arg1, int arg2, Object obj);
11 | private static String onSelectCodec(Object weakThiz, String mimeType, int profile, int level);
12 | private static boolean onNativeInvoke(Object weakThiz, int what, Bundle args);
13 | }
14 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/j4a_allclasses.loader.h:
--------------------------------------------------------------------------------
1 | J4A_LOAD_CLASS(java_nio_Buffer);
2 | J4A_LOAD_CLASS(java_nio_ByteBuffer);
3 | J4A_LOAD_CLASS(java_util_ArrayList);
4 | J4A_LOAD_CLASS(android_media_AudioTrack);
5 | J4A_LOAD_CLASS(android_media_MediaCodec);
6 | J4A_LOAD_CLASS(android_media_MediaFormat);
7 | J4A_LOAD_CLASS(android_media_PlaybackParams);
8 | J4A_LOAD_CLASS(android_os_Build);
9 | J4A_LOAD_CLASS(android_os_Bundle);
10 | J4A_LOAD_CLASS(tv_danmaku_ijk_media_player_misc_IMediaDataSource);
11 | J4A_LOAD_CLASS(tv_danmaku_ijk_media_player_IjkMediaPlayer);
12 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/activity_app.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/j4a_allclasses.include.h:
--------------------------------------------------------------------------------
1 | #include "j4a/class/java/nio/Buffer.h"
2 | #include "j4a/class/java/nio/ByteBuffer.h"
3 | #include "j4a/class/java/util/ArrayList.h"
4 | #include "j4a/class/android/media/AudioTrack.h"
5 | #include "j4a/class/android/media/MediaCodec.h"
6 | #include "j4a/class/android/media/MediaFormat.h"
7 | #include "j4a/class/android/media/PlaybackParams.h"
8 | #include "j4a/class/android/os/Build.h"
9 | #include "j4a/class/android/os/Bundle.h"
10 | #include "j4a/class/tv/danmaku/ijk/media/player/misc/IMediaDataSource.h"
11 | #include "j4a/class/tv/danmaku/ijk/media/player/IjkMediaPlayer.h"
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # -----
2 | build/
3 | ffmpeg-temp/
4 | android/ffmpeg-*
5 | android/openssl-*
6 | ios/ffmpeg-*
7 | ios/openssl-*
8 | extra
9 | .DS_Store
10 | ijkmedia/ijkyuv/
11 | ijkprof/android-ndk-profiler/
12 |
13 | # built application files
14 | *.apk
15 | *.ap_
16 |
17 | # files for the dex VM
18 | *.dex
19 |
20 | # Java class files
21 | *.class
22 |
23 | # generated files
24 | bin/
25 | gen/
26 | libs/
27 | obj/
28 | ijkmedia/ijkplayer/ijkversion.h
29 |
30 | # Local configuration file (sdk path, etc)
31 | local.properties
32 |
33 | # Android Studio
34 | .idea
35 | .gradle
36 | build/
37 |
38 | # Xcode
39 | xcuserdata
40 | xcshareddata
41 | *.xccheckout
42 |
43 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-22
15 | android.library=true
16 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-22
15 | android.library=true
16 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-22
15 | android.library=true
16 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-22
15 | android.library=true
16 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-22
15 | android.library=true
16 |
--------------------------------------------------------------------------------
/android/patches/0001-gitignore-ignore-.externalNativeBuild.patch:
--------------------------------------------------------------------------------
1 | From dc4847b1e8ff5d35576f840db59aec0a3d3fc72b Mon Sep 17 00:00:00 2001
2 | From: ctiao
3 | Date: Mon, 29 Aug 2016 14:48:08 +0800
4 | Subject: [PATCH 1/2] gitignore: ignore ".externalNativeBuild"
5 |
6 | ---
7 | android/ijkplayer/.gitignore | 1 +
8 | 1 file changed, 1 insertion(+)
9 |
10 | diff --git a/android/ijkplayer/.gitignore b/android/ijkplayer/.gitignore
11 | index eac8754..2a3badc 100644
12 | --- a/android/ijkplayer/.gitignore
13 | +++ b/android/ijkplayer/.gitignore
14 | @@ -6,3 +6,4 @@
15 | /build
16 | /captures
17 | android-ndk-prof
18 | +.externalNativeBuild
19 | \ No newline at end of file
20 | --
21 | 2.7.4 (Apple Git-66)
22 |
23 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/widget_toolbar.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
14 |
15 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/fragment_track_list.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
17 |
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android/ADK/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/menu/menu_app.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-exo/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android/ADK/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android/ADK/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android/ADK/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android/ADK/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android/ADK/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android/ADK/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /opt/android/ADK/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/table_media_info_row1.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
20 |
21 |
--------------------------------------------------------------------------------
/init-config.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | #
3 | # Copyright (C) 2013-2015 Zhang Rui
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | #
17 |
18 | if [ ! -f 'config/module.sh' ]; then
19 | cp config/module-lite.sh config/module.sh
20 | fi
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKDemoMainViewController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Gdier
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface IJKDemoMainViewController : UIViewController
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKDemoInputURLViewController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Gdier
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface IJKDemoInputURLViewController : UIViewController
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKQRCodeScanViewController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Gdier
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface IJKQRCodeScanViewController : UIViewController
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/doc/preflight_checklist.md:
--------------------------------------------------------------------------------
1 | ChangeLog
2 | -----------------------
3 | * Update NEWS.md
4 | * Update README.md
5 | * Commit and push
6 |
7 | FFmpeg
8 | -----------------------
9 | * Build and test iOS and Android demo locally
10 | * Modify ffmpeg version in init-ios.sh and init-android.sh
11 | * Modify ffmpeg version in `IJKFFMoviePlayerController` (by running `sh init-ios.sh`)
12 | * Commit and push
13 |
14 | ijkplayer
15 | -----------------------
16 | * Update version.sh
17 | * Create a tag (subtitle)
18 | * Commit and push (TAG ONLY)
19 |
20 | Travis-ci
21 | -----------------------
22 | * Modify ijk version in `.travis.yaml` in iOS and Android ci repo.
23 | * Ensure compile task has been started on travis-ci.
24 | * Ensure Andoird release has been released in bintray.
25 |
26 | Take off
27 | -----------------------
28 | * Push master to github
29 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/java/tv/danmaku/ijk/media/player_x86/Pragma.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player_x86;
18 |
19 | public class Pragma {
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKDemoSampleViewController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface IJKDemoSampleViewController : UIViewController
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/java/tv/danmaku/ijk/media/player_arm64/Pragma.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player_arm64;
18 |
19 | public class Pragma {
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/java/tv/danmaku/ijk/media/player_armv5/Pragma.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player_armv5;
18 |
19 | public class Pragma {
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/java/tv/danmaku/ijk/media/player_armv7a/Pragma.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player_armv7a;
18 |
19 | public class Pragma {
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/IJKMediaPodDemo/ViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.m
3 | // IJKMediaPodDemo
4 | //
5 | // Created by Zhang Rui on 15/7/23.
6 | // Copyright (c) 2015年 Zhang Rui. All rights reserved.
7 | //
8 |
9 | #import "ViewController.h"
10 | #import
11 |
12 | @interface ViewController ()
13 |
14 | @end
15 |
16 | @implementation ViewController
17 |
18 | - (void)viewDidLoad {
19 | [super viewDidLoad];
20 | // Do any additional setup after loading the view, typically from a nib.
21 |
22 | id playback = [[IJKFFMoviePlayerController alloc] initWithContentURL:nil withOptions:nil];
23 |
24 | [playback shutdown];
25 | }
26 |
27 | - (void)didReceiveMemoryWarning {
28 | [super didReceiveMemoryWarning];
29 | // Dispose of any resources that can be recreated.
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #66000000
4 |
5 | @color/ijk_color_blue_500
6 | #E3F2FD
7 | #BBDEFB
8 | #90CAF9
9 | #64B5F6
10 | #42A5F5
11 | #2196F3
12 | #1E88E5
13 | #1976D2
14 | #1565C0
15 | #0D47A1
16 |
17 | #77000000
18 |
19 |
20 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaFrameworkTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/fragment_file_list_item.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
13 |
14 |
21 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
12 |
13 |
19 |
20 |
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/IJKMediaPodDemoTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | tv.danmaku.$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/compile-android-j4a.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | #
3 | # Copyright (C) 2016 Zhang Rui
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | #
17 |
18 | set -e
19 |
20 | cd extra/jni4android-fork
21 | ./configure --incdir=../../ijkmedia/ijkj4a --bindir=../bin
22 | make install
23 | cd -
24 |
25 | cd ijkmedia/ijkj4a
26 | make
27 | cd -
28 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKDemoLocalFolderViewController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Gdier
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface IJKDemoLocalFolderViewController : UITableViewController
20 |
21 | - (instancetype)initWithFolderPath:(NSString *)folderPath;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/table_media_info_row2.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
23 |
24 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "57x57",
21 | "scale" : "1x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "57x57",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "2x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "3x"
37 | }
38 | ],
39 | "info" : {
40 | "version" : 1,
41 | "author" : "xcode"
42 | }
43 | }
--------------------------------------------------------------------------------
/extra/init-extra.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | #
3 | # Copyright (C) 2015 Zhang Rui
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | #
17 |
18 | ln -s /opt/ijkplayer/ffmpeg
19 | ln -s /opt/ijkplayer/gas-preprocessor
20 | ln -s /opt/ijkplayer/libyuv
21 | ln -s /opt/ijkplayer/openssl
22 | ln -s /opt/ijkplayer/android-ndk-profiler
23 | ln -s /opt/ijkplayer/ExoPlayer
24 |
25 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/AppIcons.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "57x57",
21 | "scale" : "1x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "57x57",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "2x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "3x"
37 | }
38 | ],
39 | "info" : {
40 | "version" : 1,
41 | "author" : "xcode"
42 | }
43 | }
--------------------------------------------------------------------------------
/ijkprof/android-ndk-profiler-dummy/jni/Android-include.mk:
--------------------------------------------------------------------------------
1 | # copyright (c) 2013 Zhang Rui
2 | #
3 | # This file is part of ijkPlayer.
4 | #
5 | # ijkPlayer is free software; you can redistribute it and/or
6 | # modify it under the terms of the GNU Lesser General Public
7 | # License as published by the Free Software Foundation; either
8 | # version 2.1 of the License, or (at your option) any later version.
9 | #
10 | # ijkPlayer is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | # Lesser General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU Lesser General Public
16 | # License along with ijkPlayer; if not, write to the Free Software
17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | # do nothing here
--------------------------------------------------------------------------------
/android/ijkplayer/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:2.1.3'
9 |
10 | classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
11 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
12 | // NOTE: Do not place your application dependencies here; they belong
13 | // in the individual module build.gradle files
14 | }
15 | }
16 |
17 | allprojects {
18 | repositories {
19 | jcenter()
20 | }
21 | }
22 |
23 | ext {
24 | compileSdkVersion = 23
25 | buildToolsVersion = "23.0.3"
26 |
27 | targetSdkVersion = 23
28 |
29 | versionCode = 700400
30 | versionName = "0.7.4"
31 | }
32 |
33 | wrapper {
34 | gradleVersion = '2.14.1'
35 | }
36 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaFramework/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(CURRENT_PROJECT_VERSION)
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/pragma/Pragma.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package tv.danmaku.ijk.media.player.pragma;
17 |
18 | /*-
19 | * configurated by app project
20 | */
21 | public class Pragma {
22 | public static final boolean ENABLE_VERBOSE = true;
23 | }
24 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | // http://tools.android.com/tech-docs/new-build-system/tips
5 | //noinspection GroovyAssignabilityCheck
6 | compileSdkVersion rootProject.ext.compileSdkVersion
7 | //noinspection GroovyAssignabilityCheck
8 | buildToolsVersion rootProject.ext.buildToolsVersion
9 |
10 | lintOptions {
11 | abortOnError false
12 | }
13 | defaultConfig {
14 | minSdkVersion 9
15 | targetSdkVersion rootProject.ext.targetSdkVersion
16 | }
17 | buildTypes {
18 | release {
19 | minifyEnabled false
20 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
21 | }
22 | }
23 | }
24 |
25 | dependencies {
26 | compile fileTree(dir: 'libs', include: ['*.jar'])
27 | }
28 |
29 | apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
30 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkLibLoader.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2014 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player;
18 |
19 | public interface IjkLibLoader {
20 | void loadLibrary(String libName) throws UnsatisfiedLinkError,
21 | SecurityException;
22 | }
23 |
--------------------------------------------------------------------------------
/ijkmedia/Android.mk:
--------------------------------------------------------------------------------
1 | # copyright (c) 2013 Zhang Rui
2 | #
3 | # This file is part of ijkPlayer.
4 | #
5 | # ijkPlayer is free software; you can redistribute it and/or
6 | # modify it under the terms of the GNU Lesser General Public
7 | # License as published by the Free Software Foundation; either
8 | # version 2.1 of the License, or (at your option) any later version.
9 | #
10 | # ijkPlayer is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | # Lesser General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU Lesser General Public
16 | # License along with ijkPlayer; if not, write to the Free Software
17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | LOCAL_PATH := $(call my-dir)
20 | include $(call all-subdir-makefiles)
21 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKAppDelegate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface IJKAppDelegate : UIResponder
20 |
21 | @property (strong, nonatomic) UIWindow *window;
22 | @property (strong, nonatomic) UIViewController *viewController;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/exceptions/IjkMediaException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2014 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player.exceptions;
18 |
19 | public class IjkMediaException extends Exception {
20 | private static final long serialVersionUID = 7234796519009099506L;
21 | }
22 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHost.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player;
18 |
19 | import android.graphics.SurfaceTexture;
20 |
21 | public interface ISurfaceTextureHost {
22 | void releaseSurfaceTexture(SurfaceTexture surfaceTexture);
23 | }
24 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | ijkplayer-java
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | ijkplayer-x86
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | ijkplayer-arm64
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | ijkplayer-armv5
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | ijkplayer-armv7a
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | ijkplayer-sample
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/android/patches/0002-gradle-upgrade-build-tool-to-2.2.0-beta2.patch:
--------------------------------------------------------------------------------
1 | From 5d70fa0496f9ebfbcfa3786d85c74c690d66781e Mon Sep 17 00:00:00 2001
2 | From: ctiao
3 | Date: Mon, 29 Aug 2016 14:50:34 +0800
4 | Subject: [PATCH 2/2] gradle: upgrade build-tool to 2.2.0-rc1
5 |
6 | ---
7 | android/ijkplayer/build.gradle | 2 +-
8 | 1 file changed, 1 insertion(+), 1 deletion(-)
9 |
10 | diff --git a/android/ijkplayer/build.gradle b/android/ijkplayer/build.gradle
11 | index 0de03ec..6132c1d 100644
12 | --- a/android/ijkplayer/build.gradle
13 | +++ b/android/ijkplayer/build.gradle
14 | @@ -5,7 +5,7 @@ buildscript {
15 | jcenter()
16 | }
17 | dependencies {
18 | - classpath 'com.android.tools.build:gradle:2.1.3'
19 | + classpath 'com.android.tools.build:gradle:2.2.0-rc1'
20 |
21 | classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
22 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
23 | --
24 | 2.7.4 (Apple Git-66)
25 |
26 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-22
15 | android.library.reference.1=../../../player-arm64/src/main
16 | android.library.reference.2=../../../player-armv5/src/main
17 | android.library.reference.3=../../../player-armv7a/src/main
18 | android.library.reference.4=../../../player-x86/src/main
19 | android.library.reference.5=../../../player-java/src/main
20 | android.library.reference.6=../../../../contrib/appcompat
21 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/ijksdl_thread_ios.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ijksdl_thread_ios.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import
24 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/android/media/AudioTrack.java:
--------------------------------------------------------------------------------
1 | package android.media;
2 |
3 | @SimpleCClassName
4 | @IncludeUtil
5 | public class AudioTrack {
6 | public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode);
7 |
8 | public static int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat);
9 | public static float getMaxVolume();
10 | public static float getMinVolume();
11 | public static int getNativeOutputSampleRate (int streamType);
12 |
13 | public void play();
14 | public void pause();
15 | public void stop();
16 | public void flush();
17 | public void release();
18 |
19 | public int write(byte[] audioData, int offsetInBytes, int sizeInBytes);
20 |
21 | public int setStereoVolume(float leftGain, float rightGain);
22 | public int getAudioSessionId();
23 |
24 | @MinApi(23)
25 | public PlaybackParams getPlaybackParams();
26 | @MinApi(23)
27 | void setPlaybackParams(PlaybackParams params);
28 | }
29 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | // http://tools.android.com/tech-docs/new-build-system/tips
5 | //noinspection GroovyAssignabilityCheck
6 | compileSdkVersion rootProject.ext.compileSdkVersion
7 | //noinspection GroovyAssignabilityCheck
8 | buildToolsVersion rootProject.ext.buildToolsVersion
9 |
10 | defaultConfig {
11 | minSdkVersion 9
12 | targetSdkVersion rootProject.ext.targetSdkVersion
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | sourceSets.main {
21 | jniLibs.srcDirs 'src/main/libs'
22 | jni.srcDirs = [] // This prevents the auto generation of Android.mk
23 | }
24 | }
25 |
26 | dependencies {
27 | compile fileTree(dir: 'libs', include: ['*.jar'])
28 | }
29 |
30 | apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
31 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | // http://tools.android.com/tech-docs/new-build-system/tips
5 | //noinspection GroovyAssignabilityCheck
6 | compileSdkVersion rootProject.ext.compileSdkVersion
7 | //noinspection GroovyAssignabilityCheck
8 | buildToolsVersion rootProject.ext.buildToolsVersion
9 |
10 | defaultConfig {
11 | minSdkVersion 9
12 | targetSdkVersion rootProject.ext.targetSdkVersion
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | sourceSets.main {
21 | jniLibs.srcDirs 'src/main/libs'
22 | jni.srcDirs = [] // This prevents the auto generation of Android.mk
23 | }
24 | }
25 |
26 | dependencies {
27 | compile fileTree(dir: 'libs', include: ['*.jar'])
28 | }
29 |
30 | apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
31 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | // http://tools.android.com/tech-docs/new-build-system/tips
5 | //noinspection GroovyAssignabilityCheck
6 | compileSdkVersion rootProject.ext.compileSdkVersion
7 | //noinspection GroovyAssignabilityCheck
8 | buildToolsVersion rootProject.ext.buildToolsVersion
9 |
10 | defaultConfig {
11 | minSdkVersion 21
12 | targetSdkVersion rootProject.ext.targetSdkVersion
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | sourceSets.main {
21 | jniLibs.srcDirs 'src/main/libs'
22 | jni.srcDirs = [] // This prevents the auto generation of Android.mk
23 | }
24 | }
25 |
26 | dependencies {
27 | compile fileTree(dir: 'libs', include: ['*.jar'])
28 | }
29 |
30 | apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
31 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | // http://tools.android.com/tech-docs/new-build-system/tips
5 | //noinspection GroovyAssignabilityCheck
6 | compileSdkVersion rootProject.ext.compileSdkVersion
7 | //noinspection GroovyAssignabilityCheck
8 | buildToolsVersion rootProject.ext.buildToolsVersion
9 |
10 | defaultConfig {
11 | minSdkVersion 9
12 | targetSdkVersion rootProject.ext.targetSdkVersion
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | sourceSets.main {
21 | jniLibs.srcDirs 'src/main/libs'
22 | jni.srcDirs = [] // This prevents the auto generation of Android.mk
23 | }
24 | }
25 |
26 | dependencies {
27 | compile fileTree(dir: 'libs', include: ['*.jar'])
28 | }
29 |
30 | apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
31 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | // http://tools.android.com/tech-docs/new-build-system/tips
5 | //noinspection GroovyAssignabilityCheck
6 | compileSdkVersion rootProject.ext.compileSdkVersion
7 | //noinspection GroovyAssignabilityCheck
8 | buildToolsVersion rootProject.ext.buildToolsVersion
9 |
10 | defaultConfig {
11 | minSdkVersion 21
12 | targetSdkVersion rootProject.ext.targetSdkVersion
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | sourceSets.main {
21 | jniLibs.srcDirs 'src/main/libs'
22 | jni.srcDirs = [] // This prevents the auto generation of Android.mk
23 | }
24 | }
25 |
26 | dependencies {
27 | compile fileTree(dir: 'libs', include: ['*.jar'])
28 | }
29 |
30 | apply from: new File(rootProject.projectDir, "tools/gradle-on-demand.gradle");
31 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKCommon.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | #define IOS_OLDER_THAN_6 ( [ [ [ UIDevice currentDevice ] systemVersion ] floatValue ] < 6.0 )
20 | #define IOS_NEWER_OR_EQUAL_TO_6 ( [ [ [ UIDevice currentDevice ] systemVersion ] floatValue ] >= 6.0 )
21 | #define IOS_NEWER_OR_EQUAL_TO_7 ( [ [ [ UIDevice currentDevice ] systemVersion ] floatValue ] >= 7.0 )
22 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/class/java/nio/Buffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | /*
18 | * https://github.com/Bilibili/jni4android
19 | * This file is automatically generated by jni4android, do not modify.
20 | */
21 |
22 | #ifndef J4A__java_nio_Buffer__H
23 | #define J4A__java_nio_Buffer__H
24 |
25 | #include "j4a/j4a_base.h"
26 |
27 | int J4A_loadClass__J4AC_java_nio_Buffer(JNIEnv *env);
28 |
29 | #endif//J4A__java_nio_Buffer__H
30 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/menu/menu_player.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/res/layout/fragment_file_list.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
19 |
20 |
26 |
27 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/MediaInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2014 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player;
18 |
19 | public class MediaInfo {
20 | public String mMediaPlayerName;
21 |
22 | public String mVideoDecoder;
23 | public String mVideoDecoderImpl;
24 |
25 | public String mAudioDecoder;
26 | public String mAudioDecoderImpl;
27 |
28 | public IjkMediaMeta mMeta;
29 | }
30 |
--------------------------------------------------------------------------------
/ijkprof/android-ndk-profiler-dummy/jni/Android.mk:
--------------------------------------------------------------------------------
1 | # copyright (c) 2015 Zhang Rui
2 | #
3 | # This file is part of ijkPlayer.
4 | #
5 | # ijkPlayer is free software; you can redistribute it and/or
6 | # modify it under the terms of the GNU Lesser General Public
7 | # License as published by the Free Software Foundation; either
8 | # version 2.1 of the License, or (at your option) any later version.
9 | #
10 | # ijkPlayer is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | # Lesser General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU Lesser General Public
16 | # License along with ijkPlayer; if not, write to the Free Software
17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | LOCAL_PATH := $(call my-dir)
20 |
21 | include $(CLEAR_VARS)
22 |
23 | LOCAL_MODULE := android-ndk-profiler
24 | LOCAL_SRC_FILES := prof.c
25 |
26 | include $(BUILD_STATIC_LIBRARY)
27 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/ISurfaceTextureHolder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player;
18 |
19 | import android.graphics.SurfaceTexture;
20 |
21 | public interface ISurfaceTextureHolder {
22 | void setSurfaceTexture(SurfaceTexture surfaceTexture);
23 |
24 | SurfaceTexture getSurfaceTexture();
25 |
26 | void setSurfaceTextureHost(ISurfaceTextureHost surfaceTextureHost);
27 | }
28 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaFormat.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player.misc;
18 |
19 | public interface IMediaFormat {
20 | // Common keys
21 | String KEY_MIME = "mime";
22 |
23 | // Video Keys
24 | String KEY_WIDTH = "width";
25 | String KEY_HEIGHT = "height";
26 |
27 | String getString(String name);
28 |
29 | int getInteger(String name);
30 | }
31 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/ijksdl_aout_ios_audiounit.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ijksdl_aout_ios_audiounit.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #include "ijksdl/ijksdl_aout.h"
24 |
25 | SDL_Aout *SDL_AoutIos_CreateForAudioUnit();
26 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/j4a_allclasses.h:
--------------------------------------------------------------------------------
1 | /*
2 | * copyright (c) 2016 Zhang Rui
3 | *
4 | * This file is part of jni4android.
5 | *
6 | * jni4android is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Lesser General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2.1 of the License, or (at your option) any later version.
10 | *
11 | * jni4android is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Lesser General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Lesser General Public
17 | * License along with jni4android; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 | */
20 |
21 | #ifndef IJKJ4A__J4A__J4A_ALLCLASSES__H
22 | #define IJKJ4A__J4A__J4A_ALLCLASSES__H
23 |
24 | #include "j4a_base.h"
25 | #include "j4a_allclasses.include.h"
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/ijkmedia/ijkplayer/android/ffmpeg_api_jni.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ffmpeg_api_jni.h
3 | *
4 | * Copyright (c) 2014 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #ifndef IJKPLAYER_ANDROID__FFMPEG_API_JNI_H
24 |
25 | #include
26 |
27 | int FFmpegApi_global_init(JNIEnv *env);
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/ios/IJKMediaPodDemo/IJKMediaPodDemoTests/IJKMediaPodDemoTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // IJKMediaPodDemoTests.m
3 | // IJKMediaPodDemoTests
4 | //
5 | // Created by Zhang Rui on 15/7/23.
6 | // Copyright (c) 2015年 Zhang Rui. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface IJKMediaPodDemoTests : XCTestCase
13 |
14 | @end
15 |
16 | @implementation IJKMediaPodDemoTests
17 |
18 | - (void)setUp {
19 | [super setUp];
20 | // Put setup code here. This method is called before the invocation of each test method in the class.
21 | }
22 |
23 | - (void)tearDown {
24 | // Put teardown code here. This method is called after the invocation of each test method in the class.
25 | [super tearDown];
26 | }
27 |
28 | - (void)testExample {
29 | // This is an example of a functional test case.
30 | XCTAssert(YES, @"Pass");
31 | }
32 |
33 | - (void)testPerformanceExample {
34 | // This is an example of a performance test case.
35 | [self measureBlock:^{
36 | // Put the code you want to measure the time of here.
37 | }];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaFrameworkTests/IJKMediaFrameworkTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // IJKMediaFrameworkTests.m
3 | // IJKMediaFrameworkTests
4 | //
5 | // Created by Zhang Rui on 15/7/31.
6 | // Copyright (c) 2015年 bilibili. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface IJKMediaFrameworkTests : XCTestCase
13 |
14 | @end
15 |
16 | @implementation IJKMediaFrameworkTests
17 |
18 | - (void)setUp {
19 | [super setUp];
20 | // Put setup code here. This method is called before the invocation of each test method in the class.
21 | }
22 |
23 | - (void)tearDown {
24 | // Put teardown code here. This method is called after the invocation of each test method in the class.
25 | [super tearDown];
26 | }
27 |
28 | - (void)testExample {
29 | // This is an example of a functional test case.
30 | XCTAssert(YES, @"Pass");
31 | }
32 |
33 | - (void)testPerformanceExample {
34 | // This is an example of a performance test case.
35 | [self measureBlock:^{
36 | // Put the code you want to measure the time of here.
37 | }];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/android/contrib/sync-mirrors.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | #
3 | # Copyright (C) 2013-2014 Zhang Rui
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | #
17 |
18 | cd ffmpeg-armv7a
19 |
20 | git checkout ffmpeg
21 | git pull
22 | git checkout -
23 |
24 | git checkout libav
25 | git pull
26 | git checkout -
27 |
28 | git checkout master
29 | git pull
30 | git merge ffmpeg
31 | git checkout -
32 |
33 | git push origin --all --follow-tags
34 | git push gitcafe --all --follow-tags
35 | git push oschina --all --follow-tags
36 | git push csdn --all --follow-tags
37 |
38 | cd -
39 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/Images.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "portrait",
5 | "idiom" : "iphone",
6 | "filename" : "Default@2x.png",
7 | "minimum-system-version" : "7.0",
8 | "scale" : "2x"
9 | },
10 | {
11 | "orientation" : "portrait",
12 | "idiom" : "iphone",
13 | "filename" : "Default-568h@2x.png",
14 | "minimum-system-version" : "7.0",
15 | "subtype" : "retina4",
16 | "scale" : "2x"
17 | },
18 | {
19 | "orientation" : "portrait",
20 | "idiom" : "iphone",
21 | "filename" : "Default.png",
22 | "scale" : "1x"
23 | },
24 | {
25 | "orientation" : "portrait",
26 | "idiom" : "iphone",
27 | "filename" : "Default@2x.png",
28 | "scale" : "2x"
29 | },
30 | {
31 | "orientation" : "portrait",
32 | "idiom" : "iphone",
33 | "filename" : "Default-568h@2x.png",
34 | "subtype" : "retina4",
35 | "scale" : "2x"
36 | }
37 | ],
38 | "info" : {
39 | "version" : 1,
40 | "author" : "xcode"
41 | }
42 | }
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IMediaDataSource.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player.misc;
18 |
19 | import java.io.IOException;
20 |
21 | @SuppressWarnings("RedundantThrows")
22 | public interface IMediaDataSource {
23 | int readAt(long position, byte[] buffer, int offset, int size) throws IOException;
24 |
25 | long getSize() throws IOException;
26 |
27 | void close() throws IOException;
28 | }
29 |
--------------------------------------------------------------------------------
/ijkmedia/ijkplayer/ijkavformat/ijkavformat.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ijkavformat.h
3 | *
4 | * Copyright (c) 2003 Fabrice Bellard
5 | * Copyright (c) 2013 Zhang Rui
6 | *
7 | * This file is part of ijkPlayer.
8 | *
9 | * ijkPlayer is free software; you can redistribute it and/or
10 | * modify it under the terms of the GNU Lesser General Public
11 | * License as published by the Free Software Foundation; either
12 | * version 2.1 of the License, or (at your option) any later version.
13 | *
14 | * ijkPlayer is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 | * Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public
20 | * License along with ijkPlayer; if not, write to the Free Software
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 | */
23 |
24 | #ifndef AVFORMAT_IJKAVFORMAT_H
25 | #define AVFORMAT_IJKAVFORMAT_H
26 |
27 | #define AV_PKT_FLAG_DISCONTINUITY 0x0100
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/IJKMediaDemo/IJKDemoHistory.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Gdier
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #import
18 |
19 | @interface IJKDemoHistoryItem : NSObject
20 |
21 | @property(nonatomic,strong) NSString *title;
22 | @property(nonatomic,strong) NSURL *url;
23 |
24 | @end
25 |
26 | @interface IJKDemoHistory : NSObject
27 |
28 | + (instancetype)instance;
29 |
30 | @property(nonatomic,strong,readonly) NSArray *list;
31 |
32 | - (void)removeAtIndex:(NSUInteger)index;
33 | - (void)add:(IJKDemoHistoryItem *)item;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/NSString+IJKMedia.h:
--------------------------------------------------------------------------------
1 | /*
2 | * NSString+IJKMedia.h
3 | *
4 | * Copyright (c) 2016 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import
24 |
25 | @interface NSString (IJKMedia)
26 |
27 | + (NSString *) ijk_stringBeEmptyIfNil:(NSString *)src;
28 |
29 | - (BOOL) ijk_isIpv4;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-example/src/main/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/IJKMediaPlayer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IJKMediaPlayer.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import "IJKMediaPlayback.h"
24 | #import "IJKMPMoviePlayerController.h"
25 |
26 | #import "IJKFFOptions.h"
27 | #import "IJKFFMoviePlayerController.h"
28 |
29 | #import "IJKAVMoviePlayerController.h"
30 |
31 | #import "IJKMediaModule.h"
32 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/java/android/media/MediaCodec.java:
--------------------------------------------------------------------------------
1 | package android.media;
2 |
3 | import java.nio.ByteBuffer;
4 | import android.view.Surface;
5 |
6 | @SimpleCClassName
7 | @MinApi(16)
8 | public class MediaCodec {
9 | public static class BufferInfo {
10 | public int flags;
11 | public int offset;
12 | public long presentationTimeUs;
13 | public int size;
14 |
15 | public BufferInfo();
16 | }
17 |
18 | public static MediaCodec createByCodecName(String name);
19 |
20 | public void configure(MediaFormat format, Surface surface, MediaCrypto crypto, int flags);
21 |
22 | public final MediaFormat getOutputFormat();
23 |
24 | public ByteBuffer[] getInputBuffers();
25 |
26 | public final int dequeueInputBuffer(long timeoutUs);
27 | public final void queueInputBuffer(int index, int offset, int size, long presentationTimeUs, int flags);
28 |
29 | public final int dequeueOutputBuffer(MediaCodec.BufferInfo info, long timeoutUs);
30 | public final void releaseOutputBuffer(int index, boolean render);
31 |
32 | public final void start();
33 | public final void stop();
34 | public final void flush();
35 | public final void release();
36 | }
37 |
--------------------------------------------------------------------------------
/ijkmedia/ijksdl/android/ijksdl_codec_android_mediacodec_dummy.h:
--------------------------------------------------------------------------------
1 | /*
2 | * copyright (c) 2014 Zhang Rui
3 | *
4 | * This file is part of ijkPlayer.
5 | *
6 | * ijkPlayer is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Lesser General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2.1 of the License, or (at your option) any later version.
10 | *
11 | * ijkPlayer is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Lesser General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Lesser General Public
17 | * License along with ijkPlayer; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 | */
20 |
21 | #ifndef IJKSDL_ANDROID__ANDROID_CODEC_ANDROID_MEDIACODEC_DUMMY_H
22 | #define IJKSDL_ANDROID__ANDROID_CODEC_ANDROID_MEDIACODEC_DUMMY_H
23 |
24 | #include "ijksdl_codec_android_mediacodec.h"
25 |
26 | SDL_AMediaCodec *SDL_AMediaCodecDummy_create();
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/ijkmedia/ijksdl/ijksdl_stdinc.c:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 | * ijksdl_stdinc.c
3 | *****************************************************************************
4 | *
5 | * copyright (c) 2013 Zhang Rui
6 | *
7 | * This file is part of ijkPlayer.
8 | *
9 | * ijkPlayer is free software; you can redistribute it and/or
10 | * modify it under the terms of the GNU Lesser General Public
11 | * License as published by the Free Software Foundation; either
12 | * version 2.1 of the License, or (at your option) any later version.
13 | *
14 | * ijkPlayer is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 | * Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public
20 | * License along with ijkPlayer; if not, write to the Free Software
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 | */
23 |
24 | #include "ijksdl_stdinc.h"
25 |
26 | char *SDL_getenv(const char *name)
27 | {
28 | return NULL;
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/init-android-j4a.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | #
3 | # Copyright (C) 2016 Zhang Rui
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | #
17 |
18 | IJK_J4A_UPSTREAM=https://github.com/Bilibili/jni4android.git
19 | IJK_J4A_FORK=https://github.com/Bilibili/jni4android.git
20 | IJK_J4A_COMMIT=v0.0.1
21 | IJK_J4A_LOCAL_REPO=extra/jni4android
22 |
23 | set -e
24 | TOOLS=tools
25 |
26 | echo "== pull j4a base =="
27 | sh $TOOLS/pull-repo-base.sh $IJK_J4A_UPSTREAM $IJK_J4A_LOCAL_REPO
28 |
29 | echo "== pull j4a fork =="
30 | sh $TOOLS/pull-repo-ref.sh $IJK_J4A_FORK extra/jni4android-fork ${IJK_J4A_LOCAL_REPO}
31 | cd extra/jni4android-fork
32 | git checkout ${IJK_J4A_COMMIT}
33 | cd -
34 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijksdl/ios/ijksdl_vout_ios_gles2.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ijksdl_vout_ios_gles2.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #include "ijksdl/ijksdl_stdinc.h"
24 | #include "ijksdl/ijksdl_vout.h"
25 |
26 | @class IJKSDLGLView;
27 |
28 | SDL_Vout *SDL_VoutIos_CreateForGLES2();
29 | void SDL_VoutIos_SetGLView(SDL_Vout *vout, IJKSDLGLView *view);
30 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86/src/main/jni/Application.mk:
--------------------------------------------------------------------------------
1 | # copyright (c) 2013-2014 Zhang Rui
2 | #
3 | # This file is part of ijkPlayer.
4 | #
5 | # ijkPlayer is free software; you can redistribute it and/or
6 | # modify it under the terms of the GNU Lesser General Public
7 | # License as published by the Free Software Foundation; either
8 | # version 2.1 of the License, or (at your option) any later version.
9 | #
10 | # ijkPlayer is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | # Lesser General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU Lesser General Public
16 | # License along with ijkPlayer; if not, write to the Free Software
17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | APP_OPTIM := release
20 | APP_PLATFORM := android-9
21 | APP_ABI := x86
22 | NDK_TOOLCHAIN_VERSION=4.9
23 | APP_PIE := false
24 |
25 | APP_CFLAGS := -O3 -Wall -pipe \
26 | -ffast-math \
27 | -fstrict-aliasing -Werror=strict-aliasing \
28 | -Wno-psabi -Wa,--noexecstack \
29 | -DANDROID -DNDEBUG
30 |
--------------------------------------------------------------------------------
/android/ijkplayer/tools/gradle-on-demand.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | gradle.startParameter.taskNames.each { task ->
18 | def taskName = task.split(":").last()
19 | switch (taskName) {
20 | case "uploadArchives":
21 | apply from: new File(rootProject.projectDir, 'tools/gradle-mvn-push.gradle')
22 | break;
23 | case "bintrayUpload":
24 | apply from: new File(rootProject.projectDir, 'tools/gradle-bintray-upload.gradle')
25 | break;
26 | default:
27 | // do nothing
28 | break;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/ijkmedia/ijksdl/ijksdl_inc_internal.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ijksdl_inc_internal.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #ifndef IJKPLAYER__IJKSDL_INC_INTERNAL_H
24 | #define IJKPLAYER__IJKSDL_INC_INTERNAL_H
25 |
26 | #include
27 |
28 | #include "ijksdl_log.h"
29 | #include "ijksdl_misc.h"
30 | #include "ijksdl_stdinc.h"
31 |
32 | #define SDLTRACE ALOGD
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv5/src/main/jni/Application.mk:
--------------------------------------------------------------------------------
1 | # copyright (c) 2013-2014 Zhang Rui
2 | #
3 | # This file is part of ijkPlayer.
4 | #
5 | # ijkPlayer is free software; you can redistribute it and/or
6 | # modify it under the terms of the GNU Lesser General Public
7 | # License as published by the Free Software Foundation; either
8 | # version 2.1 of the License, or (at your option) any later version.
9 | #
10 | # ijkPlayer is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | # Lesser General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU Lesser General Public
16 | # License along with ijkPlayer; if not, write to the Free Software
17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | APP_OPTIM := release
20 | APP_PLATFORM := android-9
21 | APP_ABI := armeabi
22 | NDK_TOOLCHAIN_VERSION=4.9
23 | APP_PIE := false
24 |
25 | APP_CFLAGS := -O3 -Wall -pipe \
26 | -ffast-math \
27 | -fstrict-aliasing -Werror=strict-aliasing \
28 | -Wno-psabi -Wa,--noexecstack \
29 | -DANDROID -DNDEBUG
30 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-armv7a/src/main/jni/Application.mk:
--------------------------------------------------------------------------------
1 | # copyright (c) 2013 Zhang Rui
2 | #
3 | # This file is part of ijkPlayer.
4 | #
5 | # ijkPlayer is free software; you can redistribute it and/or
6 | # modify it under the terms of the GNU Lesser General Public
7 | # License as published by the Free Software Foundation; either
8 | # version 2.1 of the License, or (at your option) any later version.
9 | #
10 | # ijkPlayer is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | # Lesser General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU Lesser General Public
16 | # License along with ijkPlayer; if not, write to the Free Software
17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | APP_OPTIM := release
20 | APP_PLATFORM := android-9
21 | APP_ABI := armeabi-v7a
22 | NDK_TOOLCHAIN_VERSION=4.9
23 | APP_PIE := false
24 |
25 | APP_CFLAGS := -O3 -Wall -pipe \
26 | -ffast-math \
27 | -fstrict-aliasing -Werror=strict-aliasing \
28 | -Wno-psabi -Wa,--noexecstack \
29 | -DANDROID -DNDEBUG
30 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-x86_64/src/main/jni/Application.mk:
--------------------------------------------------------------------------------
1 | # copyright (c) 2013-2014 Zhang Rui
2 | #
3 | # This file is part of ijkPlayer.
4 | #
5 | # ijkPlayer is free software; you can redistribute it and/or
6 | # modify it under the terms of the GNU Lesser General Public
7 | # License as published by the Free Software Foundation; either
8 | # version 2.1 of the License, or (at your option) any later version.
9 | #
10 | # ijkPlayer is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | # Lesser General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU Lesser General Public
16 | # License along with ijkPlayer; if not, write to the Free Software
17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | APP_OPTIM := release
20 | APP_PLATFORM := android-21
21 | APP_ABI := x86_64
22 | NDK_TOOLCHAIN_VERSION=4.9
23 | APP_PIE := false
24 |
25 | APP_CFLAGS := -O3 -Wall -pipe \
26 | -ffast-math \
27 | -fstrict-aliasing -Werror=strict-aliasing \
28 | -Wno-psabi -Wa,--noexecstack \
29 | -DANDROID -DNDEBUG
30 |
--------------------------------------------------------------------------------
/ijkmedia/ijkj4a/j4a/j4a_allclasses.c:
--------------------------------------------------------------------------------
1 | /*
2 | * copyright (c) 2016 Zhang Rui
3 | *
4 | * This file is part of jni4android.
5 | *
6 | * jni4android is free software; you can redistribute it and/or
7 | * modify it under the terms of the GNU Lesser General Public
8 | * License as published by the Free Software Foundation; either
9 | * version 2.1 of the License, or (at your option) any later version.
10 | *
11 | * jni4android is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 | * Lesser General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU Lesser General Public
17 | * License along with jni4android; if not, write to the Free Software
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 | */
20 |
21 | #include "j4a_allclasses.h"
22 |
23 | int J4A_LoadAll__catchAll(JNIEnv *env)
24 | {
25 | int ret = 0;
26 |
27 | // load android.os.Build at very beginning
28 | J4A_LOAD_CLASS(android_os_Build);
29 |
30 | #include "j4a/j4a_allclasses.loader.h"
31 |
32 | fail:
33 | return ret;
34 | }
35 |
--------------------------------------------------------------------------------
/ijkmedia/ijkplayer/ff_fferror.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ff_fferror.h
3 | *
4 | * Copyright (c) 2003 Fabrice Bellard
5 | * Copyright (c) 2013 Zhang Rui
6 | *
7 | * This file is part of ijkPlayer.
8 | *
9 | * ijkPlayer is free software; you can redistribute it and/or
10 | * modify it under the terms of the GNU Lesser General Public
11 | * License as published by the Free Software Foundation; either
12 | * version 2.1 of the License, or (at your option) any later version.
13 | *
14 | * ijkPlayer is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 | * Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public
20 | * License along with ijkPlayer; if not, write to the Free Software
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 | */
23 |
24 | #ifndef FFPLAY__FF_FFERROR_H
25 | #define FFPLAY__FF_FFERROR_H
26 |
27 | #define EIJK_FAILED -1
28 | #define EIJK_OUT_OF_MEMORY -2
29 | #define EIJK_INVALID_STATE -3
30 | #define EIJK_NULL_IS_PTR -4
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ijkmedia/ijkplayer/pipeline/ffpipeline_ffplay.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ffpipeline_ffplay.h
3 | *
4 | * Copyright (c) 2014 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #ifndef FFPLAY__FF_FFPIPELINE_FFPLAY_H
24 | #define FFPLAY__FF_FFPIPELINE_FFPLAY_H
25 |
26 | #include "../ff_ffpipeline.h"
27 |
28 | // There is no default aout for ffplay.
29 | // IJKFF_Pipeline *ffpipeline_create_from_ffplay(FFPlayer *ffp);
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/ijkmedia/ijksdl/ijksdl_error.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 | * ijksdl_error.h
3 | *****************************************************************************
4 | *
5 | * copyright (c) 2013 Zhang Rui
6 | *
7 | * This file is part of ijkPlayer.
8 | *
9 | * ijkPlayer is free software; you can redistribute it and/or
10 | * modify it under the terms of the GNU Lesser General Public
11 | * License as published by the Free Software Foundation; either
12 | * version 2.1 of the License, or (at your option) any later version.
13 | *
14 | * ijkPlayer is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 | * Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public
20 | * License along with ijkPlayer; if not, write to the Free Software
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 | */
23 |
24 | #ifndef IJKSDL__IJKSDL_ERROR_H
25 | #define IJKSDL__IJKSDL_ERROR_H
26 |
27 | const char *SDL_GetError(void);
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-arm64/src/main/jni/Application.mk:
--------------------------------------------------------------------------------
1 | # copyright (c) 2013-2014 Zhang Rui
2 | #
3 | # This file is part of ijkPlayer.
4 | #
5 | # ijkPlayer is free software; you can redistribute it and/or
6 | # modify it under the terms of the GNU Lesser General Public
7 | # License as published by the Free Software Foundation; either
8 | # version 2.1 of the License, or (at your option) any later version.
9 | #
10 | # ijkPlayer is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | # Lesser General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU Lesser General Public
16 | # License along with ijkPlayer; if not, write to the Free Software
17 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 |
19 | APP_OPTIM := release
20 | APP_PLATFORM := android-21
21 | APP_ABI := arm64-v8a
22 | NDK_TOOLCHAIN_VERSION=4.9
23 | APP_PIE := false
24 |
25 | APP_CFLAGS := -O3 -Wall -pipe \
26 | -ffast-math \
27 | -fstrict-aliasing -Werror=strict-aliasing \
28 | -Wno-psabi -Wa,--noexecstack \
29 | -DANDROID -DNDEBUG
30 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/build/IJKMediaFramework.framework/Headers/IJKMediaPlayer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IJKMediaPlayer.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import "IJKMediaPlayback.h"
24 | #import "IJKMPMoviePlayerController.h"
25 |
26 | #import "IJKFFOptions.h"
27 | #import "IJKFFMoviePlayerController.h"
28 |
29 | #import "IJKAVMoviePlayerController.h"
30 |
31 | #import "IJKMediaModule.h"
32 |
--------------------------------------------------------------------------------
/ijkmedia/ijksdl/ijksdl_error.c:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 | * ijksdl_error.c
3 | *****************************************************************************
4 | *
5 | * copyright (c) 2013 Zhang Rui
6 | *
7 | * This file is part of ijkPlayer.
8 | *
9 | * ijkPlayer is free software; you can redistribute it and/or
10 | * modify it under the terms of the GNU Lesser General Public
11 | * License as published by the Free Software Foundation; either
12 | * version 2.1 of the License, or (at your option) any later version.
13 | *
14 | * ijkPlayer is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 | * Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public
20 | * License along with ijkPlayer; if not, write to the Free Software
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 | */
23 |
24 | #include "ijksdl_error.h"
25 | #include "ijksdl_stdinc.h"
26 |
27 | const char *SDL_GetError(void)
28 | {
29 | return NULL;
30 | }
31 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player.misc;
18 |
19 | public interface ITrackInfo {
20 | int MEDIA_TRACK_TYPE_AUDIO = 2;
21 | int MEDIA_TRACK_TYPE_METADATA = 5;
22 | int MEDIA_TRACK_TYPE_SUBTITLE = 4;
23 | int MEDIA_TRACK_TYPE_TIMEDTEXT = 3;
24 | int MEDIA_TRACK_TYPE_UNKNOWN = 0;
25 | int MEDIA_TRACK_TYPE_VIDEO = 1;
26 |
27 | IMediaFormat getFormat();
28 |
29 | String getLanguage();
30 |
31 | int getTrackType();
32 |
33 | String getInfoInline();
34 | }
35 |
--------------------------------------------------------------------------------
/init-android-libyuv.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | #
3 | # Copyright (C) 2013-2015 Zhang Rui
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | #
17 |
18 |
19 | IJK_LIBYUV_UPSTREAM=https://github.com/Bilibili/libyuv.git
20 | IJK_LIBYUV_FORK=https://github.com/Bilibili/libyuv.git
21 | IJK_LIBYUV_COMMIT=ijk-r0.2.1-dev
22 | IJK_LIBYUV_LOCAL_REPO=extra/libyuv
23 |
24 | set -e
25 | TOOLS=tools
26 |
27 | echo "== pull libyuv base =="
28 | sh $TOOLS/pull-repo-base.sh $IJK_LIBYUV_UPSTREAM $IJK_LIBYUV_LOCAL_REPO
29 |
30 | echo "== pull libyuv fork =="
31 | sh $TOOLS/pull-repo-ref.sh $IJK_LIBYUV_FORK ijkmedia/ijkyuv ${IJK_LIBYUV_LOCAL_REPO}
32 | cd ijkmedia/ijkyuv
33 | git checkout ${IJK_LIBYUV_COMMIT}
34 | cd -
35 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijkplayer/ios/pipeline/ffpipeline_ios.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ffpipeline_ios.h
3 | *
4 | * Copyright (c) 2014 Zhou Quan
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #ifndef FFPLAY__FF_FFPIPELINE_IOS_H
24 | #define FFPLAY__FF_FFPIPELINE_IOS_H
25 |
26 | #include "ijkplayer/ff_ffpipeline.h"
27 |
28 | struct FFPlayer;
29 |
30 | IJKFF_Pipeline *ffpipeline_create_from_ios(struct FFPlayer *ffp);
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/ijkmedia/ijkplayer/pipeline/ffpipenode_ffplay_vdec.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ffpipenode_ffplay_vdec.h
3 | *
4 | * Copyright (c) 2014 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #ifndef FFPLAY__FF_FFPIPENODE_FFPLAY_VDEC_H
24 | #define FFPLAY__FF_FFPIPENODE_FFPLAY_VDEC_H
25 |
26 | #include "../ff_ffpipenode.h"
27 |
28 | struct FFPlayer;
29 |
30 | IJKFF_Pipenode *ffpipenode_create_video_decoder_from_ffplay(struct FFPlayer *ffp);
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/annotations/AccessedByNative.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2014 Zhang Rui
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package tv.danmaku.ijk.media.player.annotations;
18 |
19 | import java.lang.annotation.ElementType;
20 | import java.lang.annotation.Retention;
21 | import java.lang.annotation.RetentionPolicy;
22 | import java.lang.annotation.Target;
23 |
24 | /**
25 | * is used by the JNI generator to create the necessary JNI
26 | * bindings and expose this method to native code.
27 | */
28 | @Target(ElementType.FIELD)
29 | @Retention(RetentionPolicy.CLASS)
30 | public @interface AccessedByNative {
31 | }
--------------------------------------------------------------------------------
/ijkmedia/ijksdl/ijksdl_video.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 | * ijksdl_video.h
3 | *****************************************************************************
4 | *
5 | * copyright (c) 2013 Zhang Rui
6 | *
7 | * This file is part of ijkPlayer.
8 | *
9 | * ijkPlayer is free software; you can redistribute it and/or
10 | * modify it under the terms of the GNU Lesser General Public
11 | * License as published by the Free Software Foundation; either
12 | * version 2.1 of the License, or (at your option) any later version.
13 | *
14 | * ijkPlayer is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 | * Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public
20 | * License along with ijkPlayer; if not, write to the Free Software
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 | */
23 |
24 | #ifndef IJKSDL__IJKSDL_VIDEO_H
25 | #define IJKSDL__IJKSDL_VIDEO_H
26 |
27 | #include "ijksdl_stdinc.h"
28 | #include "ijksdl_fourcc.h"
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/ijkmedia/ijksdl/ijksdl_class.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 | * ijksdl_class.h
3 | *****************************************************************************
4 | *
5 | * copyright (c) 2013 Zhang Rui
6 | *
7 | * This file is part of ijkPlayer.
8 | *
9 | * ijkPlayer is free software; you can redistribute it and/or
10 | * modify it under the terms of the GNU Lesser General Public
11 | * License as published by the Free Software Foundation; either
12 | * version 2.1 of the License, or (at your option) any later version.
13 | *
14 | * ijkPlayer is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 | * Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public
20 | * License along with ijkPlayer; if not, write to the Free Software
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 | */
23 |
24 | #ifndef IJKSDL__IJKSDL_CLASS_H
25 | #define IJKSDL__IJKSDL_CLASS_H
26 |
27 | typedef struct SDL_Class {
28 | const char *name;
29 | } SDL_Class;
30 |
31 | #endif
32 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/IJKAudioKit.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IJKAudioKit.h
3 | *
4 | * Copyright (c) 2013-2014 Zhang Rui
5 | *
6 | * based on https://github.com/kolyvan/kxmovie
7 | *
8 | * This file is part of ijkPlayer.
9 | *
10 | * ijkPlayer is free software; you can redistribute it and/or
11 | * modify it under the terms of the GNU Lesser General Public
12 | * License as published by the Free Software Foundation; either
13 | * version 2.1 of the License, or (at your option) any later version.
14 | *
15 | * ijkPlayer is distributed in the hope that it will be useful,
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 | * Lesser General Public License for more details.
19 | *
20 | * You should have received a copy of the GNU Lesser General Public
21 | * License along with ijkPlayer; if not, write to the Free Software
22 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 | */
24 |
25 | #import
26 | #import
27 |
28 | @interface IJKAudioKit : NSObject
29 |
30 | + (IJKAudioKit *)sharedInstance;
31 | - (void)setupAudioSession;
32 | - (BOOL)setActive:(BOOL)active;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/IJKMPMoviePlayerController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IJKMPMoviePlayerController.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import "IJKMediaPlayback.h"
24 | #import
25 |
26 | @interface IJKMPMoviePlayerController : MPMoviePlayerController
27 |
28 | - (id)initWithContentURL:(NSURL *)aUrl;
29 | - (id)initWithContentURLString:(NSString *)aUrl;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/IJKMediaUtils.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IJKMediaUtils.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import
24 |
25 | @interface IJKMediaUtils : NSObject
26 |
27 | + (NSError*)createErrorWithDomain: (NSString*)domain
28 | code: (NSInteger)code
29 | description: (NSString*)description
30 | reason: (NSString*)reason;
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/build/IJKMediaFramework.framework/Headers/IJKMPMoviePlayerController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IJKMPMoviePlayerController.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import "IJKMediaPlayback.h"
24 | #import
25 |
26 | @interface IJKMPMoviePlayerController : MPMoviePlayerController
27 |
28 | - (id)initWithContentURL:(NSURL *)aUrl;
29 | - (id)initWithContentURLString:(NSString *)aUrl;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/IJKMediaModule.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IJKMediaModule.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import
24 |
25 | @interface IJKMediaModule : NSObject
26 |
27 | + (IJKMediaModule *)sharedModule;
28 |
29 | @property(atomic, getter=isAppIdleTimerDisabled) BOOL appIdleTimerDisabled;
30 | @property(atomic, getter=isMediaModuleIdleTimerDisabled) BOOL mediaModuleIdleTimerDisabled;
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/IJKMediaPlayer/ijkmedia/ijkplayer/ios/ijkplayer_ios.h:
--------------------------------------------------------------------------------
1 | /*
2 | * ijkplayer_ios.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #include "ijkplayer/ijkplayer.h"
24 | #import "IJKSDLGLView.h"
25 |
26 | // ref_count is 1 after open
27 | IjkMediaPlayer *ijkmp_ios_create(int (*msg_loop)(void*));
28 |
29 | void ijkmp_ios_set_glview(IjkMediaPlayer *mp, IJKSDLGLView *glView);
30 | bool ijkmp_ios_is_videotoolbox_open(IjkMediaPlayer *mp);
31 |
--------------------------------------------------------------------------------
/init-android-prof.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 | #
3 | # Copyright (C) 2013-2015 Zhang Rui
4 | #
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 | #
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 | #
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 | #
17 |
18 | IJK_LIB_NAME=android-ndk-profiler
19 | IJK_LIB_UPSTREAM=https://github.com/Bilibili/android-ndk-profiler.git
20 | IJK_LIB_FORK=https://github.com/Bilibili/android-ndk-profiler.git
21 | IJK_LIB_COMMIT=ijk-r0.3.0-dev
22 | IJK_LIB_LOCAL_REPO=extra/android-ndk-profiler
23 |
24 | set -e
25 | TOOLS=tools
26 |
27 | echo "== pull $IJK_LIB_NAME base =="
28 | sh $TOOLS/pull-repo-base.sh $IJK_LIB_UPSTREAM $IJK_LIB_LOCAL_REPO
29 |
30 | echo "== pull $IJK_LIB_NAME fork =="
31 | sh $TOOLS/pull-repo-ref.sh $IJK_LIB_FORK ijkprof/$IJK_LIB_NAME ${IJK_LIB_LOCAL_REPO}
32 | cd ijkprof/$IJK_LIB_NAME
33 | git checkout ${IJK_LIB_COMMIT}
34 | cd -
35 |
--------------------------------------------------------------------------------
/ijkmedia/ijksdl/dummy/ijksdl_dummy.h:
--------------------------------------------------------------------------------
1 | /*****************************************************************************
2 | * ijksdl_dummy.h
3 | *****************************************************************************
4 | *
5 | * copyright (c) 2013 Zhang Rui
6 | *
7 | * This file is part of ijkPlayer.
8 | *
9 | * ijkPlayer is free software; you can redistribute it and/or
10 | * modify it under the terms of the GNU Lesser General Public
11 | * License as published by the Free Software Foundation; either
12 | * version 2.1 of the License, or (at your option) any later version.
13 | *
14 | * ijkPlayer is distributed in the hope that it will be useful,
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 | * Lesser General Public License for more details.
18 | *
19 | * You should have received a copy of the GNU Lesser General Public
20 | * License along with ijkPlayer; if not, write to the Free Software
21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 | */
23 |
24 | #ifndef IJKSDL_DUMMY__IJKSDL_DUMMY_H
25 | #define IJKSDL_DUMMY__IJKSDL_DUMMY_H
26 |
27 | #include "../ijksdl.h"
28 |
29 | // #include "ijksdl_aout_dummy.h"
30 |
31 | #include "ijksdl_vout_dummy.h"
32 |
33 | #endif
34 |
35 |
--------------------------------------------------------------------------------
/ios/IJKMediaPlayer/build/IJKMediaFramework.framework/Headers/IJKMediaModule.h:
--------------------------------------------------------------------------------
1 | /*
2 | * IJKMediaModule.h
3 | *
4 | * Copyright (c) 2013 Zhang Rui
5 | *
6 | * This file is part of ijkPlayer.
7 | *
8 | * ijkPlayer is free software; you can redistribute it and/or
9 | * modify it under the terms of the GNU Lesser General Public
10 | * License as published by the Free Software Foundation; either
11 | * version 2.1 of the License, or (at your option) any later version.
12 | *
13 | * ijkPlayer is distributed in the hope that it will be useful,
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 | * Lesser General Public License for more details.
17 | *
18 | * You should have received a copy of the GNU Lesser General Public
19 | * License along with ijkPlayer; if not, write to the Free Software
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 | */
22 |
23 | #import
24 |
25 | @interface IJKMediaModule : NSObject
26 |
27 | + (IJKMediaModule *)sharedModule;
28 |
29 | @property(atomic, getter=isAppIdleTimerDisabled) BOOL appIdleTimerDisabled;
30 | @property(atomic, getter=isMediaModuleIdleTimerDisabled) BOOL mediaModuleIdleTimerDisabled;
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/ios/IJKMediaDemo/XCAssets/LaunchImages.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "portrait",
5 | "idiom" : "iphone",
6 | "filename" : "iphone_ios7_640_960.png",
7 | "extent" : "full-screen",
8 | "minimum-system-version" : "7.0",
9 | "scale" : "2x"
10 | },
11 | {
12 | "extent" : "full-screen",
13 | "idiom" : "iphone",
14 | "subtype" : "retina4",
15 | "filename" : "iphone_ios7_640_1136.png",
16 | "minimum-system-version" : "7.0",
17 | "orientation" : "portrait",
18 | "scale" : "2x"
19 | },
20 | {
21 | "orientation" : "portrait",
22 | "idiom" : "iphone",
23 | "filename" : "iphone_ios5_320_480.png",
24 | "extent" : "full-screen",
25 | "scale" : "1x"
26 | },
27 | {
28 | "orientation" : "portrait",
29 | "idiom" : "iphone",
30 | "filename" : "iphone_ios5_640_960.png",
31 | "extent" : "full-screen",
32 | "scale" : "2x"
33 | },
34 | {
35 | "orientation" : "portrait",
36 | "idiom" : "iphone",
37 | "filename" : "iphone_ios5_640_1136.png",
38 | "extent" : "full-screen",
39 | "subtype" : "retina4",
40 | "scale" : "2x"
41 | }
42 | ],
43 | "info" : {
44 | "version" : 1,
45 | "author" : "xcode"
46 | }
47 | }
--------------------------------------------------------------------------------