├── .DS_Store ├── .gitattributes ├── LICENSE ├── ObjectiveC.gitattributes ├── PlayerDemo.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ ├── boai.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ ├── wenming.xcuserdatad │ │ └── UserInterfaceState.xcuserstate │ │ └── zhengwenming.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── xcshareddata │ └── xcschemes │ │ └── PlayerDemo.xcscheme └── xcuserdata │ ├── apple.xcuserdatad │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── kefu.xcuserdatad │ └── xcschemes │ │ └── xcschememanagement.plist │ └── zhengwenming.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── PlayerDemo.xcworkspace ├── contents.xcworkspacedata ├── xcshareddata │ └── IDEWorkspaceChecks.plist └── xcuserdata │ ├── apple.xcuserdatad │ ├── UserInterfaceState.xcuserstate │ └── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ ├── kefu.xcuserdatad │ ├── UserInterfaceState.xcuserstate │ └── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ └── zhengwenming.xcuserdatad │ ├── UserInterfaceState.xcuserstate │ └── xcdebugger │ └── Breakpoints_v2.xcbkptlist ├── PlayerDemo ├── .DS_Store ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-1.png │ │ ├── Icon-2.png │ │ └── Icon.png │ ├── Contents.json │ ├── Other │ │ ├── Contents.json │ │ ├── clear.imageset │ │ │ ├── Contents.json │ │ │ └── clear@2x.png │ │ ├── close.imageset │ │ │ ├── Contents.json │ │ │ └── close@2x.png │ │ ├── logo.imageset │ │ │ ├── Contents.json │ │ │ └── logo.png │ │ ├── navigator_btn_back.imageset │ │ │ ├── Contents.json │ │ │ ├── navigator_btn_back.png │ │ │ └── navigator_btn_back@2x.png │ │ ├── play.imageset │ │ │ ├── Contents.json │ │ │ └── play.png │ │ ├── test.imageset │ │ │ ├── Contents.json │ │ │ └── placeholder.jpg │ │ └── video_play_btn_bg.imageset │ │ │ ├── Contents.json │ │ │ └── video_play_btn_bg@2x.png │ ├── cellIcon │ │ ├── Contents.json │ │ ├── playcount.imageset │ │ │ ├── Contents.json │ │ │ └── playcount.png │ │ └── time.imageset │ │ │ ├── Contents.json │ │ │ └── time.png │ └── tabbarIcon │ │ ├── Contents.json │ │ ├── tab_bg.imageset │ │ ├── Contents.json │ │ ├── tab_bg@2x.png │ │ └── tab_bg@3x.png │ │ ├── tab_live.imageset │ │ ├── Contents.json │ │ ├── tab_live@2x.png │ │ └── tab_live@3x.png │ │ ├── tab_live_p.imageset │ │ ├── Contents.json │ │ ├── tab_live_p@2x.png │ │ └── tab_live_p@3x.png │ │ ├── tab_me.imageset │ │ ├── Contents.json │ │ ├── tab_me@2x.png │ │ └── tab_me@3x.png │ │ ├── tab_me_p.imageset │ │ ├── Contents.json │ │ ├── tab_me_p@2x.png │ │ └── tab_me_p@3x.png │ │ ├── tab_room.imageset │ │ ├── Contents.json │ │ ├── tab_room@2x.png │ │ └── tab_room@3x.png │ │ └── tab_room_p.imageset │ │ ├── Contents.json │ │ ├── tab_room_p@2x.png │ │ └── tab_room_p@3x.png ├── Base.lproj │ └── LaunchScreen.storyboard ├── CustomVideoCamera │ ├── EditVideoViewController.h │ ├── EditVideoViewController.m │ ├── EditingPublishingDynamicViewController.h │ ├── EditingPublishingDynamicViewController.mm │ ├── Filters │ │ ├── GPUImageBeautifyFilter.h │ │ ├── GPUImageBeautifyFilter.mm │ │ ├── LFGPUImageEmptyFilter.h │ │ └── LFGPUImageEmptyFilter.mm │ ├── MusicItemCollectionViewCell.h │ ├── MusicItemCollectionViewCell.mm │ ├── SDAVAssetExportSession.h │ ├── SDAVAssetExportSession.mm │ ├── UIView+Tools.h │ ├── UIView+Tools.m │ ├── VideoCameraView.h │ ├── VideoCameraView.m │ ├── VideoRecordViewController.h │ ├── VideoRecordViewController.m │ ├── cammerImg │ │ ├── 96.png │ │ ├── BackToHome@2x.png │ │ ├── BackToHome@3x.png │ │ ├── BackToVideoCammer@2x.png │ │ ├── BackToVideoCammer@3x.png │ │ ├── LDWatermark.png │ │ ├── LDWatermark_副本.png │ │ ├── beautyOFF@2x.png │ │ ├── beautyOFF@3x.png │ │ ├── beautyON@2x.png │ │ ├── beautyON@3x.png │ │ ├── cammera@2x.png │ │ ├── cammera@3x.png │ │ ├── closeTabView@2x.png │ │ ├── complete@2x.png │ │ ├── complete@3x.png │ │ ├── del@2x.png │ │ ├── del@3x.png │ │ ├── music.png │ │ ├── nilMusic.png │ │ ├── record_ico_input_1@2x.png │ │ └── record_ico_input_1@3x.png │ ├── filterImage │ │ ├── GPUImageAmatorkaFilter.png │ │ ├── GPUImageMissEtikateFilter.png │ │ ├── GPUImageSaturationFilter0.png │ │ ├── GPUImageSaturationFilter2.png │ │ ├── GPUImageSepiaFilter.png │ │ ├── GPUImageSketchFilter.png │ │ ├── GPUImageSoftEleganceFilter.png │ │ ├── GPUImageToonFilter.png │ │ ├── LFGPUImageEmptyFilter.jpeg │ │ ├── LFGPUImageEmptyFilter.png │ │ ├── lookup_amatorka.png │ │ ├── lookup_miss_etikate.png │ │ ├── lookup_soft_elegance_1.png │ │ └── lookup_soft_elegance_2.png │ ├── music │ │ ├── Again │ │ │ ├── audio548.mp3 │ │ │ └── icon548.png │ │ ├── Candy★Night │ │ │ ├── audio547.mp3 │ │ │ └── icon547.png │ │ ├── Dragostea Din Teï │ │ │ ├── audio531.mp3 │ │ │ └── icon531.png │ │ ├── Glad You Came │ │ │ ├── audio539.mp3 │ │ │ └── icon539.png │ │ ├── Grass Studio │ │ │ ├── audio533.mp3 │ │ │ └── icon533.png │ │ ├── No Limit │ │ │ ├── audio529.mp3 │ │ │ └── icon529.png │ │ ├── Secret │ │ │ ├── audio534.mp3 │ │ │ └── icon534.png │ │ ├── Show Me Your Bba Sae │ │ │ ├── audio546.mp3 │ │ │ └── icon546.png │ │ ├── WHISTLE │ │ │ ├── audio535.mp3 │ │ │ └── icon535.png │ │ ├── We Don't Talk Anymore │ │ │ ├── audio541.mp3 │ │ │ └── icon541.png │ │ ├── music1.json │ │ ├── music2.json │ │ ├── 减肥 │ │ │ ├── audio540.mp3 │ │ │ └── icon540.png │ │ ├── 刀剑如梦 │ │ │ ├── audio538.mp3 │ │ │ └── icon538.png │ │ ├── 北京小妞 │ │ │ ├── audio537.mp3 │ │ │ └── icon537.png │ │ ├── 叫我女王 │ │ │ ├── audio542.mp3 │ │ │ └── icon542.png │ │ ├── 可惜不是你 │ │ │ ├── audio543.mp3 │ │ │ └── icon543.png │ │ ├── 岁月神偷 │ │ │ ├── audio544.mp3 │ │ │ └── icon544.png │ │ ├── 我好想你 │ │ │ ├── audio545.mp3 │ │ │ └── icon545.png │ │ ├── 皮皮虾我们走 │ │ │ ├── audio530.mp3 │ │ │ └── icon530.png │ │ ├── 稻香 │ │ │ ├── audio536.mp3 │ │ │ └── icon536.png │ │ └── 还不是因为你长得不好看 │ │ │ ├── audio532.mp3 │ │ │ └── icon532.png │ └── stickers │ │ ├── stickers.json │ │ ├── stickers529.jpg │ │ ├── stickers530.jpg │ │ ├── stickers531.jpg │ │ ├── stickers532.jpg │ │ ├── stickers533.jpg │ │ ├── stickers534.jpg │ │ ├── stickers535.jpg │ │ ├── stickers536.jpg │ │ ├── stickers537.jpg │ │ ├── stickers538.jpg │ │ ├── stickers539.jpg │ │ ├── stickers540.jpg │ │ ├── stickers541.jpg │ │ ├── stickers542.jpg │ │ ├── stickers543.jpg │ │ ├── stickers544.jpg │ │ ├── stickers545.jpg │ │ ├── stickers546.jpg │ │ ├── stickers547.jpg │ │ ├── stickers548.jpg │ │ ├── stickers549.jpg │ │ ├── stickers550.jpg │ │ ├── stickers551.jpg │ │ ├── stickers552.jpg │ │ ├── stickers553.jpg │ │ ├── stickers554.jpg │ │ ├── stickers555.jpg │ │ ├── stickers556.jpg │ │ ├── stickers557.jpg │ │ ├── stickers558.jpg │ │ ├── stickers559.jpg │ │ ├── stickers560.jpg │ │ ├── stickers561.jpg │ │ ├── stickers562.jpg │ │ ├── stickers563.jpg │ │ └── stickers564.jpg ├── DataManager │ ├── VideoDataModel.h │ └── VideoDataModel.m ├── HomeVideoCollectionViewCell.h ├── HomeVideoCollectionViewCell.m ├── Info.plist ├── UITabBarController │ ├── RootTabBarController.h │ ├── RootTabBarController.m │ ├── WMTabBar.h │ └── WMTabBar.m ├── VideoCell.h ├── VideoCell.m ├── VideoCell.xib ├── ViewControllers │ ├── .DS_Store │ ├── BaseNavigationController.h │ ├── BaseNavigationController.m │ ├── BaseViewController.h │ ├── BaseViewController.m │ ├── CameraViewController.h │ ├── CameraViewController.m │ ├── DetailViewController.h │ ├── DetailViewController.m │ ├── SinaNewsViewController.h │ ├── SinaNewsViewController.m │ ├── TencentNewsViewController.h │ ├── TencentNewsViewController.m │ ├── VCRotateViewController.h │ └── VCRotateViewController.m ├── gzh.jpg └── main.m ├── Podfile ├── Podfile.lock ├── Pods ├── .DS_Store ├── AFNetworking │ ├── AFNetworking │ │ ├── AFCompatibilityMacros.h │ │ ├── AFHTTPSessionManager.h │ │ ├── AFHTTPSessionManager.m │ │ ├── AFNetworkReachabilityManager.h │ │ ├── AFNetworkReachabilityManager.m │ │ ├── AFNetworking.h │ │ ├── AFSecurityPolicy.h │ │ ├── AFSecurityPolicy.m │ │ ├── AFURLRequestSerialization.h │ │ ├── AFURLRequestSerialization.m │ │ ├── AFURLResponseSerialization.h │ │ ├── AFURLResponseSerialization.m │ │ ├── AFURLSessionManager.h │ │ └── AFURLSessionManager.m │ ├── LICENSE │ ├── README.md │ └── UIKit+AFNetworking │ │ ├── AFAutoPurgingImageCache.h │ │ ├── AFAutoPurgingImageCache.m │ │ ├── AFImageDownloader.h │ │ ├── AFImageDownloader.m │ │ ├── AFNetworkActivityIndicatorManager.h │ │ ├── AFNetworkActivityIndicatorManager.m │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ ├── UIActivityIndicatorView+AFNetworking.m │ │ ├── UIButton+AFNetworking.h │ │ ├── UIButton+AFNetworking.m │ │ ├── UIImage+AFNetworking.h │ │ ├── UIImageView+AFNetworking.h │ │ ├── UIImageView+AFNetworking.m │ │ ├── UIKit+AFNetworking.h │ │ ├── UIProgressView+AFNetworking.h │ │ ├── UIProgressView+AFNetworking.m │ │ ├── UIRefreshControl+AFNetworking.h │ │ ├── UIRefreshControl+AFNetworking.m │ │ ├── UIWebView+AFNetworking.h │ │ └── UIWebView+AFNetworking.m ├── GPUImage │ ├── License.txt │ ├── README.md │ └── framework │ │ ├── Resources │ │ ├── lookup.png │ │ ├── lookup_amatorka.png │ │ ├── lookup_miss_etikate.png │ │ ├── lookup_soft_elegance_1.png │ │ └── lookup_soft_elegance_2.png │ │ └── Source │ │ ├── GLProgram.h │ │ ├── GLProgram.m │ │ ├── GPUImage.h │ │ ├── GPUImage3x3ConvolutionFilter.h │ │ ├── GPUImage3x3ConvolutionFilter.m │ │ ├── GPUImage3x3TextureSamplingFilter.h │ │ ├── GPUImage3x3TextureSamplingFilter.m │ │ ├── GPUImageAdaptiveThresholdFilter.h │ │ ├── GPUImageAdaptiveThresholdFilter.m │ │ ├── GPUImageAddBlendFilter.h │ │ ├── GPUImageAddBlendFilter.m │ │ ├── GPUImageAlphaBlendFilter.h │ │ ├── GPUImageAlphaBlendFilter.m │ │ ├── GPUImageAmatorkaFilter.h │ │ ├── GPUImageAmatorkaFilter.m │ │ ├── GPUImageAverageColor.h │ │ ├── GPUImageAverageColor.m │ │ ├── GPUImageAverageLuminanceThresholdFilter.h │ │ ├── GPUImageAverageLuminanceThresholdFilter.m │ │ ├── GPUImageBilateralFilter.h │ │ ├── GPUImageBilateralFilter.m │ │ ├── GPUImageBoxBlurFilter.h │ │ ├── GPUImageBoxBlurFilter.m │ │ ├── GPUImageBrightnessFilter.h │ │ ├── GPUImageBrightnessFilter.m │ │ ├── GPUImageBuffer.h │ │ ├── GPUImageBuffer.m │ │ ├── GPUImageBulgeDistortionFilter.h │ │ ├── GPUImageBulgeDistortionFilter.m │ │ ├── GPUImageCGAColorspaceFilter.h │ │ ├── GPUImageCGAColorspaceFilter.m │ │ ├── GPUImageCannyEdgeDetectionFilter.h │ │ ├── GPUImageCannyEdgeDetectionFilter.m │ │ ├── GPUImageChromaKeyBlendFilter.h │ │ ├── GPUImageChromaKeyBlendFilter.m │ │ ├── GPUImageChromaKeyFilter.h │ │ ├── GPUImageChromaKeyFilter.m │ │ ├── GPUImageClosingFilter.h │ │ ├── GPUImageClosingFilter.m │ │ ├── GPUImageColorBlendFilter.h │ │ ├── GPUImageColorBlendFilter.m │ │ ├── GPUImageColorBurnBlendFilter.h │ │ ├── GPUImageColorBurnBlendFilter.m │ │ ├── GPUImageColorDodgeBlendFilter.h │ │ ├── GPUImageColorDodgeBlendFilter.m │ │ ├── GPUImageColorInvertFilter.h │ │ ├── GPUImageColorInvertFilter.m │ │ ├── GPUImageColorMatrixFilter.h │ │ ├── GPUImageColorMatrixFilter.m │ │ ├── GPUImageColorPackingFilter.h │ │ ├── GPUImageColorPackingFilter.m │ │ ├── GPUImageContrastFilter.h │ │ ├── GPUImageContrastFilter.m │ │ ├── GPUImageCropFilter.h │ │ ├── GPUImageCropFilter.m │ │ ├── GPUImageCrosshairGenerator.h │ │ ├── GPUImageCrosshairGenerator.m │ │ ├── GPUImageCrosshatchFilter.h │ │ ├── GPUImageCrosshatchFilter.m │ │ ├── GPUImageDarkenBlendFilter.h │ │ ├── GPUImageDarkenBlendFilter.m │ │ ├── GPUImageDifferenceBlendFilter.h │ │ ├── GPUImageDifferenceBlendFilter.m │ │ ├── GPUImageDilationFilter.h │ │ ├── GPUImageDilationFilter.m │ │ ├── GPUImageDirectionalNonMaximumSuppressionFilter.h │ │ ├── GPUImageDirectionalNonMaximumSuppressionFilter.m │ │ ├── GPUImageDirectionalSobelEdgeDetectionFilter.h │ │ ├── GPUImageDirectionalSobelEdgeDetectionFilter.m │ │ ├── GPUImageDissolveBlendFilter.h │ │ ├── GPUImageDissolveBlendFilter.m │ │ ├── GPUImageDivideBlendFilter.h │ │ ├── GPUImageDivideBlendFilter.m │ │ ├── GPUImageEmbossFilter.h │ │ ├── GPUImageEmbossFilter.m │ │ ├── GPUImageErosionFilter.h │ │ ├── GPUImageErosionFilter.m │ │ ├── GPUImageExclusionBlendFilter.h │ │ ├── GPUImageExclusionBlendFilter.m │ │ ├── GPUImageExposureFilter.h │ │ ├── GPUImageExposureFilter.m │ │ ├── GPUImageFASTCornerDetectionFilter.h │ │ ├── GPUImageFASTCornerDetectionFilter.m │ │ ├── GPUImageFalseColorFilter.h │ │ ├── GPUImageFalseColorFilter.m │ │ ├── GPUImageFilter.h │ │ ├── GPUImageFilter.m │ │ ├── GPUImageFilterGroup.h │ │ ├── GPUImageFilterGroup.m │ │ ├── GPUImageFilterPipeline.h │ │ ├── GPUImageFilterPipeline.m │ │ ├── GPUImageFramebuffer.h │ │ ├── GPUImageFramebuffer.m │ │ ├── GPUImageFramebufferCache.h │ │ ├── GPUImageFramebufferCache.m │ │ ├── GPUImageGammaFilter.h │ │ ├── GPUImageGammaFilter.m │ │ ├── GPUImageGaussianBlurFilter.h │ │ ├── GPUImageGaussianBlurFilter.m │ │ ├── GPUImageGaussianBlurPositionFilter.h │ │ ├── GPUImageGaussianBlurPositionFilter.m │ │ ├── GPUImageGaussianSelectiveBlurFilter.h │ │ ├── GPUImageGaussianSelectiveBlurFilter.m │ │ ├── GPUImageGlassSphereFilter.h │ │ ├── GPUImageGlassSphereFilter.m │ │ ├── GPUImageGrayscaleFilter.h │ │ ├── GPUImageGrayscaleFilter.m │ │ ├── GPUImageHSBFilter.h │ │ ├── GPUImageHSBFilter.m │ │ ├── GPUImageHalftoneFilter.h │ │ ├── GPUImageHalftoneFilter.m │ │ ├── GPUImageHardLightBlendFilter.h │ │ ├── GPUImageHardLightBlendFilter.m │ │ ├── GPUImageHarrisCornerDetectionFilter.h │ │ ├── GPUImageHarrisCornerDetectionFilter.m │ │ ├── GPUImageHazeFilter.h │ │ ├── GPUImageHazeFilter.m │ │ ├── GPUImageHighPassFilter.h │ │ ├── GPUImageHighPassFilter.m │ │ ├── GPUImageHighlightShadowFilter.h │ │ ├── GPUImageHighlightShadowFilter.m │ │ ├── GPUImageHistogramEqualizationFilter.h │ │ ├── GPUImageHistogramEqualizationFilter.m │ │ ├── GPUImageHistogramFilter.h │ │ ├── GPUImageHistogramFilter.m │ │ ├── GPUImageHistogramGenerator.h │ │ ├── GPUImageHistogramGenerator.m │ │ ├── GPUImageHoughTransformLineDetector.h │ │ ├── GPUImageHoughTransformLineDetector.m │ │ ├── GPUImageHueBlendFilter.h │ │ ├── GPUImageHueBlendFilter.m │ │ ├── GPUImageHueFilter.h │ │ ├── GPUImageHueFilter.m │ │ ├── GPUImageJFAVoronoiFilter.h │ │ ├── GPUImageJFAVoronoiFilter.m │ │ ├── GPUImageKuwaharaFilter.h │ │ ├── GPUImageKuwaharaFilter.m │ │ ├── GPUImageKuwaharaRadius3Filter.h │ │ ├── GPUImageKuwaharaRadius3Filter.m │ │ ├── GPUImageLanczosResamplingFilter.h │ │ ├── GPUImageLanczosResamplingFilter.m │ │ ├── GPUImageLaplacianFilter.h │ │ ├── GPUImageLaplacianFilter.m │ │ ├── GPUImageLevelsFilter.h │ │ ├── GPUImageLevelsFilter.m │ │ ├── GPUImageLightenBlendFilter.h │ │ ├── GPUImageLightenBlendFilter.m │ │ ├── GPUImageLineGenerator.h │ │ ├── GPUImageLineGenerator.m │ │ ├── GPUImageLinearBurnBlendFilter.h │ │ ├── GPUImageLinearBurnBlendFilter.m │ │ ├── GPUImageLocalBinaryPatternFilter.h │ │ ├── GPUImageLocalBinaryPatternFilter.m │ │ ├── GPUImageLookupFilter.h │ │ ├── GPUImageLookupFilter.m │ │ ├── GPUImageLowPassFilter.h │ │ ├── GPUImageLowPassFilter.m │ │ ├── GPUImageLuminanceRangeFilter.h │ │ ├── GPUImageLuminanceRangeFilter.m │ │ ├── GPUImageLuminanceThresholdFilter.h │ │ ├── GPUImageLuminanceThresholdFilter.m │ │ ├── GPUImageLuminosity.h │ │ ├── GPUImageLuminosity.m │ │ ├── GPUImageLuminosityBlendFilter.h │ │ ├── GPUImageLuminosityBlendFilter.m │ │ ├── GPUImageMaskFilter.h │ │ ├── GPUImageMaskFilter.m │ │ ├── GPUImageMedianFilter.h │ │ ├── GPUImageMedianFilter.m │ │ ├── GPUImageMissEtikateFilter.h │ │ ├── GPUImageMissEtikateFilter.m │ │ ├── GPUImageMonochromeFilter.h │ │ ├── GPUImageMonochromeFilter.m │ │ ├── GPUImageMosaicFilter.h │ │ ├── GPUImageMosaicFilter.m │ │ ├── GPUImageMotionBlurFilter.h │ │ ├── GPUImageMotionBlurFilter.m │ │ ├── GPUImageMotionDetector.h │ │ ├── GPUImageMotionDetector.m │ │ ├── GPUImageMovie.h │ │ ├── GPUImageMovie.m │ │ ├── GPUImageMovieComposition.h │ │ ├── GPUImageMovieComposition.m │ │ ├── GPUImageMultiplyBlendFilter.h │ │ ├── GPUImageMultiplyBlendFilter.m │ │ ├── GPUImageNobleCornerDetectionFilter.h │ │ ├── GPUImageNobleCornerDetectionFilter.m │ │ ├── GPUImageNonMaximumSuppressionFilter.h │ │ ├── GPUImageNonMaximumSuppressionFilter.m │ │ ├── GPUImageNormalBlendFilter.h │ │ ├── GPUImageNormalBlendFilter.m │ │ ├── GPUImageOpacityFilter.h │ │ ├── GPUImageOpacityFilter.m │ │ ├── GPUImageOpeningFilter.h │ │ ├── GPUImageOpeningFilter.m │ │ ├── GPUImageOutput.h │ │ ├── GPUImageOutput.m │ │ ├── GPUImageOverlayBlendFilter.h │ │ ├── GPUImageOverlayBlendFilter.m │ │ ├── GPUImageParallelCoordinateLineTransformFilter.h │ │ ├── GPUImageParallelCoordinateLineTransformFilter.m │ │ ├── GPUImagePerlinNoiseFilter.h │ │ ├── GPUImagePerlinNoiseFilter.m │ │ ├── GPUImagePinchDistortionFilter.h │ │ ├── GPUImagePinchDistortionFilter.m │ │ ├── GPUImagePixellateFilter.h │ │ ├── GPUImagePixellateFilter.m │ │ ├── GPUImagePixellatePositionFilter.h │ │ ├── GPUImagePixellatePositionFilter.m │ │ ├── GPUImagePoissonBlendFilter.h │ │ ├── GPUImagePoissonBlendFilter.m │ │ ├── GPUImagePolarPixellateFilter.h │ │ ├── GPUImagePolarPixellateFilter.m │ │ ├── GPUImagePolkaDotFilter.h │ │ ├── GPUImagePolkaDotFilter.m │ │ ├── GPUImagePosterizeFilter.h │ │ ├── GPUImagePosterizeFilter.m │ │ ├── GPUImagePrewittEdgeDetectionFilter.h │ │ ├── GPUImagePrewittEdgeDetectionFilter.m │ │ ├── GPUImageRGBClosingFilter.h │ │ ├── GPUImageRGBClosingFilter.m │ │ ├── GPUImageRGBDilationFilter.h │ │ ├── GPUImageRGBDilationFilter.m │ │ ├── GPUImageRGBErosionFilter.h │ │ ├── GPUImageRGBErosionFilter.m │ │ ├── GPUImageRGBFilter.h │ │ ├── GPUImageRGBFilter.m │ │ ├── GPUImageRGBOpeningFilter.h │ │ ├── GPUImageRGBOpeningFilter.m │ │ ├── GPUImageRawDataInput.h │ │ ├── GPUImageRawDataInput.m │ │ ├── GPUImageRawDataOutput.h │ │ ├── GPUImageRawDataOutput.m │ │ ├── GPUImageSaturationBlendFilter.h │ │ ├── GPUImageSaturationBlendFilter.m │ │ ├── GPUImageSaturationFilter.h │ │ ├── GPUImageSaturationFilter.m │ │ ├── GPUImageScreenBlendFilter.h │ │ ├── GPUImageScreenBlendFilter.m │ │ ├── GPUImageSepiaFilter.h │ │ ├── GPUImageSepiaFilter.m │ │ ├── GPUImageSharpenFilter.h │ │ ├── GPUImageSharpenFilter.m │ │ ├── GPUImageShiTomasiFeatureDetectionFilter.h │ │ ├── GPUImageShiTomasiFeatureDetectionFilter.m │ │ ├── GPUImageSingleComponentGaussianBlurFilter.h │ │ ├── GPUImageSingleComponentGaussianBlurFilter.m │ │ ├── GPUImageSketchFilter.h │ │ ├── GPUImageSketchFilter.m │ │ ├── GPUImageSmoothToonFilter.h │ │ ├── GPUImageSmoothToonFilter.m │ │ ├── GPUImageSobelEdgeDetectionFilter.h │ │ ├── GPUImageSobelEdgeDetectionFilter.m │ │ ├── GPUImageSoftEleganceFilter.h │ │ ├── GPUImageSoftEleganceFilter.m │ │ ├── GPUImageSoftLightBlendFilter.h │ │ ├── GPUImageSoftLightBlendFilter.m │ │ ├── GPUImageSolidColorGenerator.h │ │ ├── GPUImageSolidColorGenerator.m │ │ ├── GPUImageSourceOverBlendFilter.h │ │ ├── GPUImageSourceOverBlendFilter.m │ │ ├── GPUImageSphereRefractionFilter.h │ │ ├── GPUImageSphereRefractionFilter.m │ │ ├── GPUImageStillCamera.h │ │ ├── GPUImageStillCamera.m │ │ ├── GPUImageStretchDistortionFilter.h │ │ ├── GPUImageStretchDistortionFilter.m │ │ ├── GPUImageSubtractBlendFilter.h │ │ ├── GPUImageSubtractBlendFilter.m │ │ ├── GPUImageSwirlFilter.h │ │ ├── GPUImageSwirlFilter.m │ │ ├── GPUImageTextureInput.h │ │ ├── GPUImageTextureInput.m │ │ ├── GPUImageTextureOutput.h │ │ ├── GPUImageTextureOutput.m │ │ ├── GPUImageThreeInputFilter.h │ │ ├── GPUImageThreeInputFilter.m │ │ ├── GPUImageThresholdEdgeDetectionFilter.h │ │ ├── GPUImageThresholdEdgeDetectionFilter.m │ │ ├── GPUImageThresholdSketchFilter.h │ │ ├── GPUImageThresholdSketchFilter.m │ │ ├── GPUImageThresholdedNonMaximumSuppressionFilter.h │ │ ├── GPUImageThresholdedNonMaximumSuppressionFilter.m │ │ ├── GPUImageTiltShiftFilter.h │ │ ├── GPUImageTiltShiftFilter.m │ │ ├── GPUImageToneCurveFilter.h │ │ ├── GPUImageToneCurveFilter.m │ │ ├── GPUImageToonFilter.h │ │ ├── GPUImageToonFilter.m │ │ ├── GPUImageTransformFilter.h │ │ ├── GPUImageTransformFilter.m │ │ ├── GPUImageTwoInputCrossTextureSamplingFilter.h │ │ ├── GPUImageTwoInputCrossTextureSamplingFilter.m │ │ ├── GPUImageTwoInputFilter.h │ │ ├── GPUImageTwoInputFilter.m │ │ ├── GPUImageTwoPassFilter.h │ │ ├── GPUImageTwoPassFilter.m │ │ ├── GPUImageTwoPassTextureSamplingFilter.h │ │ ├── GPUImageTwoPassTextureSamplingFilter.m │ │ ├── GPUImageUIElement.h │ │ ├── GPUImageUIElement.m │ │ ├── GPUImageUnsharpMaskFilter.h │ │ ├── GPUImageUnsharpMaskFilter.m │ │ ├── GPUImageVideoCamera.h │ │ ├── GPUImageVideoCamera.m │ │ ├── GPUImageVignetteFilter.h │ │ ├── GPUImageVignetteFilter.m │ │ ├── GPUImageVoronoiConsumerFilter.h │ │ ├── GPUImageVoronoiConsumerFilter.m │ │ ├── GPUImageWeakPixelInclusionFilter.h │ │ ├── GPUImageWeakPixelInclusionFilter.m │ │ ├── GPUImageWhiteBalanceFilter.h │ │ ├── GPUImageWhiteBalanceFilter.m │ │ ├── GPUImageXYDerivativeFilter.h │ │ ├── GPUImageXYDerivativeFilter.m │ │ ├── GPUImageZoomBlurFilter.h │ │ ├── GPUImageZoomBlurFilter.m │ │ ├── GPUImageiOSBlurFilter.h │ │ ├── GPUImageiOSBlurFilter.m │ │ └── iOS │ │ ├── Framework │ │ └── GPUImageFramework.h │ │ ├── GPUImageContext.h │ │ ├── GPUImageContext.m │ │ ├── GPUImageMovieWriter.h │ │ ├── GPUImageMovieWriter.m │ │ ├── GPUImagePicture+TextureSubimage.h │ │ ├── GPUImagePicture+TextureSubimage.m │ │ ├── GPUImagePicture.h │ │ ├── GPUImagePicture.m │ │ ├── GPUImageView.h │ │ └── GPUImageView.m ├── MJRefresh │ ├── LICENSE │ ├── MJRefresh │ │ ├── Base │ │ │ ├── MJRefreshAutoFooter.h │ │ │ ├── MJRefreshAutoFooter.m │ │ │ ├── MJRefreshBackFooter.h │ │ │ ├── MJRefreshBackFooter.m │ │ │ ├── MJRefreshComponent.h │ │ │ ├── MJRefreshComponent.m │ │ │ ├── MJRefreshFooter.h │ │ │ ├── MJRefreshFooter.m │ │ │ ├── MJRefreshHeader.h │ │ │ └── MJRefreshHeader.m │ │ ├── Custom │ │ │ ├── Footer │ │ │ │ ├── Auto │ │ │ │ │ ├── MJRefreshAutoGifFooter.h │ │ │ │ │ ├── MJRefreshAutoGifFooter.m │ │ │ │ │ ├── MJRefreshAutoNormalFooter.h │ │ │ │ │ ├── MJRefreshAutoNormalFooter.m │ │ │ │ │ ├── MJRefreshAutoStateFooter.h │ │ │ │ │ └── MJRefreshAutoStateFooter.m │ │ │ │ └── Back │ │ │ │ │ ├── MJRefreshBackGifFooter.h │ │ │ │ │ ├── MJRefreshBackGifFooter.m │ │ │ │ │ ├── MJRefreshBackNormalFooter.h │ │ │ │ │ ├── MJRefreshBackNormalFooter.m │ │ │ │ │ ├── MJRefreshBackStateFooter.h │ │ │ │ │ └── MJRefreshBackStateFooter.m │ │ │ └── Header │ │ │ │ ├── MJRefreshGifHeader.h │ │ │ │ ├── MJRefreshGifHeader.m │ │ │ │ ├── MJRefreshNormalHeader.h │ │ │ │ ├── MJRefreshNormalHeader.m │ │ │ │ ├── MJRefreshStateHeader.h │ │ │ │ └── MJRefreshStateHeader.m │ │ ├── MJRefresh.bundle │ │ │ ├── arrow@2x.png │ │ │ ├── en.lproj │ │ │ │ └── Localizable.strings │ │ │ ├── ko.lproj │ │ │ │ └── Localizable.strings │ │ │ ├── ru.lproj │ │ │ │ └── Localizable.strings │ │ │ ├── uk.lproj │ │ │ │ └── Localizable.strings │ │ │ ├── zh-Hans.lproj │ │ │ │ └── Localizable.strings │ │ │ └── zh-Hant.lproj │ │ │ │ └── Localizable.strings │ │ ├── MJRefresh.h │ │ ├── MJRefreshConfig.h │ │ ├── MJRefreshConfig.m │ │ ├── MJRefreshConst.h │ │ ├── MJRefreshConst.m │ │ ├── NSBundle+MJRefresh.h │ │ ├── NSBundle+MJRefresh.m │ │ ├── UIScrollView+MJExtension.h │ │ ├── UIScrollView+MJExtension.m │ │ ├── UIScrollView+MJRefresh.h │ │ ├── UIScrollView+MJRefresh.m │ │ ├── UIView+MJExtension.h │ │ └── UIView+MJExtension.m │ └── README.md ├── Manifest.lock ├── Masonry │ ├── LICENSE │ ├── Masonry │ │ ├── MASCompositeConstraint.h │ │ ├── MASCompositeConstraint.m │ │ ├── MASConstraint+Private.h │ │ ├── MASConstraint.h │ │ ├── MASConstraint.m │ │ ├── MASConstraintMaker.h │ │ ├── MASConstraintMaker.m │ │ ├── MASLayoutConstraint.h │ │ ├── MASLayoutConstraint.m │ │ ├── MASUtilities.h │ │ ├── MASViewAttribute.h │ │ ├── MASViewAttribute.m │ │ ├── MASViewConstraint.h │ │ ├── MASViewConstraint.m │ │ ├── Masonry.h │ │ ├── NSArray+MASAdditions.h │ │ ├── NSArray+MASAdditions.m │ │ ├── NSArray+MASShorthandAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.h │ │ ├── NSLayoutConstraint+MASDebugAdditions.m │ │ ├── View+MASAdditions.h │ │ ├── View+MASAdditions.m │ │ ├── View+MASShorthandAdditions.h │ │ ├── ViewController+MASAdditions.h │ │ └── ViewController+MASAdditions.m │ └── README.md ├── Pods.xcodeproj │ ├── project.pbxproj │ └── xcuserdata │ │ ├── apple.xcuserdatad │ │ └── xcschemes │ │ │ ├── AFNetworking.xcscheme │ │ │ ├── GPUImage.xcscheme │ │ │ ├── MJRefresh.xcscheme │ │ │ ├── Masonry.xcscheme │ │ │ ├── Pods-PlayerDemo.xcscheme │ │ │ ├── SDWebImage.xcscheme │ │ │ ├── TZImagePickerController.xcscheme │ │ │ └── xcschememanagement.plist │ │ ├── kefu.xcuserdatad │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── nixinsheng.xcuserdatad │ │ └── xcschemes │ │ │ ├── Masonry.xcscheme │ │ │ ├── Pods-PlayerDemo.xcscheme │ │ │ └── xcschememanagement.plist │ │ └── zhengwenming.xcuserdatad │ │ └── xcschemes │ │ ├── AFNetworking.xcscheme │ │ ├── GPUImage.xcscheme │ │ ├── MJRefresh.xcscheme │ │ ├── Masonry.xcscheme │ │ ├── Pods-PlayerDemo.xcscheme │ │ ├── SDWebImage.xcscheme │ │ ├── TZImagePickerController.xcscheme │ │ └── xcschememanagement.plist ├── SDWebImage │ ├── LICENSE │ ├── README.md │ ├── SDWebImage │ │ ├── Core │ │ │ ├── NSButton+WebCache.h │ │ │ ├── NSButton+WebCache.m │ │ │ ├── NSData+ImageContentType.h │ │ │ ├── NSData+ImageContentType.m │ │ │ ├── NSImage+Compatibility.h │ │ │ ├── NSImage+Compatibility.m │ │ │ ├── SDAnimatedImage.h │ │ │ ├── SDAnimatedImage.m │ │ │ ├── SDAnimatedImagePlayer.h │ │ │ ├── SDAnimatedImagePlayer.m │ │ │ ├── SDAnimatedImageRep.h │ │ │ ├── SDAnimatedImageRep.m │ │ │ ├── SDAnimatedImageView+WebCache.h │ │ │ ├── SDAnimatedImageView+WebCache.m │ │ │ ├── SDAnimatedImageView.h │ │ │ ├── SDAnimatedImageView.m │ │ │ ├── SDDiskCache.h │ │ │ ├── SDDiskCache.m │ │ │ ├── SDGraphicsImageRenderer.h │ │ │ ├── SDGraphicsImageRenderer.m │ │ │ ├── SDImageAPNGCoder.h │ │ │ ├── SDImageAPNGCoder.m │ │ │ ├── SDImageCache.h │ │ │ ├── SDImageCache.m │ │ │ ├── SDImageCacheConfig.h │ │ │ ├── SDImageCacheConfig.m │ │ │ ├── SDImageCacheDefine.h │ │ │ ├── SDImageCacheDefine.m │ │ │ ├── SDImageCachesManager.h │ │ │ ├── SDImageCachesManager.m │ │ │ ├── SDImageCoder.h │ │ │ ├── SDImageCoder.m │ │ │ ├── SDImageCoderHelper.h │ │ │ ├── SDImageCoderHelper.m │ │ │ ├── SDImageCodersManager.h │ │ │ ├── SDImageCodersManager.m │ │ │ ├── SDImageFrame.h │ │ │ ├── SDImageFrame.m │ │ │ ├── SDImageGIFCoder.h │ │ │ ├── SDImageGIFCoder.m │ │ │ ├── SDImageGraphics.h │ │ │ ├── SDImageGraphics.m │ │ │ ├── SDImageHEICCoder.h │ │ │ ├── SDImageHEICCoder.m │ │ │ ├── SDImageIOAnimatedCoder.h │ │ │ ├── SDImageIOAnimatedCoder.m │ │ │ ├── SDImageIOCoder.h │ │ │ ├── SDImageIOCoder.m │ │ │ ├── SDImageLoader.h │ │ │ ├── SDImageLoader.m │ │ │ ├── SDImageLoadersManager.h │ │ │ ├── SDImageLoadersManager.m │ │ │ ├── SDImageTransformer.h │ │ │ ├── SDImageTransformer.m │ │ │ ├── SDMemoryCache.h │ │ │ ├── SDMemoryCache.m │ │ │ ├── SDWebImageCacheKeyFilter.h │ │ │ ├── SDWebImageCacheKeyFilter.m │ │ │ ├── SDWebImageCacheSerializer.h │ │ │ ├── SDWebImageCacheSerializer.m │ │ │ ├── SDWebImageCompat.h │ │ │ ├── SDWebImageCompat.m │ │ │ ├── SDWebImageDefine.h │ │ │ ├── SDWebImageDefine.m │ │ │ ├── SDWebImageDownloader.h │ │ │ ├── SDWebImageDownloader.m │ │ │ ├── SDWebImageDownloaderConfig.h │ │ │ ├── SDWebImageDownloaderConfig.m │ │ │ ├── SDWebImageDownloaderDecryptor.h │ │ │ ├── SDWebImageDownloaderDecryptor.m │ │ │ ├── SDWebImageDownloaderOperation.h │ │ │ ├── SDWebImageDownloaderOperation.m │ │ │ ├── SDWebImageDownloaderRequestModifier.h │ │ │ ├── SDWebImageDownloaderRequestModifier.m │ │ │ ├── SDWebImageDownloaderResponseModifier.h │ │ │ ├── SDWebImageDownloaderResponseModifier.m │ │ │ ├── SDWebImageError.h │ │ │ ├── SDWebImageError.m │ │ │ ├── SDWebImageIndicator.h │ │ │ ├── SDWebImageIndicator.m │ │ │ ├── SDWebImageManager.h │ │ │ ├── SDWebImageManager.m │ │ │ ├── SDWebImageOperation.h │ │ │ ├── SDWebImageOperation.m │ │ │ ├── SDWebImageOptionsProcessor.h │ │ │ ├── SDWebImageOptionsProcessor.m │ │ │ ├── SDWebImagePrefetcher.h │ │ │ ├── SDWebImagePrefetcher.m │ │ │ ├── SDWebImageTransition.h │ │ │ ├── SDWebImageTransition.m │ │ │ ├── UIButton+WebCache.h │ │ │ ├── UIButton+WebCache.m │ │ │ ├── UIImage+ExtendedCacheData.h │ │ │ ├── UIImage+ExtendedCacheData.m │ │ │ ├── UIImage+ForceDecode.h │ │ │ ├── UIImage+ForceDecode.m │ │ │ ├── UIImage+GIF.h │ │ │ ├── UIImage+GIF.m │ │ │ ├── UIImage+MemoryCacheCost.h │ │ │ ├── UIImage+MemoryCacheCost.m │ │ │ ├── UIImage+Metadata.h │ │ │ ├── UIImage+Metadata.m │ │ │ ├── UIImage+MultiFormat.h │ │ │ ├── UIImage+MultiFormat.m │ │ │ ├── UIImage+Transform.h │ │ │ ├── UIImage+Transform.m │ │ │ ├── UIImageView+HighlightedWebCache.h │ │ │ ├── UIImageView+HighlightedWebCache.m │ │ │ ├── UIImageView+WebCache.h │ │ │ ├── UIImageView+WebCache.m │ │ │ ├── UIView+WebCache.h │ │ │ ├── UIView+WebCache.m │ │ │ ├── UIView+WebCacheOperation.h │ │ │ └── UIView+WebCacheOperation.m │ │ └── Private │ │ │ ├── NSBezierPath+SDRoundedCorners.h │ │ │ ├── NSBezierPath+SDRoundedCorners.m │ │ │ ├── SDAssociatedObject.h │ │ │ ├── SDAssociatedObject.m │ │ │ ├── SDAsyncBlockOperation.h │ │ │ ├── SDAsyncBlockOperation.m │ │ │ ├── SDDeviceHelper.h │ │ │ ├── SDDeviceHelper.m │ │ │ ├── SDDisplayLink.h │ │ │ ├── SDDisplayLink.m │ │ │ ├── SDFileAttributeHelper.h │ │ │ ├── SDFileAttributeHelper.m │ │ │ ├── SDImageAssetManager.h │ │ │ ├── SDImageAssetManager.m │ │ │ ├── SDImageCachesManagerOperation.h │ │ │ ├── SDImageCachesManagerOperation.m │ │ │ ├── SDImageHEICCoderInternal.h │ │ │ ├── SDImageIOAnimatedCoderInternal.h │ │ │ ├── SDInternalMacros.h │ │ │ ├── SDInternalMacros.m │ │ │ ├── SDWeakProxy.h │ │ │ ├── SDWeakProxy.m │ │ │ ├── SDWebImageTransitionInternal.h │ │ │ ├── SDmetamacros.h │ │ │ ├── UIColor+SDHexString.h │ │ │ └── UIColor+SDHexString.m │ └── WebImage │ │ └── SDWebImage.h ├── TZImagePickerController │ ├── LICENSE │ ├── README.md │ └── TZImagePickerController │ │ └── TZImagePickerController │ │ ├── NSBundle+TZImagePicker.h │ │ ├── NSBundle+TZImagePicker.m │ │ ├── TZAssetCell.h │ │ ├── TZAssetCell.m │ │ ├── TZAssetModel.h │ │ ├── TZAssetModel.m │ │ ├── TZGifPhotoPreviewController.h │ │ ├── TZGifPhotoPreviewController.m │ │ ├── TZImageCropManager.h │ │ ├── TZImageCropManager.m │ │ ├── TZImageManager.h │ │ ├── TZImageManager.m │ │ ├── TZImagePickerController.bundle │ │ ├── MMVideoPreviewPlay@2x.png │ │ ├── MMVideoPreviewPlayHL@2x.png │ │ ├── Root.plist │ │ ├── VideoSendIcon@2x.png │ │ ├── en.lproj │ │ │ └── Localizable.strings │ │ ├── navi_back@2x.png │ │ ├── photo_def_photoPickerVc@2x.png │ │ ├── photo_def_previewVc@2x.png │ │ ├── photo_number_icon@2x.png │ │ ├── photo_original_def@2x.png │ │ ├── photo_original_sel@2x.png │ │ ├── photo_sel_photoPickerVc@2x.png │ │ ├── photo_sel_previewVc@2x.png │ │ ├── preview_number_icon@2x.png │ │ ├── preview_original_def@2x.png │ │ ├── takePicture80@2x.png │ │ ├── takePicture@2x.png │ │ ├── vi.lproj │ │ │ └── Localizable.strings │ │ ├── zh-Hans.lproj │ │ │ └── Localizable.strings │ │ └── zh-Hant.lproj │ │ │ └── Localizable.strings │ │ ├── TZImagePickerController.h │ │ ├── TZImagePickerController.m │ │ ├── TZLocationManager.h │ │ ├── TZLocationManager.m │ │ ├── TZPhotoPickerController.h │ │ ├── TZPhotoPickerController.m │ │ ├── TZPhotoPreviewCell.h │ │ ├── TZPhotoPreviewCell.m │ │ ├── TZPhotoPreviewController.h │ │ ├── TZPhotoPreviewController.m │ │ ├── TZProgressView.h │ │ ├── TZProgressView.m │ │ ├── TZVideoPlayerController.h │ │ ├── TZVideoPlayerController.m │ │ ├── UIView+Layout.h │ │ └── UIView+Layout.m └── Target Support Files │ ├── .DS_Store │ ├── AFNetworking │ ├── AFNetworking-Info.plist │ ├── AFNetworking-dummy.m │ ├── AFNetworking-prefix.pch │ ├── AFNetworking-umbrella.h │ ├── AFNetworking.modulemap │ ├── AFNetworking.xcconfig │ └── Info.plist │ ├── GPUImage │ ├── GPUImage-Info.plist │ ├── GPUImage-dummy.m │ ├── GPUImage-prefix.pch │ ├── GPUImage-umbrella.h │ ├── GPUImage.modulemap │ ├── GPUImage.xcconfig │ └── Info.plist │ ├── MJRefresh │ ├── Info.plist │ ├── MJRefresh-Info.plist │ ├── MJRefresh-dummy.m │ ├── MJRefresh-prefix.pch │ ├── MJRefresh-umbrella.h │ ├── MJRefresh.modulemap │ └── MJRefresh.xcconfig │ ├── Masonry │ ├── Info.plist │ ├── Masonry-Info.plist │ ├── Masonry-dummy.m │ ├── Masonry-prefix.pch │ ├── Masonry-umbrella.h │ ├── Masonry.modulemap │ └── Masonry.xcconfig │ ├── Pods-PlayerDemo │ ├── Info.plist │ ├── Pods-PlayerDemo-Info.plist │ ├── Pods-PlayerDemo-acknowledgements.markdown │ ├── Pods-PlayerDemo-acknowledgements.plist │ ├── Pods-PlayerDemo-dummy.m │ ├── Pods-PlayerDemo-frameworks.sh │ ├── Pods-PlayerDemo-resources.sh │ ├── Pods-PlayerDemo-umbrella.h │ ├── Pods-PlayerDemo.debug.xcconfig │ ├── Pods-PlayerDemo.modulemap │ └── Pods-PlayerDemo.release.xcconfig │ ├── SDWebImage │ ├── Info.plist │ ├── SDWebImage-Info.plist │ ├── SDWebImage-dummy.m │ ├── SDWebImage-prefix.pch │ ├── SDWebImage-umbrella.h │ ├── SDWebImage.modulemap │ └── SDWebImage.xcconfig │ └── TZImagePickerController │ ├── Info.plist │ ├── TZImagePickerController-Info.plist │ ├── TZImagePickerController-dummy.m │ ├── TZImagePickerController-prefix.pch │ ├── TZImagePickerController-umbrella.h │ ├── TZImagePickerController.modulemap │ └── TZImagePickerController.xcconfig ├── README.md ├── WMPlayer.podspec └── WMPlayer ├── .DS_Store ├── EnterFullScreenTransition.h ├── EnterFullScreenTransition.m ├── ExitFullScreenTransition.h ├── ExitFullScreenTransition.m ├── FastForwardView.h ├── FastForwardView.m ├── FullScreenHelperViewController.h ├── FullScreenHelperViewController.m ├── LandscapeLeftViewController.h ├── LandscapeLeftViewController.m ├── LandscapeRightViewController.h ├── LandscapeRightViewController.m ├── WMLightView.h ├── WMLightView.m ├── WMPlayer.bundle ├── airplay@2x.png ├── airplay@3x.png ├── airplay_sel@2x.png ├── airplay_sel@3x.png ├── bottom_shadow.png ├── close@2x.png ├── close@3x.png ├── dot@2x.png ├── dot@3x.png ├── fullscreen@2x.png ├── fullscreen@3x.png ├── nonfullscreen@2x.png ├── nonfullscreen@3x.png ├── pip.jpg ├── play_new_brightness_day.png ├── play_new_brightness_day@2x.png ├── play_new_brightness_night.png ├── play_new_brightness_night@2x.png ├── player_ctrl_icon_next@2x.png ├── player_ctrl_icon_next@3x.png ├── player_ctrl_icon_pause@2x.png ├── player_ctrl_icon_pause@3x.png ├── player_ctrl_icon_play@2x.png ├── player_ctrl_icon_play@3x.png ├── player_icon_download@2x.png ├── player_icon_download@3x.png ├── player_icon_fullscreen@2x.png ├── player_icon_fullscreen@3x.png ├── player_icon_lock@2x.png ├── player_icon_lock@3x.png ├── player_icon_nav_back@2x.png ├── player_icon_nav_back@3x.png ├── player_icon_unlock@2x.png ├── player_icon_unlock@3x.png ├── progress_icon_l@2x.png ├── progress_icon_l@3x.png ├── progress_icon_r@2x.png ├── progress_icon_r@3x.png └── top_shadow.png ├── WMPlayer.h ├── WMPlayer.m ├── WMPlayerModel.h └── WMPlayerModel.m /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/.DS_Store -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.c linguist-language=Objective-C 2 | *.h linguist-language=Objective-C 3 | *.cpp linguist-language=Objective-C 4 | -------------------------------------------------------------------------------- /ObjectiveC.gitattributes: -------------------------------------------------------------------------------- 1 | # compare .pbxproj files as binary and always merge as union 2 | *.pbxproj binary -merge=union -------------------------------------------------------------------------------- /PlayerDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PlayerDemo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /PlayerDemo.xcodeproj/project.xcworkspace/xcuserdata/boai.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo.xcodeproj/project.xcworkspace/xcuserdata/boai.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /PlayerDemo.xcodeproj/project.xcworkspace/xcuserdata/wenming.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo.xcodeproj/project.xcworkspace/xcuserdata/wenming.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /PlayerDemo.xcodeproj/project.xcworkspace/xcuserdata/zhengwenming.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo.xcodeproj/project.xcworkspace/xcuserdata/zhengwenming.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /PlayerDemo.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | PlayerDemo.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 7 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /PlayerDemo.xcodeproj/xcuserdata/kefu.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | PlayerDemo.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | C4EC7F3B1DF4FCD2006E9820 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /PlayerDemo.xcodeproj/xcuserdata/zhengwenming.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | PlayerDemo.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 7 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /PlayerDemo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /PlayerDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /PlayerDemo.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /PlayerDemo.xcworkspace/xcuserdata/kefu.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo.xcworkspace/xcuserdata/kefu.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /PlayerDemo.xcworkspace/xcuserdata/zhengwenming.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo.xcworkspace/xcuserdata/zhengwenming.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /PlayerDemo/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/.DS_Store -------------------------------------------------------------------------------- /PlayerDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // WMPlayer 4 | // 5 | // Created by 郑文明 on 16/2/1. 6 | // Copyright © 2016年 郑文明. All rights reserved. 7 | // 8 | #import 9 | #import "RootTabBarController.h" 10 | 11 | 12 | @interface AppDelegate : UIResponder 13 | @property (strong, nonatomic) UIWindow *window; 14 | @property (copy, nonatomic) NSArray *sidArray; 15 | @property (copy, nonatomic) NSArray *videoArray; 16 | @property (strong, nonatomic) RootTabBarController *tabbar; 17 | 18 | @end 19 | 20 | 21 | -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/AppIcon.appiconset/Icon-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/AppIcon.appiconset/Icon-1.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/AppIcon.appiconset/Icon-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/AppIcon.appiconset/Icon-2.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/AppIcon.appiconset/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/AppIcon.appiconset/Icon.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/clear.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "clear@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/clear.imageset/clear@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/Other/clear.imageset/clear@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/close.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "close@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/close.imageset/close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/Other/close.imageset/close@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "logo.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/logo.imageset/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/Other/logo.imageset/logo.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/navigator_btn_back.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "navigator_btn_back.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "navigator_btn_back@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/navigator_btn_back.imageset/navigator_btn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/Other/navigator_btn_back.imageset/navigator_btn_back.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/navigator_btn_back.imageset/navigator_btn_back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/Other/navigator_btn_back.imageset/navigator_btn_back@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/play.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "play.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/play.imageset/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/Other/play.imageset/play.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/test.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "filename" : "placeholder.jpg", 5 | "idiom" : "universal", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "author" : "xcode", 19 | "version" : 1 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/test.imageset/placeholder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/Other/test.imageset/placeholder.jpg -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/video_play_btn_bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "video_play_btn_bg@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/Other/video_play_btn_bg.imageset/video_play_btn_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/Other/video_play_btn_bg.imageset/video_play_btn_bg@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/cellIcon/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/cellIcon/playcount.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "playcount.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/cellIcon/playcount.imageset/playcount.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/cellIcon/playcount.imageset/playcount.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/cellIcon/time.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "time.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/cellIcon/time.imageset/time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/cellIcon/time.imageset/time.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_bg.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tab_bg@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tab_bg@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_bg.imageset/tab_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_bg.imageset/tab_bg@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_bg.imageset/tab_bg@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_bg.imageset/tab_bg@3x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_live.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tab_live@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tab_live@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_live.imageset/tab_live@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_live.imageset/tab_live@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_live.imageset/tab_live@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_live.imageset/tab_live@3x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_live_p.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tab_live_p@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tab_live_p@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_live_p.imageset/tab_live_p@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_live_p.imageset/tab_live_p@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_live_p.imageset/tab_live_p@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_live_p.imageset/tab_live_p@3x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_me.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tab_me@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tab_me@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_me.imageset/tab_me@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_me.imageset/tab_me@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_me.imageset/tab_me@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_me.imageset/tab_me@3x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_me_p.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tab_me_p@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tab_me_p@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_me_p.imageset/tab_me_p@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_me_p.imageset/tab_me_p@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_me_p.imageset/tab_me_p@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_me_p.imageset/tab_me_p@3x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_room.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tab_room@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tab_room@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_room.imageset/tab_room@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_room.imageset/tab_room@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_room.imageset/tab_room@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_room.imageset/tab_room@3x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_room_p.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "tab_room_p@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "tab_room_p@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_room_p.imageset/tab_room_p@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_room_p.imageset/tab_room_p@2x.png -------------------------------------------------------------------------------- /PlayerDemo/Assets.xcassets/tabbarIcon/tab_room_p.imageset/tab_room_p@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/Assets.xcassets/tabbarIcon/tab_room_p.imageset/tab_room_p@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/EditVideoViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // EditVideoViewController.h 3 | // iShow 4 | // 5 | // Created by 胡阳阳 on 17/3/8. 6 | // 7 | // 8 | 9 | #import 10 | #import "BaseViewController.h" 11 | 12 | @interface EditVideoViewController : BaseViewController 13 | 14 | 15 | @property(nonatomic,retain) NSURL * videoURL; 16 | 17 | @property (nonatomic , strong) NSNumber* width; 18 | @property (nonatomic , strong) NSNumber* hight; 19 | @property (nonatomic , strong) NSNumber* bit; 20 | @property (nonatomic , strong) NSNumber* frameRate; 21 | @end 22 | -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/EditingPublishingDynamicViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // EditingPublishingDynamicViewController.h 3 | // iShow 4 | // 5 | // Created by 胡阳阳 on 17/3/18. 6 | // 7 | // 8 | 9 | #import 10 | #import "BaseViewController.h" 11 | 12 | @interface EditingPublishingDynamicViewController : BaseViewController 13 | @property(nonatomic,retain) NSURL * videoURL; 14 | @end 15 | -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/Filters/GPUImageBeautifyFilter.h: -------------------------------------------------------------------------------- 1 | // 2 | // GPUImageBeautifyFilter.h 3 | // BeautifyFaceDemo 4 | // 5 | // Created by guikz on 16/4/28. 6 | // Copyright © 2016年 guikz. All rights reserved. 7 | // 8 | 9 | #import "GPUImage.h" 10 | 11 | @class GPUImageCombinationFilter; 12 | 13 | @interface GPUImageBeautifyFilter : GPUImageFilterGroup { 14 | GPUImageBilateralFilter *bilateralFilter; 15 | GPUImageCannyEdgeDetectionFilter *cannyEdgeFilter; 16 | GPUImageCombinationFilter *combinationFilter; 17 | GPUImageHSBFilter *hsbFilter; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/Filters/LFGPUImageEmptyFilter.h: -------------------------------------------------------------------------------- 1 | //#import "GPUImageFilter.h" 2 | #import "GPUImage.h" 3 | @interface LFGPUImageEmptyFilter : GPUImageFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/MusicItemCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // MusicItemCollectionViewCell.h 3 | // addproject 4 | // 5 | // Created by 胡阳阳 on 17/3/3. 6 | // Copyright © 2017年 mac. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MusicItemCollectionViewCell : UICollectionViewCell 12 | @property (nonatomic,strong) UIImageView* iconImgView; 13 | @property (nonatomic,strong) UILabel* nameLabel; 14 | @property (nonatomic,strong) UIImageView* CheckMarkImgView; 15 | @end 16 | -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/UIView+Tools.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Tools.h 3 | // VideoRecord 4 | // 5 | // Created by guimingsu on 14-8-25. 6 | // Copyright (c) 2014年 guimingsu. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface UIView (Tools) 12 | -(void)makeCornerRadius:(float)radius borderColor:(UIColor*)bColor borderWidth:(float)bWidth; 13 | @end 14 | -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/UIView+Tools.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Tools.m 3 | // VideoRecord 4 | // 5 | // Created by guimingsu on 14-8-25. 6 | // Copyright (c) 2014年 guimingsu. All rights reserved. 7 | // 8 | 9 | #import "UIView+Tools.h" 10 | 11 | @implementation UIView (Tools) 12 | -(void)makeCornerRadius:(float)radius borderColor:(UIColor *)bColor borderWidth:(float)bWidth{ 13 | self.layer.borderWidth = bWidth; 14 | 15 | if (bColor != nil) { 16 | self.layer.borderColor = bColor.CGColor; 17 | } 18 | 19 | self.layer.cornerRadius = radius; 20 | self.layer.masksToBounds = YES; 21 | } 22 | 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/VideoRecordViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // VideoRecordViewController.h 3 | // iShow 4 | // 5 | // Created by 胡阳阳 on 17/3/8. 6 | // 7 | // 8 | 9 | #import 10 | #import "BaseViewController.h" 11 | 12 | @interface VideoRecordViewController : BaseViewController 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/96.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/BackToHome@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/BackToHome@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/BackToHome@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/BackToHome@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/BackToVideoCammer@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/BackToVideoCammer@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/BackToVideoCammer@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/BackToVideoCammer@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/LDWatermark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/LDWatermark.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/LDWatermark_副本.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/LDWatermark_副本.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/beautyOFF@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/beautyOFF@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/beautyOFF@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/beautyOFF@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/beautyON@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/beautyON@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/beautyON@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/beautyON@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/cammera@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/cammera@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/cammera@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/cammera@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/closeTabView@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/closeTabView@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/complete@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/complete@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/complete@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/complete@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/del@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/del@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/del@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/del@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/music.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/nilMusic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/nilMusic.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/record_ico_input_1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/record_ico_input_1@2x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/cammerImg/record_ico_input_1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/cammerImg/record_ico_input_1@3x.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/GPUImageAmatorkaFilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/GPUImageAmatorkaFilter.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/GPUImageMissEtikateFilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/GPUImageMissEtikateFilter.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/GPUImageSaturationFilter0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/GPUImageSaturationFilter0.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/GPUImageSaturationFilter2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/GPUImageSaturationFilter2.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/GPUImageSepiaFilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/GPUImageSepiaFilter.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/GPUImageSketchFilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/GPUImageSketchFilter.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/GPUImageSoftEleganceFilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/GPUImageSoftEleganceFilter.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/GPUImageToonFilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/GPUImageToonFilter.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/LFGPUImageEmptyFilter.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/LFGPUImageEmptyFilter.jpeg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/LFGPUImageEmptyFilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/LFGPUImageEmptyFilter.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/lookup_amatorka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/lookup_amatorka.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/lookup_miss_etikate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/lookup_miss_etikate.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/lookup_soft_elegance_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/lookup_soft_elegance_1.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/filterImage/lookup_soft_elegance_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/filterImage/lookup_soft_elegance_2.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Again/audio548.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Again/audio548.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Again/icon548.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Again/icon548.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Candy★Night/audio547.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Candy★Night/audio547.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Candy★Night/icon547.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Candy★Night/icon547.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Dragostea Din Teï/audio531.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Dragostea Din Teï/audio531.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Dragostea Din Teï/icon531.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Dragostea Din Teï/icon531.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Glad You Came/audio539.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Glad You Came/audio539.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Glad You Came/icon539.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Glad You Came/icon539.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Grass Studio/audio533.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Grass Studio/audio533.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Grass Studio/icon533.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Grass Studio/icon533.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/No Limit/audio529.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/No Limit/audio529.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/No Limit/icon529.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/No Limit/icon529.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Secret/audio534.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Secret/audio534.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Secret/icon534.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Secret/icon534.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Show Me Your Bba Sae/audio546.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Show Me Your Bba Sae/audio546.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/Show Me Your Bba Sae/icon546.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/Show Me Your Bba Sae/icon546.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/WHISTLE/audio535.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/WHISTLE/audio535.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/WHISTLE/icon535.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/WHISTLE/icon535.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/We Don't Talk Anymore/audio541.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/We Don't Talk Anymore/audio541.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/We Don't Talk Anymore/icon541.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/We Don't Talk Anymore/icon541.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/music1.json: -------------------------------------------------------------------------------- 1 | { 2 | "music": [{ 3 | "resourceUrl": "music/Athena", 4 | "id": 1, 5 | "name": "Athena" 6 | }] 7 | } -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/减肥/audio540.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/减肥/audio540.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/减肥/icon540.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/减肥/icon540.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/刀剑如梦/audio538.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/刀剑如梦/audio538.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/刀剑如梦/icon538.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/刀剑如梦/icon538.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/北京小妞/audio537.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/北京小妞/audio537.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/北京小妞/icon537.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/北京小妞/icon537.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/叫我女王/audio542.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/叫我女王/audio542.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/叫我女王/icon542.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/叫我女王/icon542.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/可惜不是你/audio543.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/可惜不是你/audio543.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/可惜不是你/icon543.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/可惜不是你/icon543.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/岁月神偷/audio544.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/岁月神偷/audio544.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/岁月神偷/icon544.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/岁月神偷/icon544.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/我好想你/audio545.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/我好想你/audio545.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/我好想你/icon545.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/我好想你/icon545.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/皮皮虾我们走/audio530.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/皮皮虾我们走/audio530.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/皮皮虾我们走/icon530.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/皮皮虾我们走/icon530.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/稻香/audio536.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/稻香/audio536.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/稻香/icon536.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/稻香/icon536.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/还不是因为你长得不好看/audio532.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/还不是因为你长得不好看/audio532.mp3 -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/music/还不是因为你长得不好看/icon532.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/music/还不是因为你长得不好看/icon532.png -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers529.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers529.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers530.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers530.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers531.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers531.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers532.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers532.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers533.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers533.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers534.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers534.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers535.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers535.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers536.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers536.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers537.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers537.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers538.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers538.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers539.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers539.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers540.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers540.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers541.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers541.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers542.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers542.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers543.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers543.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers544.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers544.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers545.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers545.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers546.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers546.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers547.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers547.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers548.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers548.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers549.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers549.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers550.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers550.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers551.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers551.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers552.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers552.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers553.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers553.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers554.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers554.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers555.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers555.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers556.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers556.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers557.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers557.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers558.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers558.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers559.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers559.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers560.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers560.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers561.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers561.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers562.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers562.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers563.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers563.jpg -------------------------------------------------------------------------------- /PlayerDemo/CustomVideoCamera/stickers/stickers564.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/CustomVideoCamera/stickers/stickers564.jpg -------------------------------------------------------------------------------- /PlayerDemo/HomeVideoCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // HomeVideoCollectionViewCell.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2018/8/10. 6 | // Copyright © 2018年 DS-Team. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "VideoDataModel.h" 11 | #import "Masonry.h" 12 | 13 | @interface HomeVideoCollectionViewCell : UICollectionViewCell 14 | @property (nonatomic , strong) VideoDataModel* DataModel; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PlayerDemo/UITabBarController/RootTabBarController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RootTabBarController.h 3 | // WMVideoPlayer 4 | // 5 | // Created by 郑文明 on 15/12/14. 6 | // Copyright © 2015年 郑文明. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface RootTabBarController : UITabBarController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PlayerDemo/UITabBarController/WMTabBar.h: -------------------------------------------------------------------------------- 1 | // 2 | // WMTabBar.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2018/8/10. 6 | // Copyright © 2018年 DS-Team. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WMTabBar : UITabBar 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PlayerDemo/ViewControllers/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/ViewControllers/.DS_Store -------------------------------------------------------------------------------- /PlayerDemo/ViewControllers/BaseNavigationController.h: -------------------------------------------------------------------------------- 1 | /*! 2 | @header BaseNavigationController.h 3 | 4 | @abstract 作者Github地址:https://github.com/zhengwenming 5 | 作者CSDN博客地址:http://blog.csdn.net/wenmingzheng 6 | 7 | @author Created by zhengwenming on 16/1/19 8 | 9 | @version 1.00 16/1/19 Creation(版本信息) 10 | 11 | Copyright © 2016年 郑文明. All rights reserved. 12 | */ 13 | 14 | #import 15 | #import "BaseViewController.h" 16 | 17 | @interface BaseNavigationController : UINavigationController 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /PlayerDemo/ViewControllers/BaseViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // BaseViewController.h 3 | // WMPlayer 4 | // 5 | // Created by 郑文明 on 16/3/15. 6 | // Copyright © 2016年 郑文明. All rights reserved. 7 | // 8 | 9 | #import 10 | @interface BaseViewController : UIViewController 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /PlayerDemo/ViewControllers/CameraViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // CameraViewController.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2018/8/10. 6 | // Copyright © 2018年 DS-Team. All rights reserved. 7 | // 8 | 9 | #import "BaseViewController.h" 10 | 11 | @interface CameraViewController : BaseViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PlayerDemo/ViewControllers/DetailViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // DetailViewController.h 3 | // WMVideoPlayer 4 | // 5 | // Created by 郑文明 on 16/2/1. 6 | // Copyright © 2016年 郑文明. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "BaseViewController.h" 11 | #import "WMPlayer.h" 12 | 13 | @interface DetailViewController : BaseViewController 14 | @property (nonatomic, retain)WMPlayerModel *playerModel; 15 | @property (nonatomic, strong)WMPlayer *wmPlayer; 16 | @end 17 | -------------------------------------------------------------------------------- /PlayerDemo/ViewControllers/SinaNewsViewController.h: -------------------------------------------------------------------------------- 1 | /*! 2 | @header SinaNewsViewController.h 3 | 4 | @abstract 作者Github地址:https://github.com/zhengwenming 5 | 作者CSDN博客地址:http://blog.csdn.net/wenmingzheng 6 | 7 | @author Created by zhengwenming on 16/1/19 8 | 9 | @version 1.00 16/1/19 Creation(版本信息) 10 | 11 | Copyright © 2016年 郑文明. All rights reserved. 12 | */ 13 | 14 | #import 15 | #import "BaseViewController.h" 16 | 17 | @interface SinaNewsViewController : UIViewController 18 | @property (strong, nonatomic) UITableView *table; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /PlayerDemo/ViewControllers/TencentNewsViewController.h: -------------------------------------------------------------------------------- 1 | /*! 2 | @header TencentNewsViewController.h 3 | 4 | @abstract 作者Github地址:https://github.com/zhengwenming 5 | 作者CSDN博客地址:http://blog.csdn.net/wenmingzheng 6 | 7 | @author Created by zhengwenming on 16/1/19 8 | 9 | @version 1.00 16/1/19 Creation(版本信息) 10 | 11 | Copyright © 2016年 郑文明. All rights reserved. 12 | */ 13 | 14 | #import 15 | #import "BaseViewController.h" 16 | 17 | @interface TencentNewsViewController : UIViewController 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /PlayerDemo/ViewControllers/VCRotateViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // VCRotateViewController.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2020/6/3. 6 | // Copyright © 2020 DS-Team. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "BaseViewController.h" 11 | #import "WMPlayer.h" 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface VCRotateViewController : BaseViewController 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /PlayerDemo/gzh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/PlayerDemo/gzh.jpg -------------------------------------------------------------------------------- /PlayerDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // WMPlayer 4 | // 5 | // Created by 郑文明 on 16/2/1. 6 | // Copyright © 2016年 郑文明. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Pods/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/.DS_Store -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Resources/lookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/GPUImage/framework/Resources/lookup.png -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Resources/lookup_amatorka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/GPUImage/framework/Resources/lookup_amatorka.png -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Resources/lookup_miss_etikate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/GPUImage/framework/Resources/lookup_miss_etikate.png -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Resources/lookup_soft_elegance_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/GPUImage/framework/Resources/lookup_soft_elegance_1.png -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Resources/lookup_soft_elegance_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/GPUImage/framework/Resources/lookup_soft_elegance_2.png -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImage3x3ConvolutionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | /** Runs a 3x3 convolution kernel against the image 4 | */ 5 | @interface GPUImage3x3ConvolutionFilter : GPUImage3x3TextureSamplingFilter 6 | { 7 | GLint convolutionMatrixUniform; 8 | } 9 | 10 | /** Convolution kernel to run against the image 11 | 12 | The convolution kernel is a 3x3 matrix of values to apply to the pixel and its 8 surrounding pixels. 13 | The matrix is specified in row-major order, with the top left pixel being one.one and the bottom right three.three 14 | If the values in the matrix don't add up to 1.0, the image could be brightened or darkened. 15 | */ 16 | @property(readwrite, nonatomic) GPUMatrix3x3 convolutionKernel; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImage3x3TextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | extern NSString *const kGPUImageNearbyTexelSamplingVertexShaderString; 4 | 5 | @interface GPUImage3x3TextureSamplingFilter : GPUImageFilter 6 | { 7 | GLint texelWidthUniform, texelHeightUniform; 8 | 9 | CGFloat texelWidth, texelHeight; 10 | BOOL hasOverriddenImageSizeFactor; 11 | } 12 | 13 | // The texel width and height determines how far out to sample from this texel. By default, this is the normalized width of a pixel, but this can be overridden for different effects. 14 | @property(readwrite, nonatomic) CGFloat texelWidth; 15 | @property(readwrite, nonatomic) CGFloat texelHeight; 16 | 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageAdaptiveThresholdFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @interface GPUImageAdaptiveThresholdFilter : GPUImageFilterGroup 4 | 5 | /** A multiplier for the background averaging blur radius in pixels, with a default of 4 6 | */ 7 | @property(readwrite, nonatomic) CGFloat blurRadiusInPixels; 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageAddBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageAddBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageAlphaBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageAlphaBlendFilter : GPUImageTwoInputFilter 4 | { 5 | GLint mixUniform; 6 | } 7 | 8 | // Mix ranges from 0.0 (only image 1) to 1.0 (only image 2), with 1.0 as the normal level 9 | @property(readwrite, nonatomic) CGFloat mix; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageAmatorkaFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImagePicture; 4 | 5 | /** A photo filter based on Photoshop action by Amatorka 6 | http://amatorka.deviantart.com/art/Amatorka-Action-2-121069631 7 | */ 8 | 9 | // Note: If you want to use this effect you have to add lookup_amatorka.png 10 | // from Resources folder to your application bundle. 11 | 12 | @interface GPUImageAmatorkaFilter : GPUImageFilterGroup 13 | { 14 | GPUImagePicture *lookupImageSource; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageAverageColor.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | extern NSString *const kGPUImageColorAveragingVertexShaderString; 4 | 5 | @interface GPUImageAverageColor : GPUImageFilter 6 | { 7 | GLint texelWidthUniform, texelHeightUniform; 8 | 9 | NSUInteger numberOfStages; 10 | 11 | GLubyte *rawImagePixels; 12 | CGSize finalStageSize; 13 | } 14 | 15 | // This block is called on the completion of color averaging for a frame 16 | @property(nonatomic, copy) void(^colorAverageProcessingFinishedBlock)(CGFloat redComponent, CGFloat greenComponent, CGFloat blueComponent, CGFloat alphaComponent, CMTime frameTime); 17 | 18 | - (void)extractAverageColorAtFrameTime:(CMTime)frameTime; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageAverageLuminanceThresholdFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @interface GPUImageAverageLuminanceThresholdFilter : GPUImageFilterGroup 4 | 5 | // This is multiplied by the continually calculated average image luminosity to arrive at the final threshold. Default is 1.0. 6 | @property(readwrite, nonatomic) CGFloat thresholdMultiplier; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageBilateralFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageGaussianBlurFilter.h" 2 | 3 | @interface GPUImageBilateralFilter : GPUImageGaussianBlurFilter 4 | { 5 | CGFloat firstDistanceNormalizationFactorUniform; 6 | CGFloat secondDistanceNormalizationFactorUniform; 7 | } 8 | // A normalization factor for the distance between central color and sample color. 9 | @property(nonatomic, readwrite) CGFloat distanceNormalizationFactor; 10 | @end 11 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageBoxBlurFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageGaussianBlurFilter.h" 2 | 3 | /** A hardware-accelerated box blur of an image 4 | */ 5 | @interface GPUImageBoxBlurFilter : GPUImageGaussianBlurFilter 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageBrightnessFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageBrightnessFilter : GPUImageFilter 4 | { 5 | GLint brightnessUniform; 6 | } 7 | 8 | // Brightness ranges from -1.0 to 1.0, with 0.0 as the normal level 9 | @property(readwrite, nonatomic) CGFloat brightness; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageBuffer.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageBuffer : GPUImageFilter 4 | { 5 | NSMutableArray *bufferedFramebuffers; 6 | } 7 | 8 | @property(readwrite, nonatomic) NSUInteger bufferSize; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageBulgeDistortionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /// Creates a bulge distortion on the image 4 | @interface GPUImageBulgeDistortionFilter : GPUImageFilter 5 | { 6 | GLint aspectRatioUniform, radiusUniform, centerUniform, scaleUniform; 7 | } 8 | 9 | /// The center about which to apply the distortion, with a default of (0.5, 0.5) 10 | @property(readwrite, nonatomic) CGPoint center; 11 | /// The radius of the distortion, ranging from 0.0 to 1.0, with a default of 0.25 12 | @property(readwrite, nonatomic) CGFloat radius; 13 | /// The amount of distortion to apply, from -1.0 to 1.0, with a default of 0.5 14 | @property(readwrite, nonatomic) CGFloat scale; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageCGAColorspaceFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageCGAColorspaceFilter : GPUImageFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageClosingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageErosionFilter; 4 | @class GPUImageDilationFilter; 5 | 6 | // A filter that first performs a dilation on the red channel of an image, followed by an erosion of the same radius. 7 | // This helps to filter out smaller dark elements. 8 | 9 | @interface GPUImageClosingFilter : GPUImageFilterGroup 10 | { 11 | GPUImageErosionFilter *erosionFilter; 12 | GPUImageDilationFilter *dilationFilter; 13 | } 14 | 15 | @property(readwrite, nonatomic) CGFloat verticalTexelSpacing, horizontalTexelSpacing; 16 | 17 | - (id)initWithRadius:(NSUInteger)radius; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageColorBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageColorBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageColorBurnBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | /** Applies a color burn blend of two images 4 | */ 5 | @interface GPUImageColorBurnBlendFilter : GPUImageTwoInputFilter 6 | { 7 | } 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageColorDodgeBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | /** Applies a color dodge blend of two images 4 | */ 5 | @interface GPUImageColorDodgeBlendFilter : GPUImageTwoInputFilter 6 | { 7 | } 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageColorInvertFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageColorInvertFilter : GPUImageFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageColorMatrixFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Transforms the colors of an image by applying a matrix to them 4 | */ 5 | @interface GPUImageColorMatrixFilter : GPUImageFilter 6 | { 7 | GLint colorMatrixUniform; 8 | GLint intensityUniform; 9 | } 10 | 11 | /** A 4x4 matrix used to transform each color in an image 12 | */ 13 | @property(readwrite, nonatomic) GPUMatrix4x4 colorMatrix; 14 | 15 | /** The degree to which the new transformed color replaces the original color for each pixel 16 | */ 17 | @property(readwrite, nonatomic) CGFloat intensity; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageColorPackingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageColorPackingFilter : GPUImageFilter 4 | { 5 | GLint texelWidthUniform, texelHeightUniform; 6 | 7 | CGFloat texelWidth, texelHeight; 8 | } 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageContrastFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Adjusts the contrast of the image 4 | */ 5 | @interface GPUImageContrastFilter : GPUImageFilter 6 | { 7 | GLint contrastUniform; 8 | } 9 | 10 | /** Contrast ranges from 0.0 to 4.0 (max contrast), with 1.0 as the normal level 11 | */ 12 | @property(readwrite, nonatomic) CGFloat contrast; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageCropFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageCropFilter : GPUImageFilter 4 | { 5 | GLfloat cropTextureCoordinates[8]; 6 | } 7 | 8 | // The crop region is the rectangle within the image to crop. It is normalized to a coordinate space from 0.0 to 1.0, with 0.0, 0.0 being the upper left corner of the image 9 | @property(readwrite, nonatomic) CGRect cropRegion; 10 | 11 | // Initialization and teardown 12 | - (id)initWithCropRegion:(CGRect)newCropRegion; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageCrosshatchFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageCrosshatchFilter : GPUImageFilter 4 | { 5 | GLint crossHatchSpacingUniform, lineWidthUniform; 6 | } 7 | // The fractional width of the image to use as the spacing for the crosshatch. The default is 0.03. 8 | @property(readwrite, nonatomic) CGFloat crossHatchSpacing; 9 | 10 | // A relative width for the crosshatch lines. The default is 0.003. 11 | @property(readwrite, nonatomic) CGFloat lineWidth; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageDarkenBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageDarkenBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageDifferenceBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageDifferenceBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageDirectionalSobelEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageDirectionalSobelEdgeDetectionFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageDissolveBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageDissolveBlendFilter : GPUImageTwoInputFilter 4 | { 5 | GLint mixUniform; 6 | } 7 | 8 | // Mix ranges from 0.0 (only image 1) to 1.0 (only image 2), with 0.5 (half of either) as the normal level 9 | @property(readwrite, nonatomic) CGFloat mix; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageDivideBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageDivideBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageEmbossFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3ConvolutionFilter.h" 2 | 3 | @interface GPUImageEmbossFilter : GPUImage3x3ConvolutionFilter 4 | 5 | // The strength of the embossing, from 0.0 to 4.0, with 1.0 as the normal level 6 | @property(readwrite, nonatomic) CGFloat intensity; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageErosionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | // For each pixel, this sets it to the minimum value of the red channel in a rectangular neighborhood extending out dilationRadius pixels from the center. 4 | // This extends out dark features, and is most commonly used with black-and-white thresholded images. 5 | 6 | @interface GPUImageErosionFilter : GPUImageTwoPassTextureSamplingFilter 7 | 8 | // Acceptable values for erosionRadius, which sets the distance in pixels to sample out from the center, are 1, 2, 3, and 4. 9 | - (id)initWithRadius:(NSUInteger)erosionRadius; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageExclusionBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageExclusionBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageExposureFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageExposureFilter : GPUImageFilter 4 | { 5 | GLint exposureUniform; 6 | } 7 | 8 | // Exposure ranges from -10.0 to 10.0, with 0.0 as the normal level 9 | @property(readwrite, nonatomic) CGFloat exposure; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageFalseColorFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageFalseColorFilter : GPUImageFilter 4 | { 5 | GLint firstColorUniform, secondColorUniform; 6 | } 7 | 8 | // The first and second colors specify what colors replace the dark and light areas of the image, respectively. The defaults are (0.0, 0.0, 0.5) amd (1.0, 0.0, 0.0). 9 | @property(readwrite, nonatomic) GPUVector4 firstColor; 10 | @property(readwrite, nonatomic) GPUVector4 secondColor; 11 | 12 | - (void)setFirstColorRed:(GLfloat)redComponent green:(GLfloat)greenComponent blue:(GLfloat)blueComponent; 13 | - (void)setSecondColorRed:(GLfloat)redComponent green:(GLfloat)greenComponent blue:(GLfloat)blueComponent; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageFilterGroup.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageOutput.h" 2 | #import "GPUImageFilter.h" 3 | 4 | @interface GPUImageFilterGroup : GPUImageOutput 5 | { 6 | NSMutableArray *filters; 7 | BOOL isEndProcessing; 8 | } 9 | 10 | @property(readwrite, nonatomic, strong) GPUImageOutput *terminalFilter; 11 | @property(readwrite, nonatomic, strong) NSArray *initialFilters; 12 | @property(readwrite, nonatomic, strong) GPUImageOutput *inputFilterToIgnoreForUpdates; 13 | 14 | // Filter management 15 | - (void)addFilter:(GPUImageOutput *)newFilter; 16 | - (GPUImageOutput *)filterAtIndex:(NSUInteger)filterIndex; 17 | - (NSUInteger)filterCount; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageFramebufferCache.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import "GPUImageFramebuffer.h" 4 | 5 | @interface GPUImageFramebufferCache : NSObject 6 | 7 | // Framebuffer management 8 | - (GPUImageFramebuffer *)fetchFramebufferForSize:(CGSize)framebufferSize textureOptions:(GPUTextureOptions)textureOptions onlyTexture:(BOOL)onlyTexture; 9 | - (GPUImageFramebuffer *)fetchFramebufferForSize:(CGSize)framebufferSize onlyTexture:(BOOL)onlyTexture; 10 | - (void)returnFramebufferToCache:(GPUImageFramebuffer *)framebuffer; 11 | - (void)purgeAllUnassignedFramebuffers; 12 | - (void)addFramebufferToActiveImageCaptureList:(GPUImageFramebuffer *)framebuffer; 13 | - (void)removeFramebufferFromActiveImageCaptureList:(GPUImageFramebuffer *)framebuffer; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageGammaFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageGammaFilter : GPUImageFilter 4 | { 5 | GLint gammaUniform; 6 | } 7 | 8 | // Gamma ranges from 0.0 to 3.0, with 1.0 as the normal level 9 | @property(readwrite, nonatomic) CGFloat gamma; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageGaussianBlurPositionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | /** A more generalized 9x9 Gaussian blur filter 4 | */ 5 | @interface GPUImageGaussianBlurPositionFilter : GPUImageTwoPassTextureSamplingFilter 6 | { 7 | GLint blurCenterUniform, blurRadiusUniform, aspectRatioUniform; 8 | } 9 | 10 | /** A multiplier for the blur size, ranging from 0.0 on up, with a default of 1.0 11 | */ 12 | @property (readwrite, nonatomic) CGFloat blurSize; 13 | 14 | /** Center for the blur, defaults to 0.5, 0.5 15 | */ 16 | @property (readwrite, nonatomic) CGPoint blurCenter; 17 | 18 | /** Radius for the blur, defaults to 1.0 19 | */ 20 | @property (readwrite, nonatomic) CGFloat blurRadius; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageGlassSphereFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSphereRefractionFilter.h" 2 | 3 | @interface GPUImageGlassSphereFilter : GPUImageSphereRefractionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageGrayscaleFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | extern NSString *const kGPUImageLuminanceFragmentShaderString; 4 | 5 | /** Converts an image to grayscale (a slightly faster implementation of the saturation filter, without the ability to vary the color contribution) 6 | */ 7 | @interface GPUImageGrayscaleFilter : GPUImageFilter 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageHalftoneFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImagePixellateFilter.h" 2 | 3 | @interface GPUImageHalftoneFilter : GPUImagePixellateFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageHardLightBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageHardLightBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageHazeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /* 4 | * The haze filter can be used to add or remove haze (similar to a UV filter) 5 | * 6 | * @author Alaric Cole 7 | * @creationDate 03/10/12 8 | * 9 | */ 10 | 11 | /** The haze filter can be used to add or remove haze 12 | 13 | This is similar to a UV filter 14 | */ 15 | @interface GPUImageHazeFilter : GPUImageFilter 16 | { 17 | GLint distanceUniform; 18 | GLint slopeUniform; 19 | } 20 | 21 | /** Strength of the color applied. Default 0. Values between -.3 and .3 are best 22 | */ 23 | @property(readwrite, nonatomic) CGFloat distance; 24 | 25 | /** Amount of color change. Default 0. Values between -.3 and .3 are best 26 | */ 27 | @property(readwrite, nonatomic) CGFloat slope; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageHighPassFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | #import "GPUImageLowPassFilter.h" 3 | #import "GPUImageDifferenceBlendFilter.h" 4 | 5 | @interface GPUImageHighPassFilter : GPUImageFilterGroup 6 | { 7 | GPUImageLowPassFilter *lowPassFilter; 8 | GPUImageDifferenceBlendFilter *differenceBlendFilter; 9 | } 10 | 11 | // This controls the degree by which the previous accumulated frames are blended and then subtracted from the current one. This ranges from 0.0 to 1.0, with a default of 0.5. 12 | @property(readwrite, nonatomic) CGFloat filterStrength; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageHighlightShadowFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageHighlightShadowFilter : GPUImageFilter 4 | { 5 | GLint shadowsUniform, highlightsUniform; 6 | } 7 | 8 | /** 9 | * 0 - 1, increase to lighten shadows. 10 | * @default 0 11 | */ 12 | @property(readwrite, nonatomic) CGFloat shadows; 13 | 14 | /** 15 | * 0 - 1, decrease to darken highlights. 16 | * @default 1 17 | */ 18 | @property(readwrite, nonatomic) CGFloat highlights; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageHistogramGenerator.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageHistogramGenerator : GPUImageFilter 4 | { 5 | GLint backgroundColorUniform; 6 | } 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageHueBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageHueBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageHueFilter.h: -------------------------------------------------------------------------------- 1 | 2 | #import "GPUImageFilter.h" 3 | 4 | @interface GPUImageHueFilter : GPUImageFilter 5 | { 6 | GLint hueAdjustUniform; 7 | 8 | } 9 | @property (nonatomic, readwrite) CGFloat hue; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageJFAVoronoiFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageJFAVoronoiFilter : GPUImageFilter 4 | { 5 | GLuint secondFilterOutputTexture; 6 | GLuint secondFilterFramebuffer; 7 | 8 | 9 | GLint sampleStepUniform; 10 | GLint sizeUniform; 11 | NSUInteger numPasses; 12 | 13 | } 14 | 15 | @property (nonatomic, readwrite) CGSize sizeInPixels; 16 | 17 | @end -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageKuwaharaFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Kuwahara image abstraction, drawn from the work of Kyprianidis, et. al. in their publication "Anisotropic Kuwahara Filtering on the GPU" within the GPU Pro collection. This produces an oil-painting-like image, but it is extremely computationally expensive, so it can take seconds to render a frame on an iPad 2. This might be best used for still images. 4 | */ 5 | @interface GPUImageKuwaharaFilter : GPUImageFilter 6 | { 7 | GLint radiusUniform; 8 | } 9 | 10 | /// The radius to sample from when creating the brush-stroke effect, with a default of 3. The larger the radius, the slower the filter. 11 | @property(readwrite, nonatomic) NSUInteger radius; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageKuwaharaRadius3Filter.h: -------------------------------------------------------------------------------- 1 | // 2 | // GPUImageKuwaharaRadius3Filter.h 3 | 4 | #import "GPUImageFilter.h" 5 | 6 | @interface GPUImageKuwaharaRadius3Filter : GPUImageFilter 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLanczosResamplingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | @interface GPUImageLanczosResamplingFilter : GPUImageTwoPassTextureSamplingFilter 4 | 5 | @property(readwrite, nonatomic) CGSize originalImageSize; 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLaplacianFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3ConvolutionFilter.h" 2 | 3 | @interface GPUImageLaplacianFilter : GPUImage3x3ConvolutionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLightenBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | /// Blends two images by taking the maximum value of each color component between the images 4 | @interface GPUImageLightenBlendFilter : GPUImageTwoInputFilter 5 | { 6 | } 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLineGenerator.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageLineGenerator : GPUImageFilter 4 | { 5 | GLint lineWidthUniform, lineColorUniform; 6 | GLfloat *lineCoordinates; 7 | } 8 | 9 | // The width of the displayed lines, in pixels. The default is 1. 10 | @property(readwrite, nonatomic) CGFloat lineWidth; 11 | 12 | // The color of the lines is specified using individual red, green, and blue components (normalized to 1.0). The default is green: (0.0, 1.0, 0.0). 13 | - (void)setLineColorRed:(GLfloat)redComponent green:(GLfloat)greenComponent blue:(GLfloat)blueComponent; 14 | 15 | // Rendering 16 | - (void)renderLinesFromArray:(GLfloat *)lineSlopeAndIntercepts count:(NSUInteger)numberOfLines frameTime:(CMTime)frameTime; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLinearBurnBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageLinearBurnBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLocalBinaryPatternFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageLocalBinaryPatternFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLowPassFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | #import "GPUImageBuffer.h" 3 | #import "GPUImageDissolveBlendFilter.h" 4 | 5 | @interface GPUImageLowPassFilter : GPUImageFilterGroup 6 | { 7 | GPUImageBuffer *bufferFilter; 8 | GPUImageDissolveBlendFilter *dissolveBlendFilter; 9 | } 10 | 11 | // This controls the degree by which the previous accumulated frames are blended with the current one. This ranges from 0.0 to 1.0, with a default of 0.5. 12 | @property(readwrite, nonatomic) CGFloat filterStrength; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLuminanceRangeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageLuminanceRangeFilter : GPUImageFilter 4 | { 5 | GLint rangeReductionUniform; 6 | } 7 | 8 | /** The degree to reduce the luminance range, from 0.0 to 1.0. Default is 0.6. 9 | */ 10 | @property(readwrite, nonatomic) CGFloat rangeReductionFactor; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLuminanceThresholdFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Pixels with a luminance above the threshold will appear white, and those below will be black 4 | */ 5 | @interface GPUImageLuminanceThresholdFilter : GPUImageFilter 6 | { 7 | GLint thresholdUniform; 8 | } 9 | 10 | /** Anything above this luminance will be white, and anything below black. Ranges from 0.0 to 1.0, with 0.5 as the default 11 | */ 12 | @property(readwrite, nonatomic) CGFloat threshold; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLuminosity.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageAverageColor.h" 2 | 3 | @interface GPUImageLuminosity : GPUImageAverageColor 4 | { 5 | GLProgram *secondFilterProgram; 6 | GLint secondFilterPositionAttribute, secondFilterTextureCoordinateAttribute; 7 | GLint secondFilterInputTextureUniform, secondFilterInputTextureUniform2; 8 | GLint secondFilterTexelWidthUniform, secondFilterTexelHeightUniform; 9 | } 10 | 11 | // This block is called on the completion of color averaging for a frame 12 | @property(nonatomic, copy) void(^luminosityProcessingFinishedBlock)(CGFloat luminosity, CMTime frameTime); 13 | 14 | - (void)extractLuminosityAtFrameTime:(CMTime)frameTime; 15 | - (void)initializeSecondaryAttributes; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageLuminosityBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageLuminosityBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageMaskFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageMaskFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageMedianFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageMedianFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageMissEtikateFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImagePicture; 4 | 5 | /** A photo filter based on Photoshop action by Miss Etikate: 6 | http://miss-etikate.deviantart.com/art/Photoshop-Action-15-120151961 7 | */ 8 | 9 | // Note: If you want to use this effect you have to add lookup_miss_etikate.png 10 | // from Resources folder to your application bundle. 11 | 12 | @interface GPUImageMissEtikateFilter : GPUImageFilterGroup 13 | { 14 | GPUImagePicture *lookupImageSource; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageMonochromeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageMonochromeFilter : GPUImageFilter 4 | { 5 | GLint intensityUniform, filterColorUniform; 6 | } 7 | 8 | @property(readwrite, nonatomic) CGFloat intensity; 9 | @property(readwrite, nonatomic) GPUVector4 color; 10 | 11 | - (void)setColorRed:(GLfloat)redComponent green:(GLfloat)greenComponent blue:(GLfloat)blueComponent; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageMotionBlurFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageMotionBlurFilter : GPUImageFilter 4 | 5 | /** A multiplier for the blur size, ranging from 0.0 on up, with a default of 1.0 6 | */ 7 | @property (readwrite, nonatomic) CGFloat blurSize; 8 | 9 | /** The angular direction of the blur, in degrees. 0 degrees by default 10 | */ 11 | @property (readwrite, nonatomic) CGFloat blurAngle; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageMovieComposition.h: -------------------------------------------------------------------------------- 1 | // 2 | // GPUImageMovieComposition.h 3 | // Givit 4 | // 5 | // Created by Sean Meiners on 2013/01/25. 6 | // 7 | // 8 | 9 | #import "GPUImageMovie.h" 10 | 11 | @interface GPUImageMovieComposition : GPUImageMovie 12 | 13 | @property (readwrite, retain) AVComposition *compositon; 14 | @property (readwrite, retain) AVVideoComposition *videoComposition; 15 | @property (readwrite, retain) AVAudioMix *audioMix; 16 | 17 | - (id)initWithComposition:(AVComposition*)compositon 18 | andVideoComposition:(AVVideoComposition*)videoComposition 19 | andAudioMix:(AVAudioMix*)audioMix; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageMultiplyBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageMultiplyBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageNobleCornerDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageHarrisCornerDetectionFilter.h" 2 | 3 | /** Noble corner detector 4 | 5 | This is the Noble variant on the Harris detector, from 6 | Alison Noble, "Descriptions of Image Surfaces", PhD thesis, Department of Engineering Science, Oxford University 1989, p45. 7 | */ 8 | 9 | 10 | @interface GPUImageNobleCornerDetectionFilter : GPUImageHarrisCornerDetectionFilter 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageNonMaximumSuppressionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageNonMaximumSuppressionFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageNormalBlendFilter.h: -------------------------------------------------------------------------------- 1 | // Created by Jorge Garcia on 9/5/12. 2 | // 3 | 4 | #import "GPUImageTwoInputFilter.h" 5 | 6 | @interface GPUImageNormalBlendFilter : GPUImageTwoInputFilter 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageOpacityFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageOpacityFilter : GPUImageFilter 4 | { 5 | GLint opacityUniform; 6 | } 7 | 8 | // Opacity ranges from 0.0 to 1.0, with 1.0 as the normal setting 9 | @property(readwrite, nonatomic) CGFloat opacity; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageOpeningFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageErosionFilter; 4 | @class GPUImageDilationFilter; 5 | 6 | // A filter that first performs an erosion on the red channel of an image, followed by a dilation of the same radius. 7 | // This helps to filter out smaller bright elements. 8 | 9 | @interface GPUImageOpeningFilter : GPUImageFilterGroup 10 | { 11 | GPUImageErosionFilter *erosionFilter; 12 | GPUImageDilationFilter *dilationFilter; 13 | } 14 | 15 | @property(readwrite, nonatomic) CGFloat verticalTexelSpacing, horizontalTexelSpacing; 16 | 17 | - (id)initWithRadius:(NSUInteger)radius; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageOverlayBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageOverlayBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePerlinNoiseFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImagePerlinNoiseFilter : GPUImageFilter 4 | { 5 | GLint scaleUniform, colorStartUniform, colorFinishUniform; 6 | } 7 | 8 | @property (readwrite, nonatomic) GPUVector4 colorStart; 9 | @property (readwrite, nonatomic) GPUVector4 colorFinish; 10 | 11 | @property (readwrite, nonatomic) float scale; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePinchDistortionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Creates a pinch distortion of the image 4 | */ 5 | @interface GPUImagePinchDistortionFilter : GPUImageFilter 6 | { 7 | GLint aspectRatioUniform, radiusUniform, centerUniform, scaleUniform; 8 | } 9 | 10 | /** The center about which to apply the distortion, with a default of (0.5, 0.5) 11 | */ 12 | @property(readwrite, nonatomic) CGPoint center; 13 | /** The radius of the distortion, ranging from 0.0 to 2.0, with a default of 1.0 14 | */ 15 | @property(readwrite, nonatomic) CGFloat radius; 16 | /** The amount of distortion to apply, from -2.0 to 2.0, with a default of 0.5 17 | */ 18 | @property(readwrite, nonatomic) CGFloat scale; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePixellateFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImagePixellateFilter : GPUImageFilter 4 | { 5 | GLint fractionalWidthOfAPixelUniform, aspectRatioUniform; 6 | } 7 | 8 | // The fractional width of the image to use as a size for the pixels in the resulting image. Values below one pixel width in the source image are ignored. 9 | @property(readwrite, nonatomic) CGFloat fractionalWidthOfAPixel; 10 | 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePixellatePositionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImagePixellatePositionFilter : GPUImageFilter 4 | { 5 | GLint fractionalWidthOfAPixelUniform, aspectRatioUniform, centerUniform, radiusUniform; 6 | } 7 | 8 | // The fractional width of the image to use as a size for the pixels in the resulting image. Values below one pixel width in the source image are ignored. 9 | @property(readwrite, nonatomic) CGFloat fractionalWidthOfAPixel; 10 | 11 | // the center point to start pixelation in texture coordinates, default 0.5, 0.5 12 | @property(readwrite, nonatomic) CGPoint center; 13 | 14 | // the radius (0.0 - 1.0) in which to pixelate, default 1.0 15 | @property(readwrite, nonatomic) CGFloat radius; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePoissonBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputCrossTextureSamplingFilter.h" 2 | #import "GPUImageFilterGroup.h" 3 | 4 | @interface GPUImagePoissonBlendFilter : GPUImageTwoInputCrossTextureSamplingFilter 5 | { 6 | GLint mixUniform; 7 | 8 | GPUImageFramebuffer *secondOutputFramebuffer; 9 | } 10 | 11 | // Mix ranges from 0.0 (only image 1) to 1.0 (only image 2 gradients), with 1.0 as the normal level 12 | @property(readwrite, nonatomic) CGFloat mix; 13 | 14 | // The number of times to propagate the gradients. 15 | // Crank this up to 100 or even 1000 if you want to get anywhere near convergence. Yes, this will be slow. 16 | @property(readwrite, nonatomic) NSUInteger numIterations; 17 | 18 | @end -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePolarPixellateFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImagePolarPixellateFilter : GPUImageFilter { 4 | GLint centerUniform, pixelSizeUniform; 5 | } 6 | 7 | // The center about which to apply the distortion, with a default of (0.5, 0.5) 8 | @property(readwrite, nonatomic) CGPoint center; 9 | // The amount of distortion to apply, from (-2.0, -2.0) to (2.0, 2.0), with a default of (0.05, 0.05) 10 | @property(readwrite, nonatomic) CGSize pixelSize; 11 | 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePolkaDotFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImagePixellateFilter.h" 2 | 3 | @interface GPUImagePolkaDotFilter : GPUImagePixellateFilter 4 | { 5 | GLint dotScalingUniform; 6 | } 7 | 8 | @property(readwrite, nonatomic) CGFloat dotScaling; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePosterizeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** This reduces the color dynamic range into the number of steps specified, leading to a cartoon-like simple shading of the image. 4 | */ 5 | @interface GPUImagePosterizeFilter : GPUImageFilter 6 | { 7 | GLint colorLevelsUniform; 8 | } 9 | 10 | /** The number of color levels to reduce the image space to. This ranges from 1 to 256, with a default of 10. 11 | */ 12 | @property(readwrite, nonatomic) NSUInteger colorLevels; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImagePrewittEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSobelEdgeDetectionFilter.h" 2 | 3 | @interface GPUImagePrewittEdgeDetectionFilter : GPUImageSobelEdgeDetectionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageRGBClosingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageRGBErosionFilter; 4 | @class GPUImageRGBDilationFilter; 5 | 6 | // A filter that first performs a dilation on each color channel of an image, followed by an erosion of the same radius. 7 | // This helps to filter out smaller dark elements. 8 | 9 | @interface GPUImageRGBClosingFilter : GPUImageFilterGroup 10 | { 11 | GPUImageRGBErosionFilter *erosionFilter; 12 | GPUImageRGBDilationFilter *dilationFilter; 13 | } 14 | 15 | - (id)initWithRadius:(NSUInteger)radius; 16 | 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageRGBDilationFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | // For each pixel, this sets it to the maximum value of each color channel in a rectangular neighborhood extending out dilationRadius pixels from the center. 4 | // This extends out brighter colors, and can be used for abstraction of color images. 5 | 6 | @interface GPUImageRGBDilationFilter : GPUImageTwoPassTextureSamplingFilter 7 | 8 | // Acceptable values for dilationRadius, which sets the distance in pixels to sample out from the center, are 1, 2, 3, and 4. 9 | - (id)initWithRadius:(NSUInteger)dilationRadius; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageRGBErosionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | // For each pixel, this sets it to the minimum value of each color channel in a rectangular neighborhood extending out dilationRadius pixels from the center. 4 | // This extends out dark features, and can be used for abstraction of color images. 5 | 6 | @interface GPUImageRGBErosionFilter : GPUImageTwoPassTextureSamplingFilter 7 | 8 | // Acceptable values for erosionRadius, which sets the distance in pixels to sample out from the center, are 1, 2, 3, and 4. 9 | - (id)initWithRadius:(NSUInteger)erosionRadius; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageRGBFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageRGBFilter : GPUImageFilter 4 | { 5 | GLint redUniform; 6 | GLint greenUniform; 7 | GLint blueUniform; 8 | } 9 | 10 | // Normalized values by which each color channel is multiplied. The range is from 0.0 up, with 1.0 as the default. 11 | @property (readwrite, nonatomic) CGFloat red; 12 | @property (readwrite, nonatomic) CGFloat green; 13 | @property (readwrite, nonatomic) CGFloat blue; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageRGBOpeningFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageRGBErosionFilter; 4 | @class GPUImageRGBDilationFilter; 5 | 6 | // A filter that first performs an erosion on each color channel of an image, followed by a dilation of the same radius. 7 | // This helps to filter out smaller bright elements. 8 | 9 | @interface GPUImageRGBOpeningFilter : GPUImageFilterGroup 10 | { 11 | GPUImageRGBErosionFilter *erosionFilter; 12 | GPUImageRGBDilationFilter *dilationFilter; 13 | } 14 | 15 | - (id)initWithRadius:(NSUInteger)radius; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSaturationBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageSaturationBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSaturationFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Adjusts the saturation of an image 4 | */ 5 | @interface GPUImageSaturationFilter : GPUImageFilter 6 | { 7 | GLint saturationUniform; 8 | } 9 | 10 | /** Saturation ranges from 0.0 (fully desaturated) to 2.0 (max saturation), with 1.0 as the normal level 11 | */ 12 | @property(readwrite, nonatomic) CGFloat saturation; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageScreenBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageScreenBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSepiaFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageColorMatrixFilter.h" 2 | 3 | /// Simple sepia tone filter 4 | @interface GPUImageSepiaFilter : GPUImageColorMatrixFilter 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSepiaFilter.m: -------------------------------------------------------------------------------- 1 | #import "GPUImageSepiaFilter.h" 2 | 3 | @implementation GPUImageSepiaFilter 4 | 5 | - (id)init; 6 | { 7 | if (!(self = [super init])) 8 | { 9 | return nil; 10 | } 11 | 12 | self.intensity = 1.0; 13 | self.colorMatrix = (GPUMatrix4x4){ 14 | {0.3588, 0.7044, 0.1368, 0.0}, 15 | {0.2990, 0.5870, 0.1140, 0.0}, 16 | {0.2392, 0.4696, 0.0912 ,0.0}, 17 | {0,0,0,1.0}, 18 | }; 19 | 20 | return self; 21 | } 22 | 23 | @end 24 | 25 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSharpenFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageSharpenFilter : GPUImageFilter 4 | { 5 | GLint sharpnessUniform; 6 | GLint imageWidthFactorUniform, imageHeightFactorUniform; 7 | } 8 | 9 | // Sharpness ranges from -4.0 to 4.0, with 0.0 as the normal level 10 | @property(readwrite, nonatomic) CGFloat sharpness; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageShiTomasiFeatureDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageHarrisCornerDetectionFilter.h" 2 | 3 | /** Shi-Tomasi feature detector 4 | 5 | This is the Shi-Tomasi feature detector, as described in 6 | J. Shi and C. Tomasi. Good features to track. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 593-600, June 1994. 7 | */ 8 | 9 | @interface GPUImageShiTomasiFeatureDetectionFilter : GPUImageHarrisCornerDetectionFilter 10 | 11 | // Compared to the Harris corner detector, the default sensitivity value for this detector is set to 1.5 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSingleComponentGaussianBlurFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageGaussianBlurFilter.h" 2 | 3 | // This filter merely performs the standard Gaussian blur on the red color channel (assuming a luminance image) 4 | 5 | @interface GPUImageSingleComponentGaussianBlurFilter : GPUImageGaussianBlurFilter 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSketchFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSobelEdgeDetectionFilter.h" 2 | 3 | /** Converts video to look like a sketch. 4 | 5 | This is just the Sobel edge detection filter with the colors inverted. 6 | */ 7 | @interface GPUImageSketchFilter : GPUImageSobelEdgeDetectionFilter 8 | { 9 | } 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSobelEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassFilter.h" 2 | 3 | @interface GPUImageSobelEdgeDetectionFilter : GPUImageTwoPassFilter 4 | { 5 | GLint texelWidthUniform, texelHeightUniform, edgeStrengthUniform; 6 | BOOL hasOverriddenImageSizeFactor; 7 | } 8 | 9 | // The texel width and height factors tweak the appearance of the edges. By default, they match the inverse of the filter size in pixels 10 | @property(readwrite, nonatomic) CGFloat texelWidth; 11 | @property(readwrite, nonatomic) CGFloat texelHeight; 12 | 13 | // The filter strength property affects the dynamic range of the filter. High values can make edges more visible, but can lead to saturation. Default of 1.0. 14 | @property(readwrite, nonatomic) CGFloat edgeStrength; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSoftEleganceFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImagePicture; 4 | 5 | /** A photo filter based on Soft Elegance Photoshop action 6 | http://h-d-stock.deviantart.com/art/H-D-A-soft-elegance-70107603 7 | */ 8 | 9 | // Note: If you want to use this effect you have to add 10 | // lookup_soft_elegance_1.png and lookup_soft_elegance_2.png 11 | // from Resources folder to your application bundle. 12 | 13 | @interface GPUImageSoftEleganceFilter : GPUImageFilterGroup 14 | { 15 | GPUImagePicture *lookupImageSource1; 16 | GPUImagePicture *lookupImageSource2; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSoftLightBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageSoftLightBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSolidColorGenerator.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | // This outputs an image with a constant color. You need to use -forceProcessingAtSize: in order to set the output image 4 | // dimensions, or this won't work correctly 5 | 6 | 7 | @interface GPUImageSolidColorGenerator : GPUImageFilter 8 | { 9 | GLint colorUniform; 10 | GLint useExistingAlphaUniform; 11 | } 12 | 13 | // This color dictates what the output image will be filled with 14 | @property(readwrite, nonatomic) GPUVector4 color; 15 | @property(readwrite, nonatomic, assign) BOOL useExistingAlpha; // whether to use the alpha of the existing image or not, default is NO 16 | 17 | - (void)setColorRed:(CGFloat)redComponent green:(CGFloat)greenComponent blue:(CGFloat)blueComponent alpha:(CGFloat)alphaComponent; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSourceOverBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageSourceOverBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSphereRefractionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageSphereRefractionFilter : GPUImageFilter 4 | { 5 | GLint radiusUniform, centerUniform, aspectRatioUniform, refractiveIndexUniform; 6 | } 7 | 8 | /// The center about which to apply the distortion, with a default of (0.5, 0.5) 9 | @property(readwrite, nonatomic) CGPoint center; 10 | /// The radius of the distortion, ranging from 0.0 to 1.0, with a default of 0.25 11 | @property(readwrite, nonatomic) CGFloat radius; 12 | /// The index of refraction for the sphere, with a default of 0.71 13 | @property(readwrite, nonatomic) CGFloat refractiveIndex; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageStretchDistortionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Creates a stretch distortion of the image 4 | */ 5 | @interface GPUImageStretchDistortionFilter : GPUImageFilter { 6 | GLint centerUniform; 7 | } 8 | 9 | /** The center about which to apply the distortion, with a default of (0.5, 0.5) 10 | */ 11 | @property(readwrite, nonatomic) CGPoint center; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSubtractBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageSubtractBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageSwirlFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Creates a swirl distortion on the image 4 | */ 5 | @interface GPUImageSwirlFilter : GPUImageFilter 6 | { 7 | GLint radiusUniform, centerUniform, angleUniform; 8 | } 9 | 10 | /// The center about which to apply the distortion, with a default of (0.5, 0.5) 11 | @property(readwrite, nonatomic) CGPoint center; 12 | /// The radius of the distortion, ranging from 0.0 to 1.0, with a default of 0.5 13 | @property(readwrite, nonatomic) CGFloat radius; 14 | /// The amount of distortion to apply, with a minimum of 0.0 and a default of 1.0 15 | @property(readwrite, nonatomic) CGFloat angle; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageTextureInput.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageOutput.h" 2 | 3 | @interface GPUImageTextureInput : GPUImageOutput 4 | { 5 | CGSize textureSize; 6 | } 7 | 8 | // Initialization and teardown 9 | - (id)initWithTexture:(GLuint)newInputTexture size:(CGSize)newTextureSize; 10 | 11 | // Image rendering 12 | - (void)processTextureWithFrameTime:(CMTime)frameTime; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageTextureOutput.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "GPUImageContext.h" 3 | 4 | @protocol GPUImageTextureOutputDelegate; 5 | 6 | @interface GPUImageTextureOutput : NSObject 7 | { 8 | GPUImageFramebuffer *firstInputFramebuffer; 9 | } 10 | 11 | @property(readwrite, unsafe_unretained, nonatomic) id delegate; 12 | @property(readonly) GLuint texture; 13 | @property(nonatomic) BOOL enabled; 14 | 15 | - (void)doneWithTexture; 16 | 17 | @end 18 | 19 | @protocol GPUImageTextureOutputDelegate 20 | - (void)newFrameReadyFromTextureOutput:(GPUImageTextureOutput *)callbackTextureOutput; 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageThreeInputFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | extern NSString *const kGPUImageThreeInputTextureVertexShaderString; 4 | 5 | @interface GPUImageThreeInputFilter : GPUImageTwoInputFilter 6 | { 7 | GPUImageFramebuffer *thirdInputFramebuffer; 8 | 9 | GLint filterThirdTextureCoordinateAttribute; 10 | GLint filterInputTextureUniform3; 11 | GPUImageRotationMode inputRotation3; 12 | GLuint filterSourceTexture3; 13 | CMTime thirdFrameTime; 14 | 15 | BOOL hasSetSecondTexture, hasReceivedThirdFrame, thirdFrameWasVideo; 16 | BOOL thirdFrameCheckDisabled; 17 | } 18 | 19 | - (void)disableThirdFrameCheck; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageThresholdEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSobelEdgeDetectionFilter.h" 2 | 3 | @interface GPUImageThresholdEdgeDetectionFilter : GPUImageSobelEdgeDetectionFilter 4 | { 5 | GLint thresholdUniform; 6 | } 7 | 8 | /** Any edge above this threshold will be black, and anything below white. Ranges from 0.0 to 1.0, with 0.8 as the default 9 | */ 10 | @property(readwrite, nonatomic) CGFloat threshold; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageThresholdSketchFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageThresholdEdgeDetectionFilter.h" 2 | 3 | @interface GPUImageThresholdSketchFilter : GPUImageThresholdEdgeDetectionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageThresholdedNonMaximumSuppressionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageThresholdedNonMaximumSuppressionFilter : GPUImage3x3TextureSamplingFilter 4 | { 5 | GLint thresholdUniform; 6 | } 7 | 8 | /** Any local maximum above this threshold will be white, and anything below black. Ranges from 0.0 to 1.0, with 0.8 as the default 9 | */ 10 | @property(readwrite, nonatomic) CGFloat threshold; 11 | 12 | - (id)initWithPackedColorspace:(BOOL)inputUsesPackedColorspace; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageToonFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | /** This uses Sobel edge detection to place a black border around objects, 4 | and then it quantizes the colors present in the image to give a cartoon-like quality to the image. 5 | */ 6 | @interface GPUImageToonFilter : GPUImage3x3TextureSamplingFilter 7 | { 8 | GLint thresholdUniform, quantizationLevelsUniform; 9 | } 10 | 11 | /** The threshold at which to apply the edges, default of 0.2 12 | */ 13 | @property(readwrite, nonatomic) CGFloat threshold; 14 | 15 | /** The levels of quantization for the posterization of colors within the scene, with a default of 10.0 16 | */ 17 | @property(readwrite, nonatomic) CGFloat quantizationLevels; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageTwoInputCrossTextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageTwoInputCrossTextureSamplingFilter : GPUImageTwoInputFilter 4 | { 5 | GLint texelWidthUniform, texelHeightUniform; 6 | 7 | CGFloat texelWidth, texelHeight; 8 | BOOL hasOverriddenImageSizeFactor; 9 | } 10 | 11 | // The texel width and height determines how far out to sample from this texel. By default, this is the normalized width of a pixel, but this can be overridden for different effects. 12 | @property(readwrite, nonatomic) CGFloat texelWidth; 13 | @property(readwrite, nonatomic) CGFloat texelHeight; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageTwoInputFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | extern NSString *const kGPUImageTwoInputTextureVertexShaderString; 4 | 5 | @interface GPUImageTwoInputFilter : GPUImageFilter 6 | { 7 | GPUImageFramebuffer *secondInputFramebuffer; 8 | 9 | GLint filterSecondTextureCoordinateAttribute; 10 | GLint filterInputTextureUniform2; 11 | GPUImageRotationMode inputRotation2; 12 | CMTime firstFrameTime, secondFrameTime; 13 | 14 | BOOL hasSetFirstTexture, hasReceivedFirstFrame, hasReceivedSecondFrame, firstFrameWasVideo, secondFrameWasVideo; 15 | BOOL firstFrameCheckDisabled, secondFrameCheckDisabled; 16 | } 17 | 18 | - (void)disableFirstFrameCheck; 19 | - (void)disableSecondFrameCheck; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageTwoPassTextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassFilter.h" 2 | 3 | @interface GPUImageTwoPassTextureSamplingFilter : GPUImageTwoPassFilter 4 | { 5 | GLint verticalPassTexelWidthOffsetUniform, verticalPassTexelHeightOffsetUniform, horizontalPassTexelWidthOffsetUniform, horizontalPassTexelHeightOffsetUniform; 6 | GLfloat verticalPassTexelWidthOffset, verticalPassTexelHeightOffset, horizontalPassTexelWidthOffset, horizontalPassTexelHeightOffset; 7 | CGFloat _verticalTexelSpacing, _horizontalTexelSpacing; 8 | } 9 | 10 | // This sets the spacing between texels (in pixels) when sampling for the first. By default, this is 1.0 11 | @property(readwrite, nonatomic) CGFloat verticalTexelSpacing, horizontalTexelSpacing; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageUIElement.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageOutput.h" 2 | 3 | @interface GPUImageUIElement : GPUImageOutput 4 | 5 | // Initialization and teardown 6 | - (id)initWithView:(UIView *)inputView; 7 | - (id)initWithLayer:(CALayer *)inputLayer; 8 | 9 | // Layer management 10 | - (CGSize)layerSizeInPixels; 11 | - (void)update; 12 | - (void)updateUsingCurrentTime; 13 | - (void)updateWithTimestamp:(CMTime)frameTime; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageUnsharpMaskFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageGaussianBlurFilter; 4 | 5 | @interface GPUImageUnsharpMaskFilter : GPUImageFilterGroup 6 | { 7 | GPUImageGaussianBlurFilter *blurFilter; 8 | GPUImageFilter *unsharpMaskFilter; 9 | } 10 | // The blur radius of the underlying Gaussian blur. The default is 4.0. 11 | @property (readwrite, nonatomic) CGFloat blurRadiusInPixels; 12 | 13 | // The strength of the sharpening, from 0.0 on up, with a default of 1.0 14 | @property(readwrite, nonatomic) CGFloat intensity; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageVoronoiConsumerFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageVoronoiConsumerFilter : GPUImageTwoInputFilter 4 | { 5 | GLint sizeUniform; 6 | } 7 | 8 | @property (nonatomic, readwrite) CGSize sizeInPixels; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageWeakPixelInclusionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageWeakPixelInclusionFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageWhiteBalanceFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | /** 3 | * Created by Alaric Cole 4 | * Allows adjustment of color temperature in terms of what an image was effectively shot in. This means higher Kelvin values will warm the image, while lower values will cool it. 5 | 6 | */ 7 | @interface GPUImageWhiteBalanceFilter : GPUImageFilter 8 | { 9 | GLint temperatureUniform, tintUniform; 10 | } 11 | //choose color temperature, in degrees Kelvin 12 | @property(readwrite, nonatomic) CGFloat temperature; 13 | 14 | //adjust tint to compensate 15 | @property(readwrite, nonatomic) CGFloat tint; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageXYDerivativeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSobelEdgeDetectionFilter.h" 2 | 3 | @interface GPUImageXYDerivativeFilter : GPUImageSobelEdgeDetectionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/GPUImageZoomBlurFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageZoomBlurFilter : GPUImageFilter 4 | 5 | /** A multiplier for the blur size, ranging from 0.0 on up, with a default of 1.0 6 | */ 7 | @property (readwrite, nonatomic) CGFloat blurSize; 8 | 9 | /** The normalized center of the blur. (0.5, 0.5) by default 10 | */ 11 | @property (readwrite, nonatomic) CGPoint blurCenter; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/GPUImage/framework/Source/iOS/GPUImagePicture+TextureSubimage.h: -------------------------------------------------------------------------------- 1 | // 2 | // GPUImagePicture+TextureSubimage.h 3 | // GPUImage 4 | // 5 | // Created by Jack Wu on 2014-05-28. 6 | // Copyright (c) 2014 Brad Larson. All rights reserved. 7 | // 8 | 9 | #import "GPUImagePicture.h" 10 | 11 | @interface GPUImagePicture (TextureSubimage) 12 | 13 | - (void)replaceTextureWithSubimage:(UIImage*)subimage; 14 | - (void)replaceTextureWithSubCGImage:(CGImageRef)subimageSource; 15 | 16 | - (void)replaceTextureWithSubimage:(UIImage*)subimage inRect:(CGRect)subRect; 17 | - (void)replaceTextureWithSubCGImage:(CGImageRef)subimageSource inRect:(CGRect)subRect; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Base/MJRefreshBackFooter.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshBackFooter.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/4/24. 6 | // Copyright (c) 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshFooter.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshBackFooter : MJRefreshFooter 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoGifFooter.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshAutoGifFooter.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/4/24. 6 | // Copyright (c) 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshAutoStateFooter.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshAutoGifFooter : MJRefreshAutoStateFooter 14 | @property (weak, nonatomic, readonly) UIImageView *gifView; 15 | 16 | /** 设置state状态下的动画图片images 动画持续时间duration*/ 17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state; 18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state; 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoNormalFooter.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshAutoNormalFooter.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/4/24. 6 | // Copyright (c) 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshAutoStateFooter.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshAutoNormalFooter : MJRefreshAutoStateFooter 14 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView; 15 | 16 | /** 菊花的样式 */ 17 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property"); 18 | @end 19 | 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Custom/Footer/Auto/MJRefreshAutoStateFooter.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshAutoStateFooter.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/6/13. 6 | // Copyright © 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshAutoFooter.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshAutoStateFooter : MJRefreshAutoFooter 14 | /** 文字距离圈圈、箭头的距离 */ 15 | @property (assign, nonatomic) CGFloat labelLeftInset; 16 | /** 显示刷新状态的label */ 17 | @property (weak, nonatomic, readonly) UILabel *stateLabel; 18 | 19 | /** 设置state状态下的文字 */ 20 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state; 21 | 22 | /** 隐藏刷新状态的文字 */ 23 | @property (assign, nonatomic, getter=isRefreshingTitleHidden) BOOL refreshingTitleHidden; 24 | @end 25 | 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackGifFooter.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshBackGifFooter.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/4/24. 6 | // Copyright (c) 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshBackStateFooter.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshBackGifFooter : MJRefreshBackStateFooter 14 | @property (weak, nonatomic, readonly) UIImageView *gifView; 15 | 16 | /** 设置state状态下的动画图片images 动画持续时间duration*/ 17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state; 18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state; 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackNormalFooter.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshBackNormalFooter.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/4/24. 6 | // Copyright (c) 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshBackStateFooter.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshBackNormalFooter : MJRefreshBackStateFooter 14 | @property (weak, nonatomic, readonly) UIImageView *arrowView; 15 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView; 16 | 17 | /** 菊花的样式 */ 18 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property"); 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Custom/Footer/Back/MJRefreshBackStateFooter.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshBackStateFooter.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/6/13. 6 | // Copyright © 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshBackFooter.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshBackStateFooter : MJRefreshBackFooter 14 | /** 文字距离圈圈、箭头的距离 */ 15 | @property (assign, nonatomic) CGFloat labelLeftInset; 16 | /** 显示刷新状态的label */ 17 | @property (weak, nonatomic, readonly) UILabel *stateLabel; 18 | /** 设置state状态下的文字 */ 19 | - (void)setTitle:(NSString *)title forState:(MJRefreshState)state; 20 | 21 | /** 获取state状态下的title */ 22 | - (NSString *)titleForState:(MJRefreshState)state; 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Custom/Header/MJRefreshGifHeader.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshGifHeader.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/4/24. 6 | // Copyright (c) 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshStateHeader.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshGifHeader : MJRefreshStateHeader 14 | @property (weak, nonatomic, readonly) UIImageView *gifView; 15 | 16 | /** 设置state状态下的动画图片images 动画持续时间duration*/ 17 | - (void)setImages:(NSArray *)images duration:(NSTimeInterval)duration forState:(MJRefreshState)state; 18 | - (void)setImages:(NSArray *)images forState:(MJRefreshState)state; 19 | @end 20 | 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/Custom/Header/MJRefreshNormalHeader.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshNormalHeader.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 15/4/24. 6 | // Copyright (c) 2015年 小码哥. All rights reserved. 7 | // 8 | 9 | #import "MJRefreshStateHeader.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface MJRefreshNormalHeader : MJRefreshStateHeader 14 | @property (weak, nonatomic, readonly) UIImageView *arrowView; 15 | @property (weak, nonatomic, readonly) UIActivityIndicatorView *loadingView; 16 | 17 | 18 | /** 菊花的样式 */ 19 | @property (assign, nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle MJRefreshDeprecated("first deprecated in 3.2.2 - Use `loadingView` property"); 20 | @end 21 | 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/arrow@2x.png -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefresh.bundle/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/en.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ko.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "MJRefreshHeaderIdleText" = "아래로 당겨 새로고침"; 2 | "MJRefreshHeaderPullingText" = "놓으면 새로고침"; 3 | "MJRefreshHeaderRefreshingText" = "로딩중..."; 4 | 5 | "MJRefreshAutoFooterIdleText" = "탭 또는 위로 당겨 로드함"; 6 | "MJRefreshAutoFooterRefreshingText" = "로딩중..."; 7 | "MJRefreshAutoFooterNoMoreDataText" = "더이상 데이터 없음"; 8 | 9 | "MJRefreshBackFooterIdleText" = "위로 당겨 더 로드 가능"; 10 | "MJRefreshBackFooterPullingText" = "놓으면 더 로드됨."; 11 | "MJRefreshBackFooterRefreshingText" = "로딩중..."; 12 | "MJRefreshBackFooterNoMoreDataText" = "더이상 데이터 없음"; 13 | 14 | "MJRefreshHeaderLastTimeText" = "마지막 업데이트: "; 15 | "MJRefreshHeaderDateTodayText" = "오늘"; 16 | "MJRefreshHeaderNoneLastDateText" = "기록 없음"; 17 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ru.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/ru.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefresh.bundle/uk.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/uk.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hans.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefresh.bundle/zh-Hant.lproj/Localizable.strings: -------------------------------------------------------------------------------- 1 | "MJRefreshHeaderIdleText" = "下拉可以刷新"; 2 | "MJRefreshHeaderPullingText" = "鬆開立即刷新"; 3 | "MJRefreshHeaderRefreshingText" = "正在刷新數據中..."; 4 | 5 | "MJRefreshAutoFooterIdleText" = "點擊或上拉加載更多"; 6 | "MJRefreshAutoFooterRefreshingText" = "正在加載更多的數據..."; 7 | "MJRefreshAutoFooterNoMoreDataText" = "已經全部加載完畢"; 8 | 9 | "MJRefreshBackFooterIdleText" = "上拉可以加載更多"; 10 | "MJRefreshBackFooterPullingText" = "鬆開立即加載更多"; 11 | "MJRefreshBackFooterRefreshingText" = "正在加載更多的數據..."; 12 | "MJRefreshBackFooterNoMoreDataText" = "已經全部加載完畢"; 13 | 14 | "MJRefreshHeaderLastTimeText" = "最後更新:"; 15 | "MJRefreshHeaderDateTodayText" = "今天"; 16 | "MJRefreshHeaderNoneLastDateText" = "無記錄"; 17 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefresh.h: -------------------------------------------------------------------------------- 1 | // 代码地址: https://github.com/CoderMJLee/MJRefresh 2 | // 代码地址: http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000 3 | 4 | #import "UIScrollView+MJRefresh.h" 5 | #import "UIScrollView+MJExtension.h" 6 | #import "UIView+MJExtension.h" 7 | 8 | #import "MJRefreshNormalHeader.h" 9 | #import "MJRefreshGifHeader.h" 10 | 11 | #import "MJRefreshBackNormalFooter.h" 12 | #import "MJRefreshBackGifFooter.h" 13 | #import "MJRefreshAutoNormalFooter.h" 14 | #import "MJRefreshAutoGifFooter.h" -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefreshConfig.h: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshConfig.h 3 | // 4 | // Created by Frank on 2018/11/27. 5 | // Copyright © 2018 小码哥. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | @interface MJRefreshConfig : NSObject 13 | 14 | /** 默认使用的语言版本, 默认为 nil. 将随系统的语言自动改变 */ 15 | @property (copy, nonatomic, nullable) NSString *languageCode; 16 | 17 | /** @return Singleton Config instance */ 18 | + (instancetype)defaultConfig; 19 | 20 | - (instancetype)init NS_UNAVAILABLE; 21 | + (instancetype)new NS_UNAVAILABLE; 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/MJRefreshConfig.m: -------------------------------------------------------------------------------- 1 | // 2 | // MJRefreshConfig.m 3 | // 4 | // Created by Frank on 2018/11/27. 5 | // Copyright © 2018 小码哥. All rights reserved. 6 | // 7 | 8 | #import "MJRefreshConfig.h" 9 | 10 | @implementation MJRefreshConfig 11 | 12 | static MJRefreshConfig *mj_RefreshConfig = nil; 13 | 14 | + (instancetype)defaultConfig { 15 | static dispatch_once_t onceToken; 16 | dispatch_once(&onceToken, ^{ 17 | mj_RefreshConfig = [[self alloc] init]; 18 | }); 19 | return mj_RefreshConfig; 20 | } 21 | 22 | 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/MJRefresh/MJRefresh/NSBundle+MJRefresh.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+MJRefresh.h 3 | // MJRefreshExample 4 | // 5 | // Created by MJ Lee on 16/6/13. 6 | // Copyright © 2016年 小码哥. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface NSBundle (MJRefresh) 14 | + (instancetype)mj_refreshBundle; 15 | + (UIImage *)mj_arrowImage; 16 | + (NSString *)mj_localizedStringForKey:(NSString *)key value:(nullable NSString *)value; 17 | + (NSString *)mj_localizedStringForKey:(NSString *)key; 18 | @end 19 | 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASCompositeConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASCompositeConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 21/07/13. 6 | // Copyright (c) 2013 cloudling. All rights reserved. 7 | // 8 | 9 | #import "MASConstraint.h" 10 | #import "MASUtilities.h" 11 | 12 | /** 13 | * A group of MASConstraint objects 14 | */ 15 | @interface MASCompositeConstraint : MASConstraint 16 | 17 | /** 18 | * Creates a composite with a predefined array of children 19 | * 20 | * @param children child MASConstraints 21 | * 22 | * @return a composite constraint 23 | */ 24 | - (id)initWithChildren:(NSArray *)children; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASLayoutConstraint.h: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * When you are debugging or printing the constraints attached to a view this subclass 13 | * makes it easier to identify which constraints have been created via Masonry 14 | */ 15 | @interface MASLayoutConstraint : NSLayoutConstraint 16 | 17 | /** 18 | * a key to associate with this constraint 19 | */ 20 | @property (nonatomic, strong) id mas_key; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/MASLayoutConstraint.m: -------------------------------------------------------------------------------- 1 | // 2 | // MASLayoutConstraint.m 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASLayoutConstraint.h" 10 | 11 | @implementation MASLayoutConstraint 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Pods/Masonry/Masonry/NSLayoutConstraint+MASDebugAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSLayoutConstraint+MASDebugAdditions.h 3 | // Masonry 4 | // 5 | // Created by Jonas Budelmann on 3/08/13. 6 | // Copyright (c) 2013 Jonas Budelmann. All rights reserved. 7 | // 8 | 9 | #import "MASUtilities.h" 10 | 11 | /** 12 | * makes debug and log output of NSLayoutConstraints more readable 13 | */ 14 | @interface NSLayoutConstraint (MASDebugAdditions) 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDImageAPNGCoder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDImageIOAnimatedCoder.h" 11 | 12 | /** 13 | Built in coder using ImageIO that supports APNG encoding/decoding 14 | */ 15 | @interface SDImageAPNGCoder : SDImageIOAnimatedCoder 16 | 17 | @property (nonatomic, class, readonly, nonnull) SDImageAPNGCoder *sharedCoder; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageCompat.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if !__has_feature(objc_arc) 12 | #error SDWebImage is ARC only. Either turn on ARC for the project or use -fobjc-arc flag 13 | #endif 14 | 15 | #if !OS_OBJECT_USE_OBJC 16 | #error SDWebImage need ARC for dispatch object 17 | #endif 18 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageError.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Jamie Pinkham 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import "SDWebImageError.h" 11 | 12 | NSErrorDomain const _Nonnull SDWebImageErrorDomain = @"SDWebImageErrorDomain"; 13 | NSErrorUserInfoKey const _Nonnull SDWebImageErrorDownloadStatusCodeKey = @"SDWebImageErrorDownloadStatusCodeKey"; 14 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | 11 | /// A protocol represents cancelable operation. 12 | @protocol SDWebImageOperation 13 | 14 | - (void)cancel; 15 | 16 | @end 17 | 18 | /// NSOperation conform to `SDWebImageOperation`. 19 | @interface NSOperation (SDWebImageOperation) 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/SDWebImageOperation.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageOperation.h" 10 | 11 | /// NSOperation conform to `SDWebImageOperation`. 12 | @implementation NSOperation (SDWebImageOperation) 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/UIImage+ExtendedCacheData.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Fabrice Aneche 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import "UIImage+ExtendedCacheData.h" 11 | #import 12 | 13 | @implementation UIImage (ExtendedCacheData) 14 | 15 | - (id)sd_extendedObject { 16 | return objc_getAssociatedObject(self, @selector(sd_extendedObject)); 17 | } 18 | 19 | - (void)setSd_extendedObject:(id)sd_extendedObject { 20 | objc_setAssociatedObject(self, @selector(sd_extendedObject), sd_extendedObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Core/UIImage+GIF.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * (c) Laurin Brandner 5 | * 6 | * For the full copyright and license information, please view the LICENSE 7 | * file that was distributed with this source code. 8 | */ 9 | 10 | #import "UIImage+GIF.h" 11 | #import "SDImageGIFCoder.h" 12 | 13 | @implementation UIImage (GIF) 14 | 15 | + (nullable UIImage *)sd_imageWithGIFData:(nullable NSData *)data { 16 | if (!data) { 17 | return nil; 18 | } 19 | return [[SDImageGIFCoder sharedCoder] decodedImageWithData:data options:0]; 20 | } 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/NSBezierPath+SDRoundedCorners.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if SD_MAC 12 | 13 | #import "UIImage+Transform.h" 14 | 15 | @interface NSBezierPath (SDRoundedCorners) 16 | 17 | /** 18 | Convenience way to create a bezier path with the specify rounding corners on macOS. Same as the one on `UIBezierPath`. 19 | */ 20 | + (nonnull instancetype)sd_bezierPathWithRoundedRect:(NSRect)rect byRoundingCorners:(SDRectCorner)corners cornerRadius:(CGFloat)cornerRadius; 21 | 22 | @end 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDAssociatedObject.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | /// Copy the associated object from source image to target image. The associated object including all the category read/write properties. 12 | /// @param source source 13 | /// @param target target 14 | FOUNDATION_EXPORT void SDImageCopyAssociatedObject(UIImage * _Nullable source, UIImage * _Nullable target); 15 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDDeviceHelper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageCompat.h" 11 | 12 | /// Device information helper methods 13 | @interface SDDeviceHelper : NSObject 14 | 15 | + (NSUInteger)totalMemory; 16 | + (NSUInteger)freeMemory; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDImageCachesManagerOperation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageCompat.h" 11 | 12 | /// This is used for operation management, but not for operation queue execute 13 | @interface SDImageCachesManagerOperation : NSOperation 14 | 15 | @property (nonatomic, assign, readonly) NSUInteger pendingCount; 16 | 17 | - (void)beginWithTotalCount:(NSUInteger)totalCount; 18 | - (void)completeOne; 19 | - (void)done; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDInternalMacros.m: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDInternalMacros.h" 10 | 11 | void sd_executeCleanupBlock (__strong sd_cleanupBlock_t *block) { 12 | (*block)(); 13 | } 14 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDWeakProxy.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import 10 | #import "SDWebImageCompat.h" 11 | 12 | /// A weak proxy which forward all the message to the target 13 | @interface SDWeakProxy : NSProxy 14 | 15 | @property (nonatomic, weak, readonly, nullable) id target; 16 | 17 | - (nonnull instancetype)initWithTarget:(nonnull id)target; 18 | + (nonnull instancetype)proxyWithTarget:(nonnull id)target; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/SDWebImageTransitionInternal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | #if SD_MAC 12 | 13 | #import 14 | 15 | /// Helper method for Core Animation transition 16 | FOUNDATION_EXPORT CAMediaTimingFunction * _Nullable SDTimingFunctionFromAnimationOptions(SDWebImageAnimationOptions options); 17 | FOUNDATION_EXPORT CATransition * _Nullable SDTransitionFromAnimationOptions(SDWebImageAnimationOptions options); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /Pods/SDWebImage/SDWebImage/Private/UIColor+SDHexString.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the SDWebImage package. 3 | * (c) Olivier Poitrey 4 | * 5 | * For the full copyright and license information, please view the LICENSE 6 | * file that was distributed with this source code. 7 | */ 8 | 9 | #import "SDWebImageCompat.h" 10 | 11 | @interface UIColor (SDHexString) 12 | 13 | /** 14 | Convenience way to get hex string from color. The output should always be 32-bit RGBA hex string like `#00000000`. 15 | */ 16 | @property (nonatomic, copy, readonly, nonnull) NSString *sd_hexString; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/NSBundle+TZImagePicker.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+TZImagePicker.h 3 | // TZImagePickerController 4 | // 5 | // Created by 谭真 on 16/08/18. 6 | // Copyright © 2016年 谭真. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSBundle (TZImagePicker) 12 | 13 | + (NSBundle *)tz_imagePickerBundle; 14 | 15 | + (NSString *)tz_localizedStringForKey:(NSString *)key value:(NSString *)value; 16 | + (NSString *)tz_localizedStringForKey:(NSString *)key; 17 | 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZGifPhotoPreviewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TZGifPhotoPreviewController.h 3 | // TZImagePickerController 4 | // 5 | // Created by ttouch on 2016/12/13. 6 | // Copyright © 2016年 谭真. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class TZAssetModel; 12 | @interface TZGifPhotoPreviewController : UIViewController 13 | 14 | @property (nonatomic, strong) TZAssetModel *model; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/MMVideoPreviewPlay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/MMVideoPreviewPlay@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/MMVideoPreviewPlayHL@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/MMVideoPreviewPlayHL@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/VideoSendIcon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/VideoSendIcon@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/en.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/navi_back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/navi_back@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_def_photoPickerVc@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_def_photoPickerVc@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_def_previewVc@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_def_previewVc@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_number_icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_number_icon@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_original_def@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_original_def@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_original_sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_original_sel@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_sel_photoPickerVc@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_sel_photoPickerVc@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_sel_previewVc@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/photo_sel_previewVc@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/preview_number_icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/preview_number_icon@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/preview_original_def@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/preview_original_def@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/takePicture80@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/takePicture80@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/takePicture@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/takePicture@2x.png -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/zh-Hans.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZImagePickerController.bundle/zh-Hant.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZPhotoPickerController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TZPhotoPickerController.h 3 | // TZImagePickerController 4 | // 5 | // Created by 谭真 on 15/12/24. 6 | // Copyright © 2015年 谭真. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class TZAlbumModel; 12 | @interface TZPhotoPickerController : UIViewController 13 | 14 | @property (nonatomic, assign) BOOL isFirstAppear; 15 | @property (nonatomic, assign) NSInteger columnNumber; 16 | @property (nonatomic, strong) TZAlbumModel *model; 17 | @end 18 | 19 | 20 | @interface TZCollectionView : UICollectionView 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZProgressView.h: -------------------------------------------------------------------------------- 1 | // 2 | // TZProgressView.h 3 | // TZImagePickerController 4 | // 5 | // Created by ttouch on 2016/12/6. 6 | // Copyright © 2016年 谭真. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TZProgressView : UIView 12 | 13 | @property (nonatomic, assign) double progress; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Pods/TZImagePickerController/TZImagePickerController/TZImagePickerController/TZVideoPlayerController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TZVideoPlayerController.h 3 | // TZImagePickerController 4 | // 5 | // Created by 谭真 on 16/1/5. 6 | // Copyright © 2016年 谭真. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class TZAssetModel; 12 | @interface TZVideoPlayerController : UIViewController 13 | 14 | @property (nonatomic, strong) TZAssetModel *model; 15 | 16 | @end -------------------------------------------------------------------------------- /Pods/Target Support Files/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/Pods/Target Support Files/.DS_Store -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #ifndef TARGET_OS_IOS 14 | #define TARGET_OS_IOS TARGET_OS_IPHONE 15 | #endif 16 | 17 | #ifndef TARGET_OS_WATCH 18 | #define TARGET_OS_WATCH 0 19 | #endif 20 | 21 | #ifndef TARGET_OS_TV 22 | #define TARGET_OS_TV 0 23 | #endif 24 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking.modulemap: -------------------------------------------------------------------------------- 1 | framework module AFNetworking { 2 | umbrella header "AFNetworking-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_LDFLAGS = $(inherited) -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/AFNetworking 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/GPUImage/GPUImage-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_GPUImage : NSObject 3 | @end 4 | @implementation PodsDummy_GPUImage 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/GPUImage/GPUImage-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/GPUImage/GPUImage.modulemap: -------------------------------------------------------------------------------- 1 | framework module GPUImage { 2 | umbrella header "GPUImage-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/GPUImage/GPUImage.xcconfig: -------------------------------------------------------------------------------- 1 | CLANG_MODULES_AUTOLINK = YES 2 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/GPUImage 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "CoreMedia" -framework "OpenGLES" -framework "QuartzCore" 5 | PODS_BUILD_DIR = ${BUILD_DIR} 6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/GPUImage 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 12 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MJRefresh/MJRefresh-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_MJRefresh : NSObject 3 | @end 4 | @implementation PodsDummy_MJRefresh 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MJRefresh/MJRefresh-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MJRefresh/MJRefresh.modulemap: -------------------------------------------------------------------------------- 1 | framework module MJRefresh { 2 | umbrella header "MJRefresh-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MJRefresh/MJRefresh.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | PODS_BUILD_DIR = ${BUILD_DIR} 4 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 5 | PODS_ROOT = ${SRCROOT} 6 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MJRefresh 7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 8 | SKIP_INSTALL = YES 9 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Masonry : NSObject 3 | @end 4 | @implementation PodsDummy_Masonry 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry.modulemap: -------------------------------------------------------------------------------- 1 | framework module Masonry { 2 | umbrella header "Masonry-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Masonry/Masonry.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Masonry 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "UIKit" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Masonry 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PlayerDemo/Pods-PlayerDemo-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PlayerDemo : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PlayerDemo 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PlayerDemo/Pods-PlayerDemo-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_PlayerDemoVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_PlayerDemoVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-PlayerDemo/Pods-PlayerDemo.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_PlayerDemo { 2 | umbrella header "Pods-PlayerDemo-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SDWebImage : NSObject 3 | @end 4 | @implementation PodsDummy_SDWebImage 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage.modulemap: -------------------------------------------------------------------------------- 1 | framework module SDWebImage { 2 | umbrella header "SDWebImage-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SDWebImage/SDWebImage.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage 2 | DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = NO 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | OTHER_LDFLAGS = $(inherited) -framework "ImageIO" 5 | PODS_BUILD_DIR = ${BUILD_DIR} 6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SDWebImage 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | SUPPORTS_MACCATALYST = YES 12 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/TZImagePickerController/TZImagePickerController-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_TZImagePickerController : NSObject 3 | @end 4 | @implementation PodsDummy_TZImagePickerController 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/TZImagePickerController/TZImagePickerController-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/TZImagePickerController/TZImagePickerController.modulemap: -------------------------------------------------------------------------------- 1 | framework module TZImagePickerController { 2 | umbrella header "TZImagePickerController-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/TZImagePickerController/TZImagePickerController.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/TZImagePickerController 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | OTHER_LDFLAGS = $(inherited) -framework "AssetsLibrary" -framework "Photos" 4 | PODS_BUILD_DIR = ${BUILD_DIR} 5 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/TZImagePickerController 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES 11 | -------------------------------------------------------------------------------- /WMPlayer.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = 'WMPlayer' 3 | s.version = '5.1.0' 4 | s.summary = 'A lightweight Video Player for iOS to play local or network video,base on AVPlayer.' 5 | s.homepage = 'https://github.com/zhengwenming/WMPlayer' 6 | s.license = 'MIT' 7 | s.authors = { 'zhengwenming' => '740747055@qq.com','wvqusrtg'=>' <1911398892@qq.com>'} 8 | s.platform = :ios, '7.0' 9 | s.source = { :git => 'https://github.com/zhengwenming/WMPlayer.git',:tag =>s.version} 10 | s.source_files = 'WMPlayer/**/*.{h,m}' 11 | s.resources = 'WMPlayer/WMPlayer.bundle' 12 | s.framework = 'Foundation','UIKit','MediaPlayer','AVFoundation' 13 | s.dependency 'Masonry' 14 | s.requires_arc = true 15 | end 16 | -------------------------------------------------------------------------------- /WMPlayer/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/.DS_Store -------------------------------------------------------------------------------- /WMPlayer/EnterFullScreenTransition.h: -------------------------------------------------------------------------------- 1 | // 2 | // EnterFullScreenTransition.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2020/5/20. 6 | // Copyright © 2020 DS-Team. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "WMPlayer.h" 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface EnterFullScreenTransition : NSObject 15 | - (instancetype)initWithPlayer:(WMPlayer *)wmplayer; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /WMPlayer/ExitFullScreenTransition.h: -------------------------------------------------------------------------------- 1 | // 2 | // ExitFullScreenTransition.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2020/5/20. 6 | // Copyright © 2020 DS-Team. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "WMPlayer.h" 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface ExitFullScreenTransition : NSObject 15 | - (instancetype)initWithPlayer:(WMPlayer *)wmplayer; 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /WMPlayer/FastForwardView.h: -------------------------------------------------------------------------------- 1 | // 2 | // FastForwardView.h 3 | // WMPlayer 4 | // 5 | // Created by 郑文明 on 16/10/26. 6 | // Copyright © 2016年 郑文明. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface FastForwardView : UIView 12 | @property (strong, nonatomic) UIImageView *stateImageView; 13 | @property (strong, nonatomic) UILabel *timeLabel; 14 | @end 15 | -------------------------------------------------------------------------------- /WMPlayer/FullScreenHelperViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FullScreenHelperViewController.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2020/5/18. 6 | // Copyright © 2020 DS-Team. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "WMPlayer.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | 14 | @interface FullScreenHelperViewController : UIViewController 15 | @property(nonatomic,strong)WMPlayer *wmPlayer; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /WMPlayer/LandscapeLeftViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LandscapeLeftViewController.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2020/5/20. 6 | // Copyright © 2020 DS-Team. All rights reserved. 7 | // 8 | 9 | #import "FullScreenHelperViewController.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface LandscapeLeftViewController : FullScreenHelperViewController 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /WMPlayer/LandscapeLeftViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // LandscapeLeftViewController.m 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2020/5/20. 6 | // Copyright © 2020 DS-Team. All rights reserved. 7 | // 8 | 9 | #import "LandscapeLeftViewController.h" 10 | 11 | @interface LandscapeLeftViewController () 12 | 13 | @end 14 | 15 | @implementation LandscapeLeftViewController 16 | -(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ 17 | return UIInterfaceOrientationLandscapeLeft; 18 | } 19 | - (void)viewDidLoad { 20 | [super viewDidLoad]; 21 | } 22 | - (void)dealloc{ 23 | NSLog(@"LandscapeLeftViewController dealloc"); 24 | } 25 | @end 26 | -------------------------------------------------------------------------------- /WMPlayer/LandscapeRightViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // LandscapeRightViewController.h 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2020/5/20. 6 | // Copyright © 2020 DS-Team. All rights reserved. 7 | // 8 | 9 | #import "FullScreenHelperViewController.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface LandscapeRightViewController : FullScreenHelperViewController 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /WMPlayer/LandscapeRightViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // LandscapeRightViewController.m 3 | // PlayerDemo 4 | // 5 | // Created by apple on 2020/5/20. 6 | // Copyright © 2020 DS-Team. All rights reserved. 7 | // 8 | 9 | #import "LandscapeRightViewController.h" 10 | 11 | @interface LandscapeRightViewController () 12 | 13 | @end 14 | 15 | @implementation LandscapeRightViewController 16 | 17 | -(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ 18 | return UIInterfaceOrientationLandscapeRight; 19 | } 20 | - (void)viewDidLoad { 21 | [super viewDidLoad]; 22 | } 23 | - (void)dealloc{ 24 | NSLog(@"LandscapeRightViewController dealloc"); 25 | } 26 | @end 27 | -------------------------------------------------------------------------------- /WMPlayer/WMLightView.h: -------------------------------------------------------------------------------- 1 | // 2 | // WMLightView.h 3 | // WMPlayer 4 | // 5 | // Created by 郑文明 on 16/10/26. 6 | // Copyright © 2016年 郑文明. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WMLightView : UIView 12 | @property (strong, nonatomic) UIView *lightBackView; 13 | @property (strong, nonatomic) UIImageView *centerLightIV; 14 | @property (strong, nonatomic) NSMutableArray * lightViewArr; 15 | @end 16 | -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/airplay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/airplay@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/airplay@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/airplay@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/airplay_sel@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/airplay_sel@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/airplay_sel@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/airplay_sel@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/bottom_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/bottom_shadow.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/close@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/close@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/close@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/dot@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/dot@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/dot@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/dot@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/fullscreen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/fullscreen@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/fullscreen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/fullscreen@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/nonfullscreen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/nonfullscreen@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/nonfullscreen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/nonfullscreen@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/pip.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/pip.jpg -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/play_new_brightness_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/play_new_brightness_day.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/play_new_brightness_day@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/play_new_brightness_day@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/play_new_brightness_night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/play_new_brightness_night.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/play_new_brightness_night@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/play_new_brightness_night@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_ctrl_icon_next@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_ctrl_icon_next@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_ctrl_icon_next@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_ctrl_icon_next@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_ctrl_icon_pause@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_ctrl_icon_pause@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_ctrl_icon_pause@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_ctrl_icon_pause@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_ctrl_icon_play@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_ctrl_icon_play@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_ctrl_icon_play@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_ctrl_icon_play@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_download@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_download@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_download@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_download@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_fullscreen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_fullscreen@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_fullscreen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_fullscreen@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_lock@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_lock@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_lock@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_lock@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_nav_back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_nav_back@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_nav_back@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_nav_back@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_unlock@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_unlock@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/player_icon_unlock@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/player_icon_unlock@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/progress_icon_l@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/progress_icon_l@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/progress_icon_l@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/progress_icon_l@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/progress_icon_r@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/progress_icon_r@2x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/progress_icon_r@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/progress_icon_r@3x.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayer.bundle/top_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhengwenming/WMPlayer/92bf48cd9599f0926101d2dc94c67e94d43412e0/WMPlayer/WMPlayer.bundle/top_shadow.png -------------------------------------------------------------------------------- /WMPlayer/WMPlayerModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // WMPlayerModel.h 3 | // 4 | // 5 | // Created by zhengwenming on 2018/4/26. 6 | // 7 | 8 | #import 9 | #import 10 | #import 11 | 12 | @interface WMPlayerModel : NSObject 13 | //视频标题 14 | @property (nonatomic, copy) NSString *title; 15 | //视频的URL,本地路径or网络路径http 16 | @property (nonatomic, strong) NSURL *videoURL; 17 | //videoURL和playerItem二选一 18 | @property (nonatomic, strong) AVPlayerItem *playerItem; 19 | //跳到seekTime处播放 20 | @property (nonatomic, assign) double seekTime; 21 | @property (nonatomic, strong) NSIndexPath *indexPath; 22 | //视频尺寸 23 | @property (nonatomic,assign) CGSize presentationSize; 24 | //是否是适合竖屏播放的资源,w:h<1的资源,一般是手机竖屏(人像模式)拍摄的视频资源 25 | @property (nonatomic,assign) BOOL verticalVideo; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /WMPlayer/WMPlayerModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // WMPlayerModel.m 3 | // 4 | // 5 | // Created by zhengwenming on 2018/4/26. 6 | // 7 | 8 | #import "WMPlayerModel.h" 9 | 10 | @implementation WMPlayerModel 11 | -(void)setPresentationSize:(CGSize)presentationSize{ 12 | _presentationSize = presentationSize; 13 | if (presentationSize.width/presentationSize.height<1) { 14 | self.verticalVideo = YES; 15 | } 16 | } 17 | @end 18 | --------------------------------------------------------------------------------