├── .gitignore
├── AudioVideoRecordingSample
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── serenegiant
│ │ ├── audiovideosample
│ │ ├── CameraFragment.java
│ │ ├── CameraGLView.java
│ │ └── MainActivity.java
│ │ ├── encoder
│ │ ├── MediaAudioEncoder.java
│ │ ├── MediaEncoder.java
│ │ ├── MediaMuxerWrapper.java
│ │ └── MediaVideoEncoder.java
│ │ └── glutils
│ │ ├── EGLBase.java
│ │ ├── GLDrawer2D.java
│ │ └── RenderHandler.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── layout
│ ├── activity_main.xml
│ └── fragment_main.xml
│ ├── menu
│ └── main.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
├── FFmpegAndroid
├── .gitignore
├── assets
│ ├── armeabi-v7a-neon
│ │ └── ffmpeg
│ ├── armeabi-v7a
│ │ └── ffmpeg
│ └── x86
│ │ └── ffmpeg
├── build.gradle
├── gradle.properties
├── jni
│ ├── Android.mk
│ ├── Application.mk
│ └── armArch.c
├── libs
│ ├── armeabi-v7a
│ │ └── libARM_ARCH.so
│ ├── armeabi
│ │ └── libARM_ARCH.so
│ └── x86
│ │ └── libARM_ARCH.so
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── github
│ │ └── libffmpeg
│ │ ├── ArmArchHelper.java
│ │ ├── CommandResult.java
│ │ ├── CpuArch.java
│ │ ├── CpuArchHelper.java
│ │ ├── ExecuteBinaryResponseHandler.java
│ │ ├── FFmpeg.java
│ │ ├── FFmpegCommandExecutor.java
│ │ ├── FFmpegExecuteAsyncTask.java
│ │ ├── FFmpegExecuteResponseHandler.java
│ │ ├── FFmpegInterface.java
│ │ ├── FFmpegLoadBinaryResponseHandler.java
│ │ ├── FFmpegLoadLibraryAsyncTask.java
│ │ ├── FFmpegSyncResponseHandler.java
│ │ ├── FFmpegSyncResponseInterface.java
│ │ ├── FileUtils.java
│ │ ├── LoadBinaryResponseHandler.java
│ │ ├── Log.java
│ │ ├── Metadata.java
│ │ ├── ResponseHandler.java
│ │ ├── ShellCommand.java
│ │ ├── Util.java
│ │ └── exceptions
│ │ ├── FFmpegCommandAlreadyRunningException.java
│ │ └── FFmpegNotSupportedException.java
│ └── res
│ └── values
│ └── strings.xml
├── MediaRecorderSample
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── example
│ │ └── android
│ │ ├── common
│ │ └── media
│ │ │ ├── CameraHelper.java
│ │ │ └── MediaCodecWrapper.java
│ │ └── mediarecorder
│ │ └── MainActivity.java
│ └── res
│ ├── drawable-hdpi
│ ├── ic_launcher.png
│ └── tile.9.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ ├── activity_main.xml
│ └── sample_main.xml
│ ├── values-sw600dp
│ ├── template-dimens.xml
│ └── template-styles.xml
│ ├── values-sw720dp-land
│ └── dimens.xml
│ ├── values-v11
│ └── template-styles.xml
│ └── values
│ ├── base-strings.xml
│ ├── dimens.xml
│ ├── strings.xml
│ ├── template-dimens.xml
│ └── template-styles.xml
├── androidH264StreamDemo.zip
├── androidH264StreamDemo
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── jemi
│ │ └── androidh264streamdemo
│ │ ├── AvcEncoder.java
│ │ └── MainActivity.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ ├── activity_main.xml
│ └── stream_dlg_view.xml
│ ├── menu
│ └── main.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
├── app
├── .gitignore
├── build.gradle
├── libs
│ └── pldroid-camera-streaming-1.5.0.jar
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── angcyo
│ │ └── pldroiddemo
│ │ └── ApplicationTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── angcyo
│ │ │ └── pldroiddemo
│ │ │ ├── AbstractFilter.java
│ │ │ ├── CameraFilter.java
│ │ │ ├── CameraFilterBeauty.java
│ │ │ ├── CameraPreviewFrameView.java
│ │ │ ├── Drawable2d.java
│ │ │ ├── FBO.java
│ │ │ ├── FocusIndicatorRotateLayout.java
│ │ │ ├── FullFrameRect.java
│ │ │ ├── GlUtil.java
│ │ │ ├── IFilter.java
│ │ │ ├── Main2Activity.java
│ │ │ ├── MainActivity.java
│ │ │ ├── Rotatable.java
│ │ │ └── RotateLayout.java
│ ├── jniLibs
│ │ ├── arm64-v8a
│ │ │ ├── libpldroid_streaming_aac_encoder.so
│ │ │ ├── libpldroid_streaming_core.so
│ │ │ └── libpldroid_streaming_h264_encoder.so
│ │ ├── armeabi-v7a
│ │ │ ├── libpldroid_streaming_aac_encoder.so
│ │ │ ├── libpldroid_streaming_core.so
│ │ │ └── libpldroid_streaming_h264_encoder.so
│ │ ├── armeabi
│ │ │ ├── libpldroid_streaming_aac_encoder.so
│ │ │ ├── libpldroid_streaming_core.so
│ │ │ └── libpldroid_streaming_h264_encoder.so
│ │ └── x86
│ │ │ ├── libpldroid_streaming_aac_encoder.so
│ │ │ ├── libpldroid_streaming_core.so
│ │ │ └── libpldroid_streaming_h264_encoder.so
│ └── res
│ │ ├── drawable-hdpi
│ │ ├── ic_focus_failed.9.png
│ │ ├── ic_focus_focused.9.png
│ │ └── ic_focus_focusing.9.png
│ │ ├── layout
│ │ ├── activity_main.xml
│ │ ├── activity_main2.xml
│ │ └── focus_indicator.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ ├── raw
│ │ ├── cross_1.acv
│ │ ├── cross_10.acv
│ │ ├── cross_11.acv
│ │ ├── cross_2.acv
│ │ ├── cross_3.acv
│ │ ├── cross_4.acv
│ │ ├── cross_5.acv
│ │ ├── cross_6.acv
│ │ ├── cross_7.acv
│ │ ├── cross_8.acv
│ │ ├── cross_9.acv
│ │ ├── fragment_shader_beauty.glsl
│ │ ├── fragment_shader_ext_tone_curve.glsl
│ │ ├── fragment_shader_mosaic.glsl
│ │ ├── fragment_shader_no_filter.glsl
│ │ ├── vertex_shader.glsl
│ │ └── vertex_shader_two_input.glsl
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── angcyo
│ └── pldroiddemo
│ └── ExampleUnitTest.java
├── audiovideorecordingdemo
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── angcyo
│ │ └── audiovideorecordingdemo
│ │ └── ApplicationTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── angcyo
│ │ │ └── audiovideorecordingdemo
│ │ │ ├── BlurredActivity.java
│ │ │ ├── CameraTexturePreview.java
│ │ │ ├── CameraWrapper.java
│ │ │ ├── CrashHandler.java
│ │ │ ├── FileSwapHelper.java
│ │ │ ├── MainActivity.java
│ │ │ ├── encoder
│ │ │ ├── MediaAudioEncoder.java
│ │ │ ├── MediaEncoder.java
│ │ │ ├── MediaMuxerWrapper.java
│ │ │ └── MediaVideoEncoder.java
│ │ │ └── rencoder
│ │ │ ├── AudioRunnable.java
│ │ │ ├── FileUtils.java
│ │ │ ├── MediaMuxerRunnable.java
│ │ │ └── VideoRunnable.java
│ └── res
│ │ ├── layout
│ │ ├── activity_blurred.xml
│ │ └── activity_main.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── angcyo
│ └── audiovideorecordingdemo
│ └── ExampleUnitTest.java
├── audiovideorecordingdemo2
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── angcyo
│ │ └── audiovideorecordingdemo
│ │ └── ApplicationTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── angcyo
│ │ │ └── audiovideorecordingdemo
│ │ │ ├── BlurredActivity.java
│ │ │ ├── CameraTexturePreview.java
│ │ │ ├── CameraWrapper.java
│ │ │ ├── CrashHandler.java
│ │ │ ├── FileSwapHelper.java
│ │ │ ├── Main2Activity.java
│ │ │ ├── MainActivity.java
│ │ │ ├── encoder
│ │ │ ├── MediaAudioEncoder.java
│ │ │ ├── MediaEncoder.java
│ │ │ ├── MediaMuxerWrapper.java
│ │ │ └── MediaVideoEncoder.java
│ │ │ └── rencoder
│ │ │ ├── AudioRunnable.java
│ │ │ ├── FileUtils.java
│ │ │ ├── MediaMuxerRunnable.java
│ │ │ └── VideoRunnable.java
│ └── res
│ │ ├── layout
│ │ ├── activity_blurred.xml
│ │ ├── activity_main.xml
│ │ └── activity_main2.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── angcyo
│ └── audiovideorecordingdemo
│ └── ExampleUnitTest.java
├── blur-behind
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── com
│ └── faradaj
│ └── blurbehind
│ ├── BlurBehind.java
│ ├── OnBlurCompleteListener.java
│ └── util
│ └── Blur.java
├── blurEffect
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── npi
│ │ └── blureffect
│ │ ├── Blur.java
│ │ ├── ImageUtils.java
│ │ ├── MainActivity.java
│ │ ├── ScrollableImageView.java
│ │ └── TopCenterImageView.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ ├── header.9.png
│ ├── ic_launcher.png
│ └── image.jpg
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ ├── activity_main.xml
│ └── list_item.xml
│ ├── values-sw600dp
│ └── dimens.xml
│ ├── values-sw720dp-land
│ └── dimens.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ └── values
│ ├── arrays.xml
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
├── build.gradle
├── cameraPreview
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── org
│ │ └── camera
│ │ ├── Blur.java
│ │ ├── FastBlur.java
│ │ ├── FileSwapHelper.java
│ │ ├── FileUtils.java
│ │ ├── ImageUtils.java
│ │ ├── activity
│ │ └── CameraSurfaceTextureActivity.java
│ │ ├── camera
│ │ └── CameraWrapper.java
│ │ ├── encode
│ │ ├── VideoEncoderFromBuffer.java
│ │ └── VideoEncoderFromSurface.java
│ │ └── preview
│ │ └── CameraTexturePreview.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ └── activity_camera_preview.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ └── values
│ ├── strings.xml
│ └── styles.xml
├── driveblurdemo
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── angcyo
│ │ └── driveblurdemo
│ │ └── ApplicationTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── angcyo
│ │ │ └── driveblurdemo
│ │ │ ├── MainActivity.java
│ │ │ └── VideoEncoderFromBuffer.java
│ └── res
│ │ ├── layout
│ │ └── activity_main.xml
│ │ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── angcyo
│ └── driveblurdemo
│ └── ExampleUnitTest.java
├── drivevideo
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── dudu
│ │ └── drivevideo
│ │ └── ApplicationTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ ├── com
│ │ │ ├── dudu
│ │ │ │ └── drivevideo
│ │ │ │ │ ├── config
│ │ │ │ │ ├── DriveVideoContants.java
│ │ │ │ │ ├── FrontVideoConfigParam.java
│ │ │ │ │ ├── RearVideoConfigParam.java
│ │ │ │ │ └── VideoConfigParam.java
│ │ │ │ │ ├── event
│ │ │ │ │ └── FrontCameraReadyPreview.java
│ │ │ │ │ └── model
│ │ │ │ │ ├── PhotoInfoEntity.java
│ │ │ │ │ └── VideoEntity.java
│ │ │ └── hclydao
│ │ │ │ └── webcam
│ │ │ │ └── Ffmpeg.java
│ │ └── org
│ │ │ └── wysaid
│ │ │ ├── algorithm
│ │ │ ├── Matrix2x2.java
│ │ │ ├── Matrix3x3.java
│ │ │ ├── Matrix4x4.java
│ │ │ ├── Vector2.java
│ │ │ ├── Vector3.java
│ │ │ └── Vector4.java
│ │ │ ├── camera
│ │ │ └── CameraInstance.java
│ │ │ ├── common
│ │ │ ├── Common.java
│ │ │ ├── FrameBufferObject.java
│ │ │ ├── ProgramObject.java
│ │ │ ├── SharedContext.java
│ │ │ └── TextureDrawer.java
│ │ │ ├── myUtils
│ │ │ ├── FileUtil.java
│ │ │ └── ImageUtil.java
│ │ │ ├── nativePort
│ │ │ ├── CGEFaceFunctions.java
│ │ │ ├── CGEFrameRecorder.java
│ │ │ ├── CGEFrameRenderer.java
│ │ │ ├── CGEImageHandler.java
│ │ │ ├── CGENativeLibrary.java
│ │ │ ├── FFmpegNativeLibrary.java
│ │ │ └── NativeLibraryLoader.java
│ │ │ ├── texUtils
│ │ │ ├── TextureRenderer.java
│ │ │ ├── TextureRendererBlur.java
│ │ │ ├── TextureRendererDrawOrigin.java
│ │ │ ├── TextureRendererEdge.java
│ │ │ ├── TextureRendererEmboss.java
│ │ │ ├── TextureRendererLerpBlur.java
│ │ │ ├── TextureRendererMask.java
│ │ │ └── TextureRendererWave.java
│ │ │ └── view
│ │ │ ├── CameraGLSurfaceView.java
│ │ │ ├── CameraRecordGLSurfaceView.java
│ │ │ ├── ImageGLSurfaceView.java
│ │ │ ├── SimplePlayerGLSurfaceView.java
│ │ │ └── VideoPlayerGLSurfaceView.java
│ ├── jniLibs
│ │ ├── arm64-v8a
│ │ │ └── libCGE.so
│ │ ├── armeabi-v7a
│ │ │ └── libCGE.so
│ │ ├── armeabi
│ │ │ └── libCGE.so
│ │ ├── x86
│ │ │ └── libCGE.so
│ │ └── x86_64
│ │ │ └── libCGE.so
│ └── res
│ │ └── values
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── dudu
│ └── drivevideo
│ └── ExampleUnitTest.java
├── gpuimage-library
├── .gitignore
├── AndroidManifest.xml
├── android-artifacts.gradle
├── build.gradle
├── central-publish.gradle
├── gradle.properties
├── jni
│ └── yuv-decoder.c
├── proguard-project.txt
├── project.properties
└── src
│ └── jp
│ └── co
│ └── cyberagent
│ └── android
│ └── gpuimage
│ ├── GPUImage.java
│ ├── GPUImage3x3ConvolutionFilter.java
│ ├── GPUImage3x3TextureSamplingFilter.java
│ ├── GPUImageAddBlendFilter.java
│ ├── GPUImageAlphaBlendFilter.java
│ ├── GPUImageBilateralFilter.java
│ ├── GPUImageBoxBlurFilter.java
│ ├── GPUImageBrightnessFilter.java
│ ├── GPUImageBulgeDistortionFilter.java
│ ├── GPUImageCGAColorspaceFilter.java
│ ├── GPUImageChromaKeyBlendFilter.java
│ ├── GPUImageColorBalanceFilter.java
│ ├── GPUImageColorBlendFilter.java
│ ├── GPUImageColorBurnBlendFilter.java
│ ├── GPUImageColorDodgeBlendFilter.java
│ ├── GPUImageColorInvertFilter.java
│ ├── GPUImageColorMatrixFilter.java
│ ├── GPUImageContrastFilter.java
│ ├── GPUImageCrosshatchFilter.java
│ ├── GPUImageDarkenBlendFilter.java
│ ├── GPUImageDifferenceBlendFilter.java
│ ├── GPUImageDilationFilter.java
│ ├── GPUImageDirectionalSobelEdgeDetectionFilter.java
│ ├── GPUImageDissolveBlendFilter.java
│ ├── GPUImageDivideBlendFilter.java
│ ├── GPUImageEmbossFilter.java
│ ├── GPUImageExclusionBlendFilter.java
│ ├── GPUImageExposureFilter.java
│ ├── GPUImageFalseColorFilter.java
│ ├── GPUImageFilter.java
│ ├── GPUImageFilterGroup.java
│ ├── GPUImageGammaFilter.java
│ ├── GPUImageGaussianBlurFilter.java
│ ├── GPUImageGlassSphereFilter.java
│ ├── GPUImageGrayscaleFilter.java
│ ├── GPUImageHalftoneFilter.java
│ ├── GPUImageHardLightBlendFilter.java
│ ├── GPUImageHazeFilter.java
│ ├── GPUImageHighlightShadowFilter.java
│ ├── GPUImageHueBlendFilter.java
│ ├── GPUImageHueFilter.java
│ ├── GPUImageKuwaharaFilter.java
│ ├── GPUImageLaplacianFilter.java
│ ├── GPUImageLevelsFilter.java
│ ├── GPUImageLightenBlendFilter.java
│ ├── GPUImageLinearBurnBlendFilter.java
│ ├── GPUImageLookupFilter.java
│ ├── GPUImageLuminosityBlendFilter.java
│ ├── GPUImageMixBlendFilter.java
│ ├── GPUImageMonochromeFilter.java
│ ├── GPUImageMultiplyBlendFilter.java
│ ├── GPUImageNativeLibrary.java
│ ├── GPUImageNonMaximumSuppressionFilter.java
│ ├── GPUImageNormalBlendFilter.java
│ ├── GPUImageOpacityFilter.java
│ ├── GPUImageOverlayBlendFilter.java
│ ├── GPUImagePixelationFilter.java
│ ├── GPUImagePosterizeFilter.java
│ ├── GPUImageRGBDilationFilter.java
│ ├── GPUImageRGBFilter.java
│ ├── GPUImageRenderer.java
│ ├── GPUImageSaturationBlendFilter.java
│ ├── GPUImageSaturationFilter.java
│ ├── GPUImageScreenBlendFilter.java
│ ├── GPUImageSepiaFilter.java
│ ├── GPUImageSharpenFilter.java
│ ├── GPUImageSketchFilter.java
│ ├── GPUImageSmoothToonFilter.java
│ ├── GPUImageSobelEdgeDetection.java
│ ├── GPUImageSobelThresholdFilter.java
│ ├── GPUImageSoftLightBlendFilter.java
│ ├── GPUImageSourceOverBlendFilter.java
│ ├── GPUImageSphereRefractionFilter.java
│ ├── GPUImageSubtractBlendFilter.java
│ ├── GPUImageSwirlFilter.java
│ ├── GPUImageThresholdEdgeDetection.java
│ ├── GPUImageToneCurveFilter.java
│ ├── GPUImageToonFilter.java
│ ├── GPUImageTransformFilter.java
│ ├── GPUImageTwoInputFilter.java
│ ├── GPUImageTwoPassFilter.java
│ ├── GPUImageTwoPassTextureSamplingFilter.java
│ ├── GPUImageView.java
│ ├── GPUImageVignetteFilter.java
│ ├── GPUImageWeakPixelInclusionFilter.java
│ ├── GPUImageWhiteBalanceFilter.java
│ ├── OpenGlUtils.java
│ ├── PixelBuffer.java
│ ├── Rotation.java
│ └── util
│ └── TextureRotationUtil.java
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── h264MediaCodecStreamer
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── example
│ │ └── h264codecstreamer
│ │ ├── AvcEncoder.java
│ │ ├── BufferQueue.java
│ │ └── MainStreamerActivity.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ └── activity_main.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ └── values
│ ├── strings.xml
│ └── styles.xml
├── import-summary.txt
├── mediaCodecDemo
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── example
│ │ └── mediaencodeanddecodedemo
│ │ ├── AvcEncoder.java
│ │ ├── DecodeActivity.java
│ │ ├── EncodeActivity.java
│ │ └── MainActivity.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ ├── activity_decode.xml
│ ├── activity_encode.xml
│ └── activity_main.xml
│ ├── menu
│ └── main.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
├── mediaCodecEncode
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── example
│ │ └── mediacodecencode
│ │ ├── AvcEncoder.java
│ │ └── MainActivity.java
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ └── activity_main.xml
│ ├── menu
│ └── main.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
├── mediaCodecPublisher
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── jutong
│ │ └── hardware
│ │ └── live
│ │ ├── AudioEncoder.java
│ │ ├── AudioSpecificConfig.java
│ │ ├── AudioTag.java
│ │ ├── MainActivity.java
│ │ └── VideoEncoder.java
│ ├── jniLibs
│ └── armeabi-v7a
│ │ └── libmyjni.so
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ └── activity_main.xml
│ ├── menu
│ └── activity_main.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ └── values
│ ├── strings.xml
│ └── styles.xml
├── settings.gradle
├── spydroid
├── build.gradle
├── libs
│ ├── acra-4.4.0.jar
│ ├── sc-light-jdk15on-1.47.0.2.jar
│ ├── scpkix-jdk15on-1.47.0.2.jar
│ └── scprov-jdk15on-1.47.0.2.jar
├── lint.xml
├── proguard-project.txt
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ └── www
│ │ ├── credits.htm
│ │ ├── fonts
│ │ ├── bangers.eot
│ │ ├── bangers.woff
│ │ ├── sunshiney.eot
│ │ └── sunshiney.woff
│ │ ├── images
│ │ ├── blue-button.png
│ │ ├── camera.png
│ │ ├── eye.png
│ │ ├── facebook.png
│ │ ├── install.jpg
│ │ ├── lamp.png
│ │ ├── phone.png
│ │ ├── quote.png
│ │ ├── red-button.png
│ │ ├── speaker.png
│ │ └── spydroid.png
│ │ ├── index.htm
│ │ ├── js
│ │ ├── ie.js
│ │ ├── jquery-1.9.1.min.js
│ │ ├── less-1.2.2.min.js
│ │ ├── translations.js
│ │ └── ui.js
│ │ ├── less
│ │ ├── #vlc.less#
│ │ ├── accordion.less
│ │ ├── base.less
│ │ ├── fonts.less
│ │ ├── ie.less
│ │ ├── index.htm
│ │ ├── mixins.less
│ │ ├── styles.css
│ │ ├── styles.less
│ │ └── vlc.less
│ │ └── tests
│ │ └── test1.htm
│ ├── java
│ └── net
│ │ └── majorkernelpanic
│ │ ├── http
│ │ ├── ModAssetServer.java
│ │ ├── ModInternationalization.java
│ │ ├── ModSSL.java
│ │ └── TinyHttpServer.java
│ │ ├── spydroid
│ │ ├── SpydroidApplication.java
│ │ ├── Utilities.java
│ │ ├── api
│ │ │ ├── CustomHttpServer.java
│ │ │ ├── CustomRtspServer.java
│ │ │ └── RequestHandler.java
│ │ └── ui
│ │ │ ├── AboutFragment.java
│ │ │ ├── HandsetFragment.java
│ │ │ ├── OptionsActivity.java
│ │ │ ├── PreviewFragment.java
│ │ │ ├── SpydroidActivity.java
│ │ │ └── TabletFragment.java
│ │ └── streaming
│ │ ├── MediaStream.java
│ │ ├── Session.java
│ │ ├── SessionBuilder.java
│ │ ├── Stream.java
│ │ ├── audio
│ │ ├── AACStream.java
│ │ ├── AMRNBStream.java
│ │ ├── AudioQuality.java
│ │ └── AudioStream.java
│ │ ├── exceptions
│ │ ├── CameraInUseException.java
│ │ ├── ConfNotSupportedException.java
│ │ ├── InvalidSurfaceException.java
│ │ └── StorageUnavailableException.java
│ │ ├── gl
│ │ ├── SurfaceManager.java
│ │ ├── SurfaceView.java
│ │ └── TextureManager.java
│ │ ├── hw
│ │ ├── CodecManager.java
│ │ ├── EncoderDebugger.java
│ │ └── NV21Convertor.java
│ │ ├── mp4
│ │ ├── MP4Config.java
│ │ └── MP4Parser.java
│ │ ├── rtcp
│ │ └── SenderReport.java
│ │ ├── rtp
│ │ ├── AACADTSPacketizer.java
│ │ ├── AACLATMPacketizer.java
│ │ ├── AMRNBPacketizer.java
│ │ ├── AbstractPacketizer.java
│ │ ├── H263Packetizer.java
│ │ ├── H264Packetizer.java
│ │ ├── MediaCodecInputStream.java
│ │ └── RtpSocket.java
│ │ ├── rtsp
│ │ ├── RtspClient.java
│ │ ├── RtspServer.java
│ │ └── UriParser.java
│ │ └── video
│ │ ├── CodecManager.java
│ │ ├── H263Stream.java
│ │ ├── H264Stream.java
│ │ ├── VideoQuality.java
│ │ └── VideoStream.java
│ └── res
│ ├── anim
│ └── pulse.xml
│ ├── drawable-hdpi
│ ├── background.png
│ ├── check.png
│ ├── icon.png
│ ├── quit.png
│ └── settings.png
│ ├── drawable-ldpi
│ ├── icon.png
│ ├── quit.png
│ └── settings.png
│ ├── drawable-mdpi
│ ├── icon.png
│ ├── quit.png
│ └── settings.png
│ ├── drawable
│ └── preview.xml
│ ├── layout-sw600dp
│ ├── preview.xml
│ ├── spydroid.xml
│ └── tablet.xml
│ ├── layout
│ ├── about.xml
│ ├── main.xml
│ ├── preview.xml
│ ├── spydroid.xml
│ └── tablet.xml
│ ├── menu
│ └── menu.xml
│ ├── raw
│ ├── animals_cat.mp3
│ ├── animals_dog.mp3
│ ├── funny_fart.mp3
│ ├── funny_fart2.mp3
│ ├── funny_snoring.mp3
│ ├── scary_breath.mp3
│ ├── scary_evil_laughter.mp3
│ ├── scary_horror.mp3
│ ├── scary_insane_laughter.mp3
│ ├── scary_long_growl.mp3
│ ├── scary_thunder.mp3
│ ├── war_explosion.mp3
│ └── war_gunshot.mp3
│ ├── values
│ ├── arrays.xml
│ └── strings.xml
│ └── xml
│ └── preferences.xml
├── testIjkplayer
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ ├── com
│ │ └── example
│ │ │ └── testijkplayer
│ │ │ ├── MainActivity.java
│ │ │ ├── VideoActivity.java
│ │ │ ├── VideoEditDemoActivity.java
│ │ │ ├── VideoEditor.java
│ │ │ └── snoCrashHandler.java
│ └── tv
│ │ └── danmaku
│ │ └── ijk
│ │ └── media
│ │ ├── player
│ │ ├── AbstractMediaPlayer.java
│ │ ├── IMediaPlayer.java
│ │ ├── ISurfaceTextureHolder.java
│ │ ├── ISurfaceTextureHost.java
│ │ ├── IjkLibLoader.java
│ │ ├── IjkMediaMeta.java
│ │ ├── IjkMediaPlayer.java
│ │ ├── MediaInfo.java
│ │ ├── MediaPlayerProxy.java
│ │ ├── TextureMediaPlayer.java
│ │ ├── exceptions
│ │ │ ├── AccessedByNative.java
│ │ │ ├── CalledByNative.java
│ │ │ ├── DebugLog.java
│ │ │ ├── IjkMediaException.java
│ │ │ └── Pragma.java
│ │ ├── ffmpeg
│ │ │ └── FFmpegApi.java
│ │ └── misc
│ │ │ ├── AndroidMediaFormat.java
│ │ │ ├── AndroidTrackInfo.java
│ │ │ ├── IMediaDataSource.java
│ │ │ ├── IMediaFormat.java
│ │ │ ├── ITrackInfo.java
│ │ │ ├── IjkMediaFormat.java
│ │ │ └── IjkTrackInfo.java
│ │ └── sample
│ │ ├── activities
│ │ ├── MediaPlayerService.java
│ │ └── Settings.java
│ │ └── widget
│ │ └── media
│ │ ├── AndroidMediaController.java
│ │ ├── IMediaController.java
│ │ ├── IRenderView.java
│ │ ├── IjkVideoView.java
│ │ ├── InfoHudViewHolder.java
│ │ ├── MeasureHelper.java
│ │ ├── MediaPlayerCompat.java
│ │ ├── SurfaceRenderView.java
│ │ ├── TableLayoutBinder.java
│ │ └── TextureRenderView.java
│ ├── jniLibs
│ └── armeabi-v7a
│ │ ├── libffmpegeditor.so
│ │ ├── libijkplayer.so
│ │ └── libijksdl.so
│ └── res
│ ├── drawable-hdpi
│ ├── ic_launcher.png
│ └── right_arrow.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ ├── activity_app.xml
│ ├── activity_main.xml
│ ├── activity_player.xml
│ ├── activity_pler2.xml
│ ├── fragment_file_list.xml
│ ├── fragment_file_list_item.xml
│ ├── fragment_track_list.xml
│ ├── table_media_info.xml
│ ├── table_media_info_row1.xml
│ ├── table_media_info_row2.xml
│ ├── table_media_info_section.xml
│ ├── video_edit_demo_layout.xml
│ └── widget_toolbar.xml
│ ├── menu
│ ├── menu_app.xml
│ └── menu_player.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── colors.xml
│ ├── dimens.xml
│ ├── ids.xml
│ ├── strings.xml
│ ├── strings_pref.xml
│ └── styles.xml
├── x264encoder
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ ├── com
│ │ └── example
│ │ │ └── x264encoder
│ │ │ └── MainActivity.java
│ └── example
│ │ └── sszpf
│ │ └── x264
│ │ └── x264sdk.java
│ ├── jniLibs
│ └── armeabi
│ │ └── libx264encoder.so
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── layout
│ └── activity_main.xml
│ ├── menu
│ └── main.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
└── yuvtorbga
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
├── androidTest
└── java
│ └── com
│ └── angcyo
│ └── yuvtorbga
│ └── ApplicationTest.java
├── main
├── AndroidManifest.xml
├── java
│ └── com
│ │ └── angcyo
│ │ └── yuvtorbga
│ │ └── GPUImageNativeLibrary.java
├── jni
│ └── yuv-decoder.c
└── res
│ └── values
│ └── strings.xml
└── test
└── java
└── com
└── angcyo
└── yuvtorbga
└── ExampleUnitTest.java
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 |
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "23.0.2"
6 |
7 | defaultConfig {
8 | applicationId "com.serenegiant.audiovideosample"
9 | minSdkVersion 18
10 | targetSdkVersion 21
11 | versionCode 5
12 | versionName "1.4"
13 | }
14 |
15 | buildTypes {
16 | release {
17 | minifyEnabled false
18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
19 | }
20 | }
21 | compileOptions {
22 | sourceCompatibility JavaVersion.VERSION_1_7
23 | targetCompatibility JavaVersion.VERSION_1_7
24 | }
25 | }
26 |
27 | dependencies {
28 | compile 'com.android.support:support-v4:23.2.0'
29 | compile project(':drivevideo')
30 | }
31 |
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/AudioVideoRecordingSample/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | 64dp
9 |
10 |
11 |
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | AudioVideoRecordingSample
5 | Settings
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AudioVideoRecordingSample/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/FFmpegAndroid/assets/armeabi-v7a-neon/ffmpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/FFmpegAndroid/assets/armeabi-v7a-neon/ffmpeg
--------------------------------------------------------------------------------
/FFmpegAndroid/assets/armeabi-v7a/ffmpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/FFmpegAndroid/assets/armeabi-v7a/ffmpeg
--------------------------------------------------------------------------------
/FFmpegAndroid/assets/x86/ffmpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/FFmpegAndroid/assets/x86/ffmpeg
--------------------------------------------------------------------------------
/FFmpegAndroid/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "23.0.2"
6 |
7 | defaultConfig {
8 | minSdkVersion 16
9 | targetSdkVersion 23
10 | versionCode 29
11 | versionName "0.2.5.9"
12 | }
13 |
14 | sourceSets.main {
15 | assets.srcDirs = ['assets']
16 | jni.srcDirs = [] //disable automatic ndk-build
17 | jniLibs.srcDirs = ['libs']
18 | }
19 | }
20 |
21 | dependencies {
22 | compile fileTree(dir: 'libs', include: ['*.jar'])
23 | }
24 |
25 | // apply from: 'https://raw.github.com/chrisbanes/gradle-mvn-push/master/gradle-mvn-push.gradle'
26 |
--------------------------------------------------------------------------------
/FFmpegAndroid/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=FFmpegAndroid Library
2 | POM_ARTIFACT_ID=FFmpegAndroid
3 | POM_PACKAGING=aar
4 |
--------------------------------------------------------------------------------
/FFmpegAndroid/jni/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 |
5 | LOCAL_MODULE := ARM_ARCH
6 |
7 | LOCAL_SRC_FILES := armArch.c
8 |
9 | LOCAL_CFLAGS := -DHAVE_NEON=1
10 | LOCAL_STATIC_LIBRARIES := cpufeatures
11 |
12 | LOCAL_LDLIBS := -llog
13 |
14 | include $(BUILD_SHARED_LIBRARY)
15 | $(call import-module,cpufeatures)
16 |
--------------------------------------------------------------------------------
/FFmpegAndroid/jni/Application.mk:
--------------------------------------------------------------------------------
1 | # Build for arm only
2 | APP_ABI := armeabi armeabi-v7a x86
3 |
4 | APP_PLATFORM := android-14
--------------------------------------------------------------------------------
/FFmpegAndroid/jni/armArch.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 |
6 | jstring
7 | Java_com_github_libffmpeg_ArmArchHelper_cpuArchFromJNI(JNIEnv* env, jobject obj)
8 | {
9 | // Maximum we need to store here is ARM v7-neon
10 | // Which is 11 char long, so initializing a character array of length 11
11 | char arch_info[11] = "";
12 |
13 | // checking if CPU is of ARM family or not
14 | if (android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM) {
15 | strcpy(arch_info, "ARM");
16 |
17 | // checking if CPU is ARM v7 or not
18 | uint64_t cpuFeatures = android_getCpuFeatures();
19 | if ((cpuFeatures & ANDROID_CPU_ARM_FEATURE_ARMv7) != 0) {
20 | strcat(arch_info, " v7");
21 |
22 | // checking if CPU is ARM v7 Neon
23 | if((cpuFeatures & ANDROID_CPU_ARM_FEATURE_NEON) != 0) {
24 | strcat(arch_info, "-neon");
25 | }
26 | }
27 | }
28 | return (*env)->NewStringUTF(env, arch_info);
29 | }
30 |
--------------------------------------------------------------------------------
/FFmpegAndroid/libs/armeabi-v7a/libARM_ARCH.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/FFmpegAndroid/libs/armeabi-v7a/libARM_ARCH.so
--------------------------------------------------------------------------------
/FFmpegAndroid/libs/armeabi/libARM_ARCH.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/FFmpegAndroid/libs/armeabi/libARM_ARCH.so
--------------------------------------------------------------------------------
/FFmpegAndroid/libs/x86/libARM_ARCH.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/FFmpegAndroid/libs/x86/libARM_ARCH.so
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/ArmArchHelper.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | class ArmArchHelper {
4 | static {
5 | System.loadLibrary("ARM_ARCH");
6 | }
7 |
8 | native String cpuArchFromJNI();
9 |
10 | boolean isARM_v7_CPU(String cpuInfoString) {
11 | return cpuInfoString.contains("v7");
12 | }
13 |
14 | boolean isNeonSupported(String cpuInfoString) {
15 | // check cpu arch for loading correct ffmpeg lib
16 | return cpuInfoString.contains("-neon");
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/CommandResult.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | class CommandResult {
4 | final String output;
5 | final boolean success;
6 | boolean isCancelled;
7 |
8 | CommandResult(boolean success, String output) {
9 | this.success = success;
10 | this.output = output;
11 | }
12 |
13 | public CommandResult markCancelled() {
14 | isCancelled = true;
15 | return this;
16 | }
17 |
18 | static CommandResult getDummyFailureResponse() {
19 | return new CommandResult(false, "");
20 | }
21 |
22 | static CommandResult getOutputFromProcess(Process process) {
23 | String output;
24 | if (success(process.exitValue())) {
25 | output = Util.convertInputStreamToString(process.getInputStream());
26 | } else {
27 | output = Util.convertInputStreamToString(process.getErrorStream());
28 | }
29 | return new CommandResult(success(process.exitValue()), output);
30 | }
31 |
32 | static boolean success(Integer exitValue) {
33 | return exitValue != null && exitValue == 0;
34 | }
35 |
36 | }
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/CpuArch.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | import android.text.TextUtils;
4 |
5 | enum CpuArch {
6 | x86("1b3daf0402c38ec0019ec436d71a1389514711bd"),
7 | ARMv7("e27cf3c432b121896fc8af2d147eff88d3074dd5"),
8 | ARMv7_NEON("9463c40e898c53dcac59b8ba39cfd590e2f1b1bf"),
9 | NONE(null);
10 |
11 | private String sha1;
12 |
13 | CpuArch(String sha1) {
14 | this.sha1 = sha1;
15 | }
16 |
17 | String getSha1(){
18 | return sha1;
19 | }
20 |
21 | static CpuArch fromString(String sha1) {
22 | if (!TextUtils.isEmpty(sha1)) {
23 | for (CpuArch cpuArch : CpuArch.values()) {
24 | if (sha1.equalsIgnoreCase(cpuArch.sha1)) {
25 | return cpuArch;
26 | }
27 | }
28 | }
29 | return NONE;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/ExecuteBinaryResponseHandler.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | public class ExecuteBinaryResponseHandler implements FFmpegExecuteResponseHandler {
4 |
5 | @Override
6 | public void onSuccess(String message) {
7 |
8 | }
9 |
10 | @Override
11 | public void onProgress(String message) {
12 |
13 | }
14 |
15 | @Override
16 | public void onFailure(String message) {
17 |
18 | }
19 |
20 | @Override
21 | public void onStart() {
22 |
23 | }
24 |
25 | @Override
26 | public void onFinish(boolean success, boolean isCancelled) {
27 |
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/FFmpegExecuteResponseHandler.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | public interface FFmpegExecuteResponseHandler extends ResponseHandler {
4 |
5 | /**
6 | * on Success
7 | * @param message complete output of the FFmpeg command
8 | */
9 | public void onSuccess(String message);
10 |
11 | /**
12 | * on Progress
13 | * @param message current output of FFmpeg command
14 | */
15 | public void onProgress(String message);
16 |
17 | /**
18 | * on Failure
19 | * @param message complete output of the FFmpeg command
20 | */
21 | public void onFailure(String message);
22 | }
23 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/FFmpegLoadBinaryResponseHandler.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | public interface FFmpegLoadBinaryResponseHandler extends ResponseHandler {
4 |
5 | /**
6 | * on Fail
7 | */
8 | public void onFailure();
9 |
10 | /**
11 | * on Success
12 | */
13 | public void onSuccess();
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/FFmpegSyncResponseHandler.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | /**
4 | */
5 | public class FFmpegSyncResponseHandler implements FFmpegSyncResponseInterface {
6 | @Override
7 | public void onSuccess(String message) {
8 |
9 | }
10 |
11 | @Override
12 | public void onProgress(int percent) {
13 |
14 | }
15 |
16 | @Override
17 | public void onMetadata(Metadata metadata) {
18 |
19 | }
20 |
21 | @Override
22 | public void onFailure(String message) {
23 |
24 | }
25 |
26 | @Override
27 | public void onStart() {
28 |
29 | }
30 |
31 | @Override
32 | public void onFinish(boolean success, boolean isCancelled) {
33 |
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/FFmpegSyncResponseInterface.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | public interface FFmpegSyncResponseInterface extends ResponseHandler {
4 |
5 | /**
6 | * on Success
7 | * @param message complete output of the FFmpeg command
8 | */
9 | public void onSuccess(String message);
10 |
11 | /**
12 | * on Progress
13 | */
14 | public void onProgress(int percent);
15 |
16 | public void onMetadata(Metadata metadata);
17 |
18 | /**
19 | * on Failure
20 | * @param message complete output of the FFmpeg command
21 | */
22 | public void onFailure(String message);
23 | }
24 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/LoadBinaryResponseHandler.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | public class LoadBinaryResponseHandler implements FFmpegLoadBinaryResponseHandler {
4 |
5 | @Override
6 | public void onFailure() {
7 |
8 | }
9 |
10 | @Override
11 | public void onSuccess() {
12 |
13 | }
14 |
15 | @Override
16 | public void onStart() {
17 |
18 | }
19 |
20 | @Override
21 | public void onFinish(boolean success, boolean isCancelled) {
22 |
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/Metadata.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | /**
4 | * @author Egor Makovsky (yahor.makouski@gmail.com).
5 | */
6 | public class Metadata {
7 | private double fps = -1;
8 |
9 | private long duration = -1;
10 |
11 | public double getFps() {
12 | return fps;
13 | }
14 |
15 | public void setFps(double fps) {
16 | this.fps = fps;
17 | }
18 |
19 | public long getDuration() {
20 | return duration;
21 | }
22 |
23 | public void setDuration(long duration) {
24 | this.duration = duration;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/ResponseHandler.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg;
2 |
3 | abstract interface ResponseHandler {
4 |
5 | /**
6 | * on Start
7 | */
8 | public void onStart();
9 |
10 | /**
11 | * on Finish
12 | */
13 | public void onFinish(boolean success, boolean isCancelled);
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/exceptions/FFmpegCommandAlreadyRunningException.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg.exceptions;
2 |
3 | public class FFmpegCommandAlreadyRunningException extends Exception {
4 |
5 | public FFmpegCommandAlreadyRunningException(String message) {
6 | super(message);
7 | }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/java/com/github/libffmpeg/exceptions/FFmpegNotSupportedException.java:
--------------------------------------------------------------------------------
1 | package com.github.libffmpeg.exceptions;
2 |
3 | public class FFmpegNotSupportedException extends Exception {
4 |
5 | public FFmpegNotSupportedException(String message) {
6 | super(message);
7 | }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/FFmpegAndroid/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | n2.4.2
4 |
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/MediaRecorderSample/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/drawable-hdpi/tile.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/MediaRecorderSample/src/main/res/drawable-hdpi/tile.9.png
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/MediaRecorderSample/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/MediaRecorderSample/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/MediaRecorderSample/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/layout/sample_main.xml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
16 |
17 |
24 |
25 |
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/values-sw600dp/template-dimens.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 | @dimen/margin_huge
22 | @dimen/margin_medium
23 |
24 |
25 |
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/values-sw600dp/template-styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/values-sw720dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
20 | 128dp
21 |
22 |
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/values-v11/template-styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 | 16dp
20 | 16dp
21 |
22 |
--------------------------------------------------------------------------------
/MediaRecorderSample/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | Settings
21 | Hello world!
22 | capture
23 |
24 |
25 |
--------------------------------------------------------------------------------
/androidH264StreamDemo.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/androidH264StreamDemo.zip
--------------------------------------------------------------------------------
/androidH264StreamDemo/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.jemi.androidh264streamdemo"
9 | minSdkVersion 16
10 | targetSdkVersion 23
11 | }
12 |
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:support-v4:23.+'
23 | }
24 |
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/androidH264StreamDemo/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/androidH264StreamDemo/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/androidH264StreamDemo/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/androidH264StreamDemo/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/layout/stream_dlg_view.xml:
--------------------------------------------------------------------------------
1 |
10 |
16 |
23 |
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | 64dp
9 |
10 |
11 |
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 |
8 |
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | AndroidH264StreamDemo
5 | Hello world!
6 | Settings
7 |
8 |
9 |
--------------------------------------------------------------------------------
/androidH264StreamDemo/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "24.0.0 rc2"
6 |
7 | defaultConfig {
8 | applicationId "com.angcyo.pldroiddemo"
9 | minSdkVersion 15
10 | targetSdkVersion 23
11 | versionCode 1
12 | versionName "1.0"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | compile fileTree(include: ['*.jar'], dir: 'libs')
24 | testCompile 'junit:junit:4.12'
25 | compile 'com.android.support:appcompat-v7:23.2.1'
26 | compile 'com.qiniu:happy-dns:0.2.5'
27 | compile project(':drivevideo')
28 | compile project(':yuvtorbga')
29 | }
30 |
--------------------------------------------------------------------------------
/app/libs/pldroid-camera-streaming-1.5.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/libs/pldroid-camera-streaming-1.5.0.jar
--------------------------------------------------------------------------------
/app/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 D:\Android\sdk/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 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/angcyo/pldroiddemo/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.pldroiddemo;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 | import android.test.UiThreadTest;
6 |
7 | /**
8 | * Testing Fundamentals
9 | */
10 | public class ApplicationTest extends ApplicationTestCase {
11 | public ApplicationTest() {
12 | super(Application.class);
13 | }
14 |
15 | @Override
16 | protected void setUp() throws Exception {
17 | super.setUp();
18 | // assertFalse(false);
19 |
20 | }
21 |
22 | @Override
23 | protected void tearDown() throws Exception {
24 | super.tearDown();
25 | }
26 |
27 | @UiThreadTest
28 | public void demo() {
29 |
30 | }
31 |
32 | public void testDemo() {
33 |
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/com/angcyo/pldroiddemo/AbstractFilter.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.pldroiddemo;
2 |
3 | import android.content.Context;
4 |
5 | import java.nio.FloatBuffer;
6 |
7 | /**
8 | * Created by jerikc on 16/2/23.
9 | */
10 | public abstract class AbstractFilter {
11 | protected abstract int createProgram(Context context);
12 |
13 | protected abstract void getGLSLValues();
14 |
15 | protected abstract void useProgram();
16 |
17 | protected abstract void bindTexture(int textureId);
18 |
19 | protected abstract void bindGLSLValues(float[] mvpMatrix, FloatBuffer vertexBuffer,
20 | int coordsPerVertex, int vertexStride, FloatBuffer texBuffer,
21 | int texStride);
22 |
23 | protected abstract void drawArrays(int firstVertex, int vertexCount);
24 |
25 | protected abstract void unbindGLSLValues();
26 |
27 | protected abstract void unbindTexture();
28 |
29 | protected abstract void disuseProgram();
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/com/angcyo/pldroiddemo/IFilter.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.pldroiddemo;
2 |
3 | import java.nio.FloatBuffer;
4 |
5 | /**
6 | * Created by jerikc on 16/2/23.
7 | */
8 | public interface IFilter {
9 | int getTextureTarget();
10 |
11 | void setTextureSize(int width, int height);
12 |
13 | void onDraw(float[] mvpMatrix, FloatBuffer vertexBuffer, int firstVertex, int vertexCount,
14 | int coordsPerVertex, int vertexStride, FloatBuffer texBuffer,
15 | int textureId, int texStride);
16 |
17 | void releaseProgram();
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/java/com/angcyo/pldroiddemo/Rotatable.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.pldroiddemo;
2 |
3 | /**
4 | * Created by jerikc on 16/2/5.
5 | */
6 | public interface Rotatable {
7 | // Set parameter 'animation' to true to have animation when rotation.
8 | void setOrientation(int orientation, boolean animation);
9 | }
10 |
--------------------------------------------------------------------------------
/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_aac_encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_aac_encoder.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_core.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_core.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_h264_encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_h264_encoder.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_aac_encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_aac_encoder.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_core.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_core.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_h264_encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_h264_encoder.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libpldroid_streaming_aac_encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/armeabi/libpldroid_streaming_aac_encoder.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libpldroid_streaming_core.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/armeabi/libpldroid_streaming_core.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libpldroid_streaming_h264_encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/armeabi/libpldroid_streaming_h264_encoder.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/x86/libpldroid_streaming_aac_encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/x86/libpldroid_streaming_aac_encoder.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/x86/libpldroid_streaming_core.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/x86/libpldroid_streaming_core.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/x86/libpldroid_streaming_h264_encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/jniLibs/x86/libpldroid_streaming_h264_encoder.so
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_focus_failed.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/drawable-hdpi/ic_focus_failed.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_focus_focused.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/drawable-hdpi/ic_focus_focused.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_focus_focusing.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/drawable-hdpi/ic_focus_focusing.9.png
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main2.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
16 |
17 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/focus_indicator.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_1.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_1.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_10.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_10.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_11.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_11.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_2.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_2.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_3.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_3.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_4.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_4.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_5.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_5.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_6.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_6.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_7.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_7.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_8.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_8.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/cross_9.acv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/app/src/main/res/raw/cross_9.acv
--------------------------------------------------------------------------------
/app/src/main/res/raw/fragment_shader_ext_tone_curve.glsl:
--------------------------------------------------------------------------------
1 | #extension GL_OES_EGL_image_external : require
2 | precision mediump float;
3 |
4 | varying vec2 vTextureCoord;
5 | uniform samplerExternalOES uTexture;
6 | uniform sampler2D toneCurveTexture;
7 |
8 | void main() {
9 | vec4 textureColor = texture2D(uTexture, vTextureCoord);
10 |
11 | float redCurveValue = texture2D(toneCurveTexture, vec2(textureColor.r, 0.0)).r;
12 | float greenCurveValue = texture2D(toneCurveTexture, vec2(textureColor.g, 0.0)).g;
13 | float blueCurveValue = texture2D(toneCurveTexture, vec2(textureColor.b, 0.0)).b;
14 |
15 | gl_FragColor = vec4(redCurveValue, greenCurveValue, blueCurveValue, textureColor.a);
16 | }
--------------------------------------------------------------------------------
/app/src/main/res/raw/fragment_shader_mosaic.glsl:
--------------------------------------------------------------------------------
1 | #extension GL_OES_EGL_image_external : require
2 |
3 | precision mediump float;
4 |
5 | varying vec2 vTextureCoord;
6 | uniform samplerExternalOES uTexture;
7 | uniform vec2 TexSize;
8 | vec2 mosaicSize = vec2(2,2);
9 |
10 | void main()
11 | {
12 | vec2 intXY = vec2(vTextureCoord.x*TexSize.x, vTextureCoord.y*TexSize.y);
13 | vec2 XYMosaic = vec2(floor(intXY.x/mosaicSize.x)*mosaicSize.x,floor(intXY.y/mosaicSize.y)*mosaicSize.y);
14 | vec2 UVMosaic = vec2(XYMosaic.x/TexSize.x,XYMosaic.y/TexSize.y);
15 | vec4 baseMap = texture2D(uTexture,UVMosaic);
16 | gl_FragColor = baseMap;
17 | }
--------------------------------------------------------------------------------
/app/src/main/res/raw/fragment_shader_no_filter.glsl:
--------------------------------------------------------------------------------
1 | #extension GL_OES_EGL_image_external : require
2 |
3 | precision mediump float;
4 |
5 | varying vec2 vTextureCoord;
6 | uniform samplerExternalOES uTexture;
7 |
8 | void main() {
9 | gl_FragColor = texture2D(uTexture, vTextureCoord);
10 | }
--------------------------------------------------------------------------------
/app/src/main/res/raw/vertex_shader.glsl:
--------------------------------------------------------------------------------
1 | uniform mat4 uMVPMatrix;
2 |
3 | attribute vec4 aPosition;
4 | attribute vec4 aTextureCoord;
5 |
6 | varying vec2 vTextureCoord;
7 |
8 | void main() {
9 | gl_Position = uMVPMatrix * aPosition;
10 | vTextureCoord = aTextureCoord.xy;
11 | }
--------------------------------------------------------------------------------
/app/src/main/res/raw/vertex_shader_two_input.glsl:
--------------------------------------------------------------------------------
1 | uniform mat4 uMVPMatrix;
2 |
3 | attribute vec4 aPosition;
4 |
5 | attribute vec4 aTextureCoord;
6 | attribute vec4 aExtraTextureCoord;
7 |
8 | varying vec2 vTextureCoord;
9 | varying vec2 vExtraTextureCoord;
10 |
11 | void main() {
12 | gl_Position = uMVPMatrix * aPosition;
13 | vExtraTextureCoord = vec2(aExtraTextureCoord.x, 1.0 - aExtraTextureCoord.y);
14 | vTextureCoord = aTextureCoord.xy;
15 | }
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | PLDroidDemo
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/test/java/com/angcyo/pldroiddemo/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.pldroiddemo;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | assertEquals(4, 2 + 2);
15 | assertEquals(4, 2 + 2);
16 | // assertEquals(42, 2 + 2);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "24.0.0 rc2"
6 |
7 | defaultConfig {
8 | applicationId "com.angcyo.audiovideorecordingdemo"
9 | minSdkVersion 19
10 | targetSdkVersion 23
11 | versionCode 1
12 | versionName "1.0"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | compile fileTree(include: ['*.jar'], dir: 'libs')
24 | testCompile 'junit:junit:4.12'
25 | compile 'com.android.support:appcompat-v7:23.2.1'
26 | compile project(':blur-behind')
27 | }
28 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/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 D:\Android\sdk/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 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/androidTest/java/com/angcyo/audiovideorecordingdemo/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.audiovideorecordingdemo;
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 | }
14 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/java/com/angcyo/audiovideorecordingdemo/BlurredActivity.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.audiovideorecordingdemo;
2 |
3 | import android.app.Activity;
4 | import android.graphics.Color;
5 | import android.os.Bundle;
6 |
7 | import com.faradaj.blurbehind.BlurBehind;
8 |
9 | public class BlurredActivity extends Activity {
10 |
11 | @Override
12 | public void onCreate(Bundle savedInstanceState) {
13 | super.onCreate(savedInstanceState);
14 |
15 | setContentView(R.layout.activity_blurred);
16 |
17 | BlurBehind.getInstance()
18 | .withAlpha(80)
19 | .withFilterColor(Color.parseColor("#0075c0"))
20 | .setBackground(this);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/layout/activity_blurred.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
15 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | AudioVideoRecordingDemo
3 |
4 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo/src/test/java/com/angcyo/audiovideorecordingdemo/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.audiovideorecordingdemo;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "24.0.0 rc2"
6 |
7 | defaultConfig {
8 | applicationId "com.angcyo.audiovideorecordingdemo"
9 | minSdkVersion 19
10 | targetSdkVersion 23
11 | versionCode 1
12 | versionName "1.0"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | compile fileTree(include: ['*.jar'], dir: 'libs')
24 | testCompile 'junit:junit:4.12'
25 | compile 'com.android.support:appcompat-v7:23.2.1'
26 | compile project(':blur-behind')
27 | }
28 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/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 D:\Android\sdk/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 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/androidTest/java/com/angcyo/audiovideorecordingdemo/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.audiovideorecordingdemo;
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 | }
14 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/java/com/angcyo/audiovideorecordingdemo/BlurredActivity.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.audiovideorecordingdemo;
2 |
3 | import android.app.Activity;
4 | import android.graphics.Color;
5 | import android.os.Bundle;
6 |
7 | import com.faradaj.blurbehind.BlurBehind;
8 |
9 | public class BlurredActivity extends Activity {
10 |
11 | @Override
12 | public void onCreate(Bundle savedInstanceState) {
13 | super.onCreate(savedInstanceState);
14 |
15 | setContentView(R.layout.activity_blurred);
16 |
17 | BlurBehind.getInstance()
18 | .withAlpha(80)
19 | .withFilterColor(Color.parseColor("#0075c0"))
20 | .setBackground(this);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/java/com/angcyo/audiovideorecordingdemo/Main2Activity.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.audiovideorecordingdemo;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 |
6 | public class Main2Activity extends AppCompatActivity {
7 |
8 | @Override
9 | protected void onCreate(Bundle savedInstanceState) {
10 | super.onCreate(savedInstanceState);
11 | setContentView(R.layout.activity_main2);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/layout/activity_blurred.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
15 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/layout/activity_main2.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo2/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo2/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo2/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo2/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/audiovideorecordingdemo2/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | AudioVideoRecordingDemo
3 |
4 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/audiovideorecordingdemo2/src/test/java/com/angcyo/audiovideorecordingdemo/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.audiovideorecordingdemo;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/blur-behind/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | mavenCentral()
4 | }
5 | dependencies {
6 | classpath 'com.android.tools.build:gradle:1.1.0'
7 | classpath 'com.github.dcendents:android-maven-plugin:1.2'
8 | }
9 | }
10 | apply plugin: 'com.android.library'
11 |
12 | def mVersionCode = 5
13 | def mVersionName = "1.1"
14 |
15 | repositories {
16 | mavenCentral()
17 | }
18 |
19 | android {
20 | compileSdkVersion 23
21 | buildToolsVersion '23.0.2'
22 |
23 | defaultConfig {
24 | minSdkVersion 19
25 | targetSdkVersion 23
26 | versionCode mVersionCode
27 | versionName mVersionName
28 | }
29 | buildTypes {
30 | release {
31 | minifyEnabled false
32 | proguardFiles 'proguard-rules.txt'
33 | }
34 | }
35 | }
36 |
37 | dependencies {
38 | compile 'com.android.support:appcompat-v7:23.+'
39 | compile fileTree(dir: 'libs', include: ['*.jar'])
40 | }
41 |
42 | //apply plugin: 'android-maven'
43 | //version = mVersionName
44 | //group = "com.faradaj"
45 |
--------------------------------------------------------------------------------
/blur-behind/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/blur-behind/src/main/java/com/faradaj/blurbehind/OnBlurCompleteListener.java:
--------------------------------------------------------------------------------
1 | package com.faradaj.blurbehind;
2 |
3 | /**
4 | * Created by gergun on 13/05/15.
5 | */
6 | public interface OnBlurCompleteListener {
7 |
8 | public void onBlurComplete();
9 | }
10 |
--------------------------------------------------------------------------------
/blurEffect/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.npi.blureffect"
9 | minSdkVersion 14
10 | targetSdkVersion 17
11 | }
12 |
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:support-v4:18.+'
23 | }
24 |
--------------------------------------------------------------------------------
/blurEffect/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
16 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/blurEffect/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/blurEffect/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/blurEffect/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/blurEffect/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/blurEffect/src/main/res/drawable-xhdpi/header.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/blurEffect/src/main/res/drawable-xhdpi/header.9.png
--------------------------------------------------------------------------------
/blurEffect/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/blurEffect/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/blurEffect/src/main/res/drawable-xhdpi/image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/blurEffect/src/main/res/drawable-xhdpi/image.jpg
--------------------------------------------------------------------------------
/blurEffect/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/blurEffect/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/blurEffect/src/main/res/layout/list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
15 |
--------------------------------------------------------------------------------
/blurEffect/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/blurEffect/src/main/res/values-sw720dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 128dp
8 |
9 |
10 |
--------------------------------------------------------------------------------
/blurEffect/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/blurEffect/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/blurEffect/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 |
8 |
--------------------------------------------------------------------------------
/blurEffect/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Blur effect for Android Design
5 |
6 |
7 |
--------------------------------------------------------------------------------
/blurEffect/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/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.0-alpha5'
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | jcenter()
18 | }
19 | }
20 |
21 | task clean(type: Delete) {
22 | delete rootProject.buildDir
23 | }
24 |
--------------------------------------------------------------------------------
/cameraPreview/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 | android {
3 | compileSdkVersion 23
4 | buildToolsVersion "23.0.2"
5 |
6 | defaultConfig {
7 | applicationId "com.example.camerapreview"
8 | minSdkVersion 19
9 | targetSdkVersion 23
10 | }
11 |
12 | buildTypes {
13 | release {
14 | minifyEnabled false
15 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
16 | }
17 | }
18 | }
19 |
20 | dependencies {
21 | compile 'com.android.support:appcompat-v7:23.+'
22 | compile project(':yuvtorbga')
23 | }
24 |
--------------------------------------------------------------------------------
/cameraPreview/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/cameraPreview/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/cameraPreview/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/cameraPreview/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/cameraPreview/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/cameraPreview/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/cameraPreview/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/cameraPreview/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/cameraPreview/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/cameraPreview/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/cameraPreview/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | CameraPreview
4 |
5 |
6 |
--------------------------------------------------------------------------------
/cameraPreview/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/driveblurdemo/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/driveblurdemo/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "24.0.0 rc2"
6 |
7 | defaultConfig {
8 | applicationId "com.angcyo.driveblurdemo"
9 | minSdkVersion 19
10 | targetSdkVersion 23
11 | versionCode 1
12 | versionName "1.0"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | compile fileTree(include: ['*.jar'], dir: 'libs')
24 | testCompile 'junit:junit:4.12'
25 | compile 'com.android.support:appcompat-v7:23.2.1'
26 | compile project(':drivevideo')
27 | compile project(':yuvtorbga')
28 | }
29 |
--------------------------------------------------------------------------------
/driveblurdemo/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 D:\Android\sdk/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 |
--------------------------------------------------------------------------------
/driveblurdemo/src/androidTest/java/com/angcyo/driveblurdemo/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.driveblurdemo;
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 | }
14 |
--------------------------------------------------------------------------------
/driveblurdemo/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
14 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
16 |
17 |
22 |
23 |
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/driveblurdemo/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/driveblurdemo/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/driveblurdemo/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/driveblurdemo/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/driveblurdemo/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | DriveBLurDemo
3 |
4 |
--------------------------------------------------------------------------------
/driveblurdemo/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/driveblurdemo/src/test/java/com/angcyo/driveblurdemo/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.driveblurdemo;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/drivevideo/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/drivevideo/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "24.0.0 rc2"
6 |
7 | defaultConfig {
8 | minSdkVersion 15
9 | targetSdkVersion 23
10 | versionCode 1
11 | versionName "1.0"
12 | ndk {
13 | moduleName "CGE"
14 | }
15 | }
16 | buildTypes {
17 | release {
18 | minifyEnabled false
19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
20 | }
21 | }
22 |
23 | }
24 |
25 | dependencies {
26 | compile fileTree(dir: 'libs', include: ['*.jar'])
27 | testCompile 'junit:junit:4.12'
28 | compile 'com.android.support:appcompat-v7:23.2.1'
29 | }
30 |
--------------------------------------------------------------------------------
/drivevideo/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 D:\Android\sdk/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 |
--------------------------------------------------------------------------------
/drivevideo/src/androidTest/java/com/dudu/drivevideo/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.dudu.drivevideo;
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 | }
14 |
--------------------------------------------------------------------------------
/drivevideo/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/com/dudu/drivevideo/config/DriveVideoContants.java:
--------------------------------------------------------------------------------
1 | package com.dudu.drivevideo.config;
2 |
3 | /**
4 | * Created by dengjun on 2016/2/18.
5 | * Description :
6 | */
7 | public class DriveVideoContants {
8 | public static final String REAR_VIDEO_STORAGE_PARENT_PATH = "/dudu";
9 | public static final String FRONT_VIDEO_STORAGE_PATH = "/frontVideo";
10 | public static final String REAR_VIDEO_STORAGE_PATH = "/rearVideo";
11 |
12 | public static final String FRONT_PICTURE_STORAGE_PATH = "/frontPicture";
13 | }
14 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/com/dudu/drivevideo/config/VideoConfigParam.java:
--------------------------------------------------------------------------------
1 | package com.dudu.drivevideo.config;
2 |
3 | /**
4 | * Created by dengjun on 2016/1/26.
5 | * Description :
6 | */
7 | public class VideoConfigParam {
8 | private FrontVideoConfigParam preVideoConfigParam;
9 | private RearVideoConfigParam rearVideoConfigParam;
10 |
11 | public VideoConfigParam() {
12 | preVideoConfigParam = new FrontVideoConfigParam();
13 | rearVideoConfigParam = new RearVideoConfigParam();
14 | }
15 |
16 | public FrontVideoConfigParam getPreVideoConfigParam() {
17 | return preVideoConfigParam;
18 | }
19 |
20 | public RearVideoConfigParam getRearVideoConfigParam() {
21 | return rearVideoConfigParam;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/com/dudu/drivevideo/event/FrontCameraReadyPreview.java:
--------------------------------------------------------------------------------
1 | package com.dudu.drivevideo.event;
2 |
3 | /**
4 | * Created by dengjun on 2016/2/19.
5 | * Description :
6 | */
7 | public class FrontCameraReadyPreview {
8 | }
9 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/com/dudu/drivevideo/model/PhotoInfoEntity.java:
--------------------------------------------------------------------------------
1 | package com.dudu.drivevideo.model;
2 |
3 | import android.net.Uri;
4 |
5 | /**
6 | * Created by dengjun on 2016/2/21.
7 | * Description :
8 | */
9 | public class PhotoInfoEntity {
10 | private Uri photoInfoUri;
11 |
12 | public Uri getPhotoInfoUri() {
13 | return photoInfoUri;
14 | }
15 |
16 | public void setPhotoInfoUri(Uri photoInfoUri) {
17 | this.photoInfoUri = photoInfoUri;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/com/hclydao/webcam/Ffmpeg.java:
--------------------------------------------------------------------------------
1 | package com.hclydao.webcam;
2 |
3 | public class Ffmpeg {
4 | static public native int open(String devName);
5 | static public native int init(int width, int height,int numbuf);
6 | static public native int streamon();
7 | static public native int dqbuf(byte[] videodata);
8 | static public native int yuvtorgb(byte[] yuvdata, byte[] rgbdata,int dwidth,int dheight);
9 | static public native int qbuf(int index);
10 | static public native int videoinit(byte[] filename);
11 | static public native int videostart(byte[] yuvdata);
12 | static public native int videoclose();
13 | static public native int streamoff();
14 | static public native int release();
15 | static {
16 | System.loadLibrary("ffmpegutils");
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/algorithm/Matrix2x2.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.algorithm;
2 |
3 | /**
4 | * Created by wangyang on 15/11/27.
5 | */
6 | public class Matrix2x2 {
7 | }
8 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/algorithm/Matrix3x3.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.algorithm;
2 |
3 | /**
4 | * Created by wangyang on 15/11/27.
5 | */
6 | public class Matrix3x3 {
7 | }
8 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/algorithm/Matrix4x4.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.algorithm;
2 |
3 | /**
4 | * Created by wangyang on 15/11/27.
5 | */
6 | public class Matrix4x4 {
7 | }
8 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/algorithm/Vector2.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.algorithm;
2 |
3 | /**
4 | * Created by wangyang on 15/11/27.
5 | */
6 | public class Vector2 {
7 | }
8 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/algorithm/Vector3.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.algorithm;
2 |
3 | /**
4 | * Created by wangyang on 15/11/27.
5 | */
6 | public class Vector3 {
7 | }
8 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/algorithm/Vector4.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.algorithm;
2 |
3 | /**
4 | * Created by wangyang on 15/11/27.
5 | */
6 | public class Vector4 {
7 | }
8 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/common/FrameBufferObject.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.common;
2 |
3 | import android.opengl.GLES20;
4 | import android.util.Log;
5 |
6 | /**
7 | * Created by wangyang on 15/7/27.
8 | */
9 |
10 | public class FrameBufferObject {
11 | private int mFramebufferID;
12 |
13 | public FrameBufferObject() {
14 | int[] buf = new int[1];
15 | GLES20.glGenFramebuffers(1, buf, 0);
16 | mFramebufferID = buf[0];
17 | }
18 |
19 | public void release() {
20 | GLES20.glDeleteFramebuffers(1, new int[]{mFramebufferID}, 0);
21 | }
22 |
23 | public void bind() {
24 | GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, mFramebufferID);
25 | }
26 |
27 | //将texture 绑定到该framebuffer的 GL_COLOR_ATTACHMENT0
28 | public void bindTexture(int texID) {
29 | bind();
30 | GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, texID, 0);
31 | if(GLES20.glCheckFramebufferStatus(GLES20.GL_FRAMEBUFFER) != GLES20.GL_FRAMEBUFFER_COMPLETE)
32 | {
33 | Log.e(Common.LOG_TAG, "CGE::FrameBuffer::bindTexture2D - Frame buffer is not valid!");
34 | }
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/nativePort/FFmpegNativeLibrary.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.nativePort;
2 |
3 | /**
4 | * Created by wangyang on 15/7/30.
5 | */
6 | public class FFmpegNativeLibrary {
7 | static {
8 | NativeLibraryLoader.load();
9 | }
10 |
11 |
12 | //////////////////////////////////////////
13 | // public static native void avRegisterAll();
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/nativePort/NativeLibraryLoader.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.nativePort;
2 |
3 | /**
4 | * Created by wangyang on 15/7/30.
5 | */
6 | public class NativeLibraryLoader {
7 |
8 | private static boolean mLibraryLoaded = false;
9 |
10 | public static void load() {
11 | if(mLibraryLoaded)
12 | return;
13 | mLibraryLoaded = true;
14 | // System.loadLibrary("gnustl_shared");
15 | // System.loadLibrary("x264.142");
16 | // System.loadLibrary("ffmpeg");
17 | System.loadLibrary("CGE");
18 | // FFmpegNativeLibrary.avRegisterAll();
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/drivevideo/src/main/java/org/wysaid/view/CameraRecordGLSurfaceView.java:
--------------------------------------------------------------------------------
1 | package org.wysaid.view;
2 |
3 | /**
4 | * Created by wangyang on 15/7/27.
5 | */
6 |
7 |
8 | import android.content.Context;
9 | import android.util.AttributeSet;
10 |
11 | /**
12 | * Created by wangyang on 15/7/17.
13 | */
14 | public class CameraRecordGLSurfaceView extends CameraGLSurfaceView {
15 |
16 | public CameraRecordGLSurfaceView(Context context, AttributeSet attrs) {
17 | super(context, attrs);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/drivevideo/src/main/jniLibs/arm64-v8a/libCGE.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/drivevideo/src/main/jniLibs/arm64-v8a/libCGE.so
--------------------------------------------------------------------------------
/drivevideo/src/main/jniLibs/armeabi-v7a/libCGE.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/drivevideo/src/main/jniLibs/armeabi-v7a/libCGE.so
--------------------------------------------------------------------------------
/drivevideo/src/main/jniLibs/armeabi/libCGE.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/drivevideo/src/main/jniLibs/armeabi/libCGE.so
--------------------------------------------------------------------------------
/drivevideo/src/main/jniLibs/x86/libCGE.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/drivevideo/src/main/jniLibs/x86/libCGE.so
--------------------------------------------------------------------------------
/drivevideo/src/main/jniLibs/x86_64/libCGE.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/drivevideo/src/main/jniLibs/x86_64/libCGE.so
--------------------------------------------------------------------------------
/drivevideo/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Drivevideo
3 |
4 |
--------------------------------------------------------------------------------
/drivevideo/src/test/java/com/dudu/drivevideo/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.dudu.drivevideo;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/gpuimage-library/.gitignore:
--------------------------------------------------------------------------------
1 | #Android generated
2 | bin
3 | gen
4 | obj
5 |
6 | #Eclipse
7 | #.project
8 | #.classpath
9 | .settings
10 |
11 | #IntelliJ IDEA
12 | .idea
13 | *.iml
14 | *.ipr
15 | *.iws
16 | out
17 |
18 | #Checkstyle
19 | .checkstyle
20 |
21 | #Maven
22 | target
23 | release.properties
24 | pom.xml.*
25 |
26 | #Ant
27 | build.xml
28 | local.properties
29 | proguard.cfg
30 |
31 | #OSX
32 | .DS_Store
33 |
--------------------------------------------------------------------------------
/gpuimage-library/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
--------------------------------------------------------------------------------
/gpuimage-library/android-artifacts.gradle:
--------------------------------------------------------------------------------
1 | task androidJavadocs(type: Javadoc) {
2 | source = android.sourceSets.main.java.srcDirs
3 | classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
4 | }
5 |
6 | task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
7 | classifier = 'javadoc'
8 | from androidJavadocs.destinationDir
9 | }
10 |
11 | task androidSourcesJar(type: Jar) {
12 | classifier = 'sources'
13 | from android.sourceSets.main.java.sourceFiles
14 | }
15 |
16 | task androidJar(type: Jar) {
17 | from 'build/intermediates/classes/release'
18 | }
19 |
20 | artifacts {
21 | archives androidSourcesJar
22 | archives androidJavadocsJar
23 | archives androidJar
24 | }
--------------------------------------------------------------------------------
/gpuimage-library/gradle.properties:
--------------------------------------------------------------------------------
1 | POM_NAME=GPUImage for Android Library
2 | POM_ARTIFACT_ID=gpuimage-library
3 | POM_PACKAGING=aar
--------------------------------------------------------------------------------
/gpuimage-library/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/gpuimage-library/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-21
15 | android.library=true
16 |
--------------------------------------------------------------------------------
/gpuimage-library/src/jp/co/cyberagent/android/gpuimage/GPUImageNativeLibrary.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 CyberAgent
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 jp.co.cyberagent.android.gpuimage;
18 |
19 | public class GPUImageNativeLibrary {
20 | static {
21 | System.loadLibrary("gpuimage-library");
22 | }
23 |
24 | public static native void YUVtoRBGA(byte[] yuv, int width, int height, int[] out);
25 |
26 | public static native void YUVtoARBG(byte[] yuv, int width, int height, int[] out);
27 | }
28 |
--------------------------------------------------------------------------------
/gpuimage-library/src/jp/co/cyberagent/android/gpuimage/GPUImageThresholdEdgeDetection.java:
--------------------------------------------------------------------------------
1 | package jp.co.cyberagent.android.gpuimage;
2 |
3 | /**
4 | * Applies sobel edge detection on the image.
5 | */
6 | public class GPUImageThresholdEdgeDetection extends GPUImageFilterGroup {
7 | public GPUImageThresholdEdgeDetection() {
8 | super();
9 | addFilter(new GPUImageGrayscaleFilter());
10 | addFilter(new GPUImageSobelThresholdFilter());
11 | }
12 |
13 | public void setLineSize(final float size) {
14 | ((GPUImage3x3TextureSamplingFilter) getFilters().get(1)).setLineSize(size);
15 | }
16 |
17 | public void setThreshold(final float threshold) {
18 | ((GPUImageSobelThresholdFilter) getFilters().get(1)).setThreshold(threshold);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Dec 28 10:00:20 PST 2015
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.10-all.zip
7 |
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.example.h264codecstreamer"
9 | minSdkVersion 8
10 | targetSdkVersion 23
11 | }
12 |
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:appcompat-v7:23.+'
23 | }
24 |
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/h264MediaCodecStreamer/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/h264MediaCodecStreamer/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/h264MediaCodecStreamer/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/h264MediaCodecStreamer/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
19 |
20 |
25 |
26 |
30 |
31 |
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | h264CodecStreamer
5 | Hello world!
6 |
7 |
8 |
--------------------------------------------------------------------------------
/h264MediaCodecStreamer/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/mediaCodecDemo/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.example.mediaencodeanddecodedemo"
9 | minSdkVersion 14
10 | targetSdkVersion 23
11 | }
12 |
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:support-v4:23.2.1'
23 | }
24 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecDemo/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecDemo/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecDemo/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecDemo/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/layout/activity_decode.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
13 |
14 |
18 |
19 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/layout/activity_encode.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
12 |
13 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
17 |
18 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | 64dp
9 |
10 |
11 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 |
8 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | MediaEncodeAndDecodeDemo
5 | Hello world!
6 | Settings
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mediaCodecDemo/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/mediaCodecEncode/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 19
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.example.mediacodecencode"
9 | minSdkVersion 8
10 | targetSdkVersion 21
11 | }
12 |
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:appcompat-v7:19.+'
23 | compile 'com.android.support:support-v4:19.+'
24 | }
25 |
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecEncode/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecEncode/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecEncode/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecEncode/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | 64dp
9 |
10 |
11 |
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 |
8 |
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | MediaCodecEncode
5 | Hello world!
6 | Settings
7 |
8 |
9 |
--------------------------------------------------------------------------------
/mediaCodecEncode/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/mediaCodecPublisher/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.jutong.hardware.live"
9 | minSdkVersion 9
10 | targetSdkVersion 16
11 | }
12 |
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:support-v4:23.+'
23 | }
24 |
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/java/com/jutong/hardware/live/AudioTag.java:
--------------------------------------------------------------------------------
1 | package com.jutong.hardware.live;
2 |
3 | public class AudioTag {
4 |
5 | private byte[] data;
6 |
7 | private int currentBit = 0;
8 |
9 | public AudioTag() {
10 | data = new byte[2];
11 | }
12 |
13 | public int getCurrentBit() {
14 | return currentBit;
15 | }
16 |
17 | public byte[] getData() {
18 | return data;
19 | }
20 |
21 | public void addCurrentBit(int currentBit) {
22 | this.currentBit += currentBit;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/jniLibs/armeabi-v7a/libmyjni.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecPublisher/src/main/jniLibs/armeabi-v7a/libmyjni.so
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecPublisher/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecPublisher/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecPublisher/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/mediaCodecPublisher/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
11 |
12 |
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/menu/activity_main.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | MediaCodec编码
5 | Settings
6 | Hello world!
7 |
8 |
--------------------------------------------------------------------------------
/mediaCodecPublisher/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':drivevideo', ':yuvtorbga', ':driveblurdemo', ':AudioVideoRecordingSample', ':audiovideorecordingdemo', ':MediaRecorderSample', ':blur-behind', ':audiovideorecordingdemo2'
2 | //include ':spydroid'':gpuimage-library',
3 | include ':androidH264StreamDemo'
4 | include ':h264MediaCodecStreamer'
5 | include ':mediaCodecDemo'
6 | //include ':androidstreamer'
7 | include ':x264encoder'
8 | //include ':androidFFmpegX264'
9 | //include ':FFmpegAndroid'
10 | include ':mediaCodecPublisher'
11 | //include ':LivePublisher'
12 | //include ':h264Stream'
13 | include ':testIjkplayer'
14 | include ':mediaCodecEncode'
15 | include ':cameraPreview'
16 | //include ':pull_refresh'
17 | //include ':_qlibrary'
18 | include ':blurEffect'
19 |
--------------------------------------------------------------------------------
/spydroid/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "23.0.2"
6 |
7 | defaultConfig {
8 | applicationId "net.majorkernelpanic.spydroid"
9 | minSdkVersion 14
10 | targetSdkVersion 23
11 |
12 | multiDexEnabled true
13 | }
14 |
15 | buildTypes {
16 | release {
17 | minifyEnabled true
18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
19 | }
20 | }
21 |
22 | useLibrary 'org.apache.http.legacy'
23 | }
24 |
25 | dependencies {
26 | compile 'com.android.support:support-v4:23.+'
27 | compile 'com.google.android.gms:play-services:+'
28 | compile files('libs/acra-4.4.0.jar')
29 | compile files('libs/sc-light-jdk15on-1.47.0.2.jar')
30 | compile files('libs/scpkix-jdk15on-1.47.0.2.jar')
31 | compile files('libs/scprov-jdk15on-1.47.0.2.jar')
32 | }
33 |
--------------------------------------------------------------------------------
/spydroid/libs/acra-4.4.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/libs/acra-4.4.0.jar
--------------------------------------------------------------------------------
/spydroid/libs/sc-light-jdk15on-1.47.0.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/libs/sc-light-jdk15on-1.47.0.2.jar
--------------------------------------------------------------------------------
/spydroid/libs/scpkix-jdk15on-1.47.0.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/libs/scpkix-jdk15on-1.47.0.2.jar
--------------------------------------------------------------------------------
/spydroid/libs/scprov-jdk15on-1.47.0.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/libs/scprov-jdk15on-1.47.0.2.jar
--------------------------------------------------------------------------------
/spydroid/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/fonts/bangers.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/fonts/bangers.eot
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/fonts/bangers.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/fonts/bangers.woff
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/fonts/sunshiney.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/fonts/sunshiney.eot
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/fonts/sunshiney.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/fonts/sunshiney.woff
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/blue-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/blue-button.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/camera.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/eye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/eye.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/facebook.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/install.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/install.jpg
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/lamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/lamp.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/phone.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/quote.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/quote.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/red-button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/red-button.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/speaker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/speaker.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/images/spydroid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/assets/www/images/spydroid.png
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/js/ie.js:
--------------------------------------------------------------------------------
1 | document.createElement('header');
2 | document.createElement('nav');
3 | document.createElement('section');
4 | document.createElement('article');
5 | document.createElement('aside');
6 | document.createElement('footer');
7 | document.createElement('hgroup');
8 |
9 | $(document).ready(function () {
10 | $('.section-content,#status-container').addClass('ie8-background');
11 | $('.category-separator').hide();
12 | });
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/less/fonts.less:
--------------------------------------------------------------------------------
1 |
2 | @font-face {
3 | font-family: 'Sunshiney';
4 | font-style: normal;
5 | font-weight: 400;
6 | src: url(../fonts/sunshiney.eot);
7 | src: local('Sunshiney'), url(../fonts/sunshiney.eot) format('embedded-opentype'), url(../fonts/sunshiney.woff) format('woff');
8 | }
9 |
10 | @font-face {
11 | font-family: 'Bangers';
12 | font-style: normal;
13 | font-weight: 400;
14 | src: url(../fonts/bangers.eot);
15 | src: local('Bangers'), local('Bangers-Regular'), url(../fonts/bangers.eot) format('embedded-opentype'), url(../fonts/bangers.woff) format('woff');
16 | }
17 |
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/less/ie.less:
--------------------------------------------------------------------------------
1 | header,nav,section,article,aside,footer,hgroup
2 | {
3 | display: block;
4 | }
5 |
6 | a img {
7 | border: none;
8 | }
9 |
10 | .ie8-background {
11 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#20FFFFFF',endColorstr='#20FFFFFF');
12 | background: transparent;
13 | zoom: 1;
14 | }
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/less/index.htm:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/less/styles.less:
--------------------------------------------------------------------------------
1 | @import "fonts";
2 | @import "mixins";
3 | @import "base";
4 | @import "vlc";
5 | @import "accordion";
6 | @import "ie";
--------------------------------------------------------------------------------
/spydroid/src/main/assets/www/tests/test1.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
29 |
30 |
31 |
32 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/spydroid/src/main/java/net/majorkernelpanic/spydroid/api/CustomRtspServer.java:
--------------------------------------------------------------------------------
1 | package net.majorkernelpanic.spydroid.api;
2 |
3 | import net.majorkernelpanic.streaming.Session;
4 | import net.majorkernelpanic.streaming.rtsp.RtspServer;
5 |
6 | public class CustomRtspServer extends RtspServer {
7 | public CustomRtspServer() {
8 | super();
9 | // RTSP server disabled by default
10 | mEnabled = false;
11 | }
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/anim/pulse.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-hdpi/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-hdpi/check.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-hdpi/quit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-hdpi/quit.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-hdpi/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-hdpi/settings.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-ldpi/quit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-ldpi/quit.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-ldpi/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-ldpi/settings.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-mdpi/quit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-mdpi/quit.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable-mdpi/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/drawable-mdpi/settings.png
--------------------------------------------------------------------------------
/spydroid/src/main/res/drawable/preview.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
8 |
11 |
12 |
17 |
18 |
19 |
22 |
23 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/layout-sw600dp/preview.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
14 |
15 |
28 |
29 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/layout-sw600dp/spydroid.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
21 |
22 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/layout-sw600dp/tablet.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
15 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/layout/preview.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
25 |
26 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/layout/tablet.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
15 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/menu/menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/animals_cat.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/animals_cat.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/animals_dog.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/animals_dog.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/funny_fart.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/funny_fart.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/funny_fart2.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/funny_fart2.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/funny_snoring.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/funny_snoring.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/scary_breath.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/scary_breath.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/scary_evil_laughter.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/scary_evil_laughter.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/scary_horror.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/scary_horror.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/scary_insane_laughter.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/scary_insane_laughter.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/scary_long_growl.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/scary_long_growl.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/scary_thunder.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/scary_thunder.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/war_explosion.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/war_explosion.mp3
--------------------------------------------------------------------------------
/spydroid/src/main/res/raw/war_gunshot.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/spydroid/src/main/res/raw/war_gunshot.mp3
--------------------------------------------------------------------------------
/testIjkplayer/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 21
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.example.videoeditordemo"
9 | minSdkVersion 18
10 | targetSdkVersion 23
11 | }
12 |
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:support-v4:21.+'
23 | }
24 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/java/com/example/testijkplayer/VideoEditor.java:
--------------------------------------------------------------------------------
1 | package com.example.testijkplayer;
2 |
3 | import tv.danmaku.ijk.media.player.IjkMediaPlayer;
4 |
5 | public class VideoEditor extends IjkMediaPlayer{
6 |
7 | public VideoEditor() {
8 | // TODO Auto-generated constructor stub
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/java/tv/danmaku/ijk/media/player/exceptions/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.exceptions;
17 |
18 | /*-
19 | * configurated by app project
20 | */
21 | public class Pragma {
22 | public static final boolean ENABLE_VERBOSE = true;
23 | }
24 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/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 | int getTrackType();
30 |
31 | String getInfoInline();
32 | }
33 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/jniLibs/armeabi-v7a/libffmpegeditor.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/testIjkplayer/src/main/jniLibs/armeabi-v7a/libffmpegeditor.so
--------------------------------------------------------------------------------
/testIjkplayer/src/main/jniLibs/armeabi-v7a/libijkplayer.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/testIjkplayer/src/main/jniLibs/armeabi-v7a/libijkplayer.so
--------------------------------------------------------------------------------
/testIjkplayer/src/main/jniLibs/armeabi-v7a/libijksdl.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/testIjkplayer/src/main/jniLibs/armeabi-v7a/libijksdl.so
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/testIjkplayer/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/drawable-hdpi/right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/testIjkplayer/src/main/res/drawable-hdpi/right_arrow.png
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/testIjkplayer/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/testIjkplayer/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/testIjkplayer/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/activity_app.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/fragment_file_list_item.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
12 |
13 |
20 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/fragment_track_list.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
17 |
18 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/table_media_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/table_media_info_row1.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
20 |
21 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/table_media_info_row2.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
23 |
24 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/table_media_info_section.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/video_edit_demo_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
16 |
17 |
18 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/layout/widget_toolbar.xml:
--------------------------------------------------------------------------------
1 |
4 |
15 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/menu/menu_app.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/menu/menu_player.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | 64dp
9 |
10 |
11 |
--------------------------------------------------------------------------------
/testIjkplayer/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 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 | @dimen/activity_horizontal_margin
8 | @dimen/activity_vertical_margin
9 |
10 |
11 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/testIjkplayer/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/x264encoder/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "19.1.0"
6 |
7 | defaultConfig {
8 | applicationId "com.example.x264encoder"
9 | minSdkVersion 8
10 | targetSdkVersion 23
11 | }
12 |
13 | buildTypes {
14 | release {
15 | minifyEnabled false
16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
17 | }
18 | }
19 | }
20 |
21 | dependencies {
22 | compile 'com.android.support:appcompat-v7:23.+'
23 | compile 'com.android.support:support-v4:23.+'
24 | }
25 |
--------------------------------------------------------------------------------
/x264encoder/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
15 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/x264encoder/src/main/java/example/sszpf/x264/x264sdk.java:
--------------------------------------------------------------------------------
1 | package example.sszpf.x264;
2 |
3 | import java.nio.ByteBuffer;
4 |
5 | public class x264sdk {
6 |
7 | public interface listener
8 | {
9 | void h264data(byte[] buffer, int length);
10 | }
11 |
12 | private listener _listener;
13 |
14 | public x264sdk(listener l){
15 | _listener = l;
16 | }
17 |
18 | static {
19 | System.loadLibrary("x264encoder");
20 | }
21 |
22 | private ByteBuffer mVideobuffer;
23 |
24 |
25 | public void PushOriStream(byte[] buffer, int length, long time)
26 | {
27 | if (mVideobuffer == null || mVideobuffer.capacity() < length) {
28 | mVideobuffer = ByteBuffer.allocateDirect(((length / 1024) + 1) * 1024);
29 | }
30 | mVideobuffer.rewind();
31 | mVideobuffer.put(buffer, 0, length);
32 | encoderH264(length, time);
33 | }
34 |
35 | public native void initX264Encode(int width, int height, int fps, int bite);
36 |
37 | public native int encoderH264(int length, long time);
38 |
39 | public native void CloseX264Encode();
40 |
41 | private void H264DataCallBackFunc(byte[] buffer, int length){
42 | _listener.h264data(buffer, length);
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/x264encoder/src/main/jniLibs/armeabi/libx264encoder.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/x264encoder/src/main/jniLibs/armeabi/libx264encoder.so
--------------------------------------------------------------------------------
/x264encoder/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/x264encoder/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/x264encoder/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/x264encoder/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/x264encoder/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/x264encoder/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/x264encoder/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/angcyo/PLDroidDemo/01f7b42943cecfd763c40ef030adbb1cc555e1fb/x264encoder/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/x264encoder/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/x264encoder/src/main/res/menu/main.xml:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/x264encoder/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/x264encoder/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/x264encoder/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | 64dp
9 |
10 |
11 |
--------------------------------------------------------------------------------
/x264encoder/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 16dp
6 |
7 |
8 |
--------------------------------------------------------------------------------
/x264encoder/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | x264encoder
5 | Hello world!
6 | Settings
7 |
8 |
9 |
--------------------------------------------------------------------------------
/x264encoder/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/yuvtorbga/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/yuvtorbga/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "24.0.0 rc2"
6 |
7 | defaultConfig {
8 | minSdkVersion 15
9 | targetSdkVersion 23
10 | versionCode 1
11 | versionName "1.0"
12 |
13 | ndk {
14 | moduleName "gpuimage-library"
15 | stl "gnustl_shared"
16 | abiFilters "all"
17 | ldLibs "log"
18 | }
19 | }
20 | buildTypes {
21 | release {
22 | minifyEnabled false
23 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
24 | }
25 | }
26 | }
27 |
28 | dependencies {
29 | compile fileTree(dir: 'libs', include: ['*.jar'])
30 | testCompile 'junit:junit:4.12'
31 | compile 'com.android.support:appcompat-v7:23.2.1'
32 | }
33 |
--------------------------------------------------------------------------------
/yuvtorbga/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 D:\Android\sdk/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 |
--------------------------------------------------------------------------------
/yuvtorbga/src/androidTest/java/com/angcyo/yuvtorbga/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.yuvtorbga;
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 | }
14 |
--------------------------------------------------------------------------------
/yuvtorbga/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/yuvtorbga/src/main/java/com/angcyo/yuvtorbga/GPUImageNativeLibrary.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 CyberAgent
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 com.angcyo.yuvtorbga;
18 |
19 | public class GPUImageNativeLibrary {
20 | static {
21 | System.loadLibrary("gpuimage-library");
22 | }
23 |
24 | public static native void YUVtoRBGA(byte[] yuv, int width, int height, int[] out);
25 |
26 | public static native void YUVtoARBG(byte[] yuv, int width, int height, int[] out);
27 | }
28 |
--------------------------------------------------------------------------------
/yuvtorbga/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | YUVtoRBGA
3 |
4 |
--------------------------------------------------------------------------------
/yuvtorbga/src/test/java/com/angcyo/yuvtorbga/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.angcyo.yuvtorbga;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------