diff --git a/Pod/Library/Profession/.DS_Store b/Pod/Library/Profession/.DS_Store index 9720bbd..01623b8 100644 Binary files a/Pod/Library/Profession/.DS_Store and b/Pod/Library/Profession/.DS_Store differ diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/.DS_Store b/Pod/Library/Profession/PLShortVideoKit.framework/.DS_Store deleted file mode 100644 index 2522ef9..0000000 Binary files a/Pod/Library/Profession/PLShortVideoKit.framework/.DS_Store and /dev/null differ diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSTransformFix.h b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSTransformFix.h deleted file mode 100644 index 079f13d..0000000 --- a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSTransformFix.h +++ /dev/null @@ -1,96 +0,0 @@ -// -// AVAsset+PLSTransformFix.h -// PLShortVideoKit -// -// Created by hxiongan on 2018/6/8. -// Copyright © 2018年 Pili Engineering, Qiniu Inc. All rights reserved. -// - -#import -#import "PLSTypeDefines.h" - -/*! - @category AVAsset (PLSTransformFix) - @brief PLSTransformFix 是一个处理 AVAsset 旋转角度的分类 - */ -@interface AVAsset (PLSTransformFix) - -/*! - @method verifytransform - @brief 某些视频的transform可能不正确,主要是tx和ty这两个值可能错误,这种错误在单个视频播放中不会有影响,但是加在AVMutableCompositionTrack中,则会影响显示的位置 - - @return 返回视频修正后的 CGAffineTransform - @see verifytransform:naturalSize: - */ -- (CGAffineTransform)verifytransform; - -/*! - @method verifytransform:naturalSize: - @brief 某些视频的 transform 可能不正确,主要是tx和ty这两个值可能错误,这种错误在单个视频播放中不会有影响,但是加在AVMutableCompositionTrack中,则会影响显示的位置 - - @param transform 待修正的 CGAffineTransform - @param naturalSize 修正参考的宽高 - - @return 返回修正后的 CGAffineTransform - */ -- (CGAffineTransform)verifytransform:(CGAffineTransform)transform naturalSize:(CGSize)naturalSize; - -/*! - @method isPortrait - @brief 检查视频是横屏还是竖屏 - - @discussion iOS 设备自带相机 App 拍摄的时候: - 1. Home 键在上或者下的时候,返回 YES - 2. Home 键在左或者右的时候,返回 NO - - @return 视频是否是 Portrait - */ -- (BOOL)isPortrait; - -/*! - @method checkForPortrait: - @brief 检查 CGAffineTransform 是横屏还是竖屏 - - @param transform 待检查的 CGAffineTransform - - @return transform 是否是 Portrait - @see isPortrait - */ -- (BOOL)checkForPortrait:(CGAffineTransform)transform; - -/*! - @method transformWithVideoAssetTrack:fillMode:displayFrame: - @brief 视频旋转 - @discussion 将 videoAssetTrack 按照 fillMode 放到 displayFrame,如果 displayFrame = CGRectZero,则放到 {0,0,videoAssetTrack的显示宽度,videoAssetTrack的显示高度},方法内部会自动处理 videoAssetTrack.preferredTransform 属性 - - @param videoAssetTrack 待旋转的视频通道 - @param fillMode 视频宽高和 displayFrame.size 比例不一样的时候,视频的填充模式 - @param displayFrame 目标显示位置和大小 - - @return 返回结果 CGAffineTransform - @since v1.12.0 - */ -- (CGAffineTransform)transformWithVideoAssetTrack:(AVAssetTrack *)videoAssetTrack - fillMode:(PLSVideoFillModeType)fillMode - displayFrame:(CGRect)displayFrame; - -/*! - @method transformWithVideoAssetTrack:fillMode:rotateAngle:displayFrame - @brief 视频旋转 - @discussion 将 videoAssetTrack 旋转之后(方法内部会自动加上videoAssetTrack.preferredTransform),按照 fillMode 放到 displayFrame,如果 displayFrame = CGRectZero,则方到 {0,0,videoAssetTrack的显示宽度,videoAssetTrack的显示高度} - - @param videoAssetTrack 待旋转的视频通道 - @param fillMode 视频宽高和 displayFrame.size 比例不一样的时候,视频的填充模式 - @param rotateAngle 视频选择的角度(单位: 弧度) - @param displayFrame 目标显示位置和大小 - - @return 返回结果 CGAffineTransform - @since v1.12.0 - */ - -- (CGAffineTransform)transformWithVideoAssetTrack:(AVAssetTrack *)videoAssetTrack - fillMode:(PLSVideoFillModeType)fillMode - rotateAngle:(CGFloat)rotateAngle - displayFrame:(CGRect)displayFrame; - -@end diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSVideoComposition.h b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSVideoComposition.h deleted file mode 100644 index c9216e2..0000000 --- a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSVideoComposition.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// AVAsset+PLSVideoComposition.h -// PLShortVideoKit -// -// Created by suntongmian on 2017/7/10. -// Copyright © 2017年 Pili Engineering, Qiniu Inc. All rights reserved. -// - -#import - -@interface AVAsset (PLSVideoComposition) - -- (AVVideoComposition *)fixVideoOrientation; - -@end diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSVideoOrientation.h b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSVideoOrientation.h deleted file mode 100644 index bc6f491..0000000 --- a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/AVAsset+PLSVideoOrientation.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// AVAsset+PLSVideoOrientation.h -// PLShortVideoKit -// -// Created by suntongmian on 2017/5/26. -// Copyright © 2017年 Pili Engineering, Qiniu Inc. All rights reserved. -// - -#import - -/*! - @typedef isSupportHardwareH265Encoder - @brief 视频选择方向定义 - */ -typedef enum { - PLSVideoOrientationUp, //Device starts recording in Portrait - PLSVideoOrientationDown, //Device starts recording in Portrait upside down - PLSVideoOrientationLeft, //Device Landscape Left (home button on the left side) - PLSVideoOrientationRight, //Device Landscape Right (home button on the Right side) - PLSVideoOrientationNotFound = 99 //An Error occurred or AVAsset doesn't contains video track -} PLSVideoOrientation; - - -/*! - @category AVAsset (PLSVideoOrientation) - @brief 获取视频选择方向的分类 - */ -@interface AVAsset (PLSVideoOrientation) - -/*! - @property videoOrientation - @discussion Returns a PLSVideoOrientation that is the orientation - of the iPhone / iPad whent starst recording - - @return A PLSVideoOrientation that is the orientation of the video - */ -@property (readonly, nonatomic) PLSVideoOrientation videoOrientation; - -/*! - @property videoDegree - @discussion Returns a PLSVideoOrientation that is the orientation - of the iPhone / iPad whent starst recording - - @return A videoDegree that is the degree of the video - */ -@property (readonly, nonatomic) CGFloat videoDegree; - -@end diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSAVAssetExportSession.h b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSAVAssetExportSession.h index c3b7bcf..5be4787 100644 --- a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSAVAssetExportSession.h +++ b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSAVAssetExportSession.h @@ -122,6 +122,7 @@ */ @property (assign, nonatomic) float bitrate; + /*! @property gopSize @brief 最大关键帧间隔, 仅对h264有效, 设为 0 将由编码器自行决定 @@ -164,6 +165,15 @@ */ @property (assign, nonatomic) float outputVideoFrameRate; + +/*! + @property shouldPassthroughAudio 是否跳过音频参数设置,默认 YES, + @brief 默认保留所有音频帧和音频样本,如确实需要自定义 audioBitrate,audioChannel ,请先将 shouldPassthroughAudio 设置 NO + + @since v3.2.5 + */ +@property (assign, nonatomic) BOOL shouldPassthroughAudio; + /*! @property audioBitrate @brief 导出视频的音频码率,默认:PLSAudioBitRate_128Kbps @@ -171,6 +181,7 @@ @discussion 音频的码率设置应该根据音频采样率和声道数来设置,如果设置的码率值和标准值相差太大,可能引起音频编码失败,导致导出视频文件失败。推荐的码率设置请查看 PLSAudioSampleRate 和 PLSAudioBitRate @see PLSAudioSampleRate @see PLSAudioBitRate + @see shouldPassthroughAudio @since v1.16.0 */ diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSAsset.h b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSAsset.h deleted file mode 100644 index 593935f..0000000 --- a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSAsset.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// PLSAsset.h -// PLShortVideoKit -// -// Created by suntongmian on 2018/2/12. -// Copyright © 2018年 Pili Engineering, Qiniu Inc. All rights reserved. -// - -#import - -/*! - @class PLSAsset - @brief PLSAsset 是对当前设备是否支持 H.265 硬编码/硬解码 的检查工具类 - - @warning H.265 分为 hev 和 hvc 两种格式,目前苹果系的产品只支持 hvc 格式 - */ -@interface PLSAsset : AVAsset - -/*! - @method isH265Video: - @brief 判断 AVAsset 是否是 H.265 格式的视频文件 - - @param asset 待判断的 AVAsset 实例 - - @return 是否是 H.265 格式的视频 - */ -+ (BOOL)isH265Video:(AVAsset *)asset; - -/*! - @method isSupportHardwareH265Decoder - @brief 判断当前设备是否支持 H.265 硬解码 - - @return 支持返回 YES,否则返回 NO - */ -+ (BOOL)isSupportHardwareH265Decoder; - -/*! - @method isSupportHardwareH265Encoder - @brief 判断当前设备是否支持 H.265 硬编码 - - @return 支持返回 YES,否则返回 NO - */ -+ (BOOL)isSupportHardwareH265Encoder; - -@end diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSCVPixelBufferRotateProcessor.h b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSCVPixelBufferRotateProcessor.h deleted file mode 100644 index 67f41e5..0000000 --- a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSCVPixelBufferRotateProcessor.h +++ /dev/null @@ -1,89 +0,0 @@ -// -// PLSCVPixelBufferRotateProcessor.h -// PLShortVideoKit -// -// Created by hxiongan on 2018/5/30. -// Copyright © 2018年 Pili Engineering, Qiniu Inc. All rights reserved. -// - -#import -#import -#import "PLSPixelBufferProcessor.h" -#import "PLSTypeDefines.h" - -/*! - @typedef PLSGLRotateProcessorType - @brief 旋转类型枚举值、每次只能设置其中的某一种情况,不能同时使用多种(比如不能设置 FlipVertical 了再叠加设置 Degree90,以最后设置的值为准) - */ -typedef enum : NSUInteger { - PLSGLRotateProcessorTypeNone, - PLSGLRotateProcessorTypeDegree90, - PLSGLRotateProcessorTypeDegree180, - PLSGLRotateProcessorTypeDegree270, - PLSGLRotateProcessorTypeFlipVertical, - PLSGLRotateProcessorTypeFlipHorizonal, -} PLSGLRotateProcessorType; - -/*! - @class PLSCVPixelBufferRotateProcessor - @brief 对 kCVPixelFormatType_32BGRA 格式图片进行旋转、缩放处理 - */ -@interface PLSCVPixelBufferRotateProcessor : NSObject - -/*! - @property rotateType - @brief 旋转类型 - - @warning 注意:如果设置为 PLSGLRotateProcessorTypeDegree90 或者 PLSGLRotateProcessorTypeDegree270, - 内部会自动调整一下 sourceRect,destRect 和 destFrameSize 的值。比如 destRect 设置为 {10, 30, 100, 200}, - 最终得到的结果为 {30, 10, 200, 100} - */ -@property (nonatomic, assign) PLSGLRotateProcessorType rotateType; - -/*! - @property aspectMode - @brief 当被裁剪的部分比例与在新图中需要安放的位置的比例不同时选择的填充模式 - */ -@property (nonatomic, assign) PLSVideoFillModeType aspectMode; - -/*! - @property sourceRect - @brief 需要从原始图片中裁剪出来的部分的位置和大小 - */ -@property (nonatomic, assign, readonly) CGRect sourceRect; - -/*! - @property destRect - @brief 裁剪出来的部分放置在新图之中的位置和大小 - */ -@property (nonatomic, assign, readonly) CGRect destRect; - -/*! - @property destFrameSize - @brief 新图的整体画幅大小 - */ -@property (nonatomic, assign, readonly) CGSize destFrameSize; - -/*! - @method setSourceRect:destRect:destFrameSize: - @brief 设置剪裁和缩放信息 - - @param sourceRect 需要从原始图片中裁剪出来的部分的位置和大小 - @param destRect 裁剪出来的部分放置在新图之中的位置和大小 - @param destFrameSize 新图的整体画幅大小 - */ -- (void)setSourceRect:(CGRect)sourceRect destRect:(CGRect)destRect destFrameSize:(CGSize)destFrameSize; - -/*! - @method process: - @brief 图片剪裁和缩放 - - @param pixelBuffer 待剪裁的原始图片 - - @return pixelBuffer 新的图片 - - @warning 使用该接口进行图像处理需要注意的是,为了保持图像处理的效率,减小开销,该类内部会持有一个 CVPixelBufferRef 并在每次都会返回该对象,因此在每次调用之后请确认对返回的数据已经使用完毕再进行下一次调用,否则会出现非预期的问题 - */ -- (CVPixelBufferRef)process:(CVPixelBufferRef)pixelBuffer; - -@end diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSCameraSource.h b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSCameraSource.h deleted file mode 100644 index 6c41420..0000000 --- a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSCameraSource.h +++ /dev/null @@ -1,410 +0,0 @@ -// -// PLSCameraSource.h -// PLShortVideoKit -// -// Created by suntongmian on 17/3/1. -// Copyright © 2017年 Pili Engineering, Qiniu Inc. All rights reserved. -// - -#import -#import -#import -#import "PLSSourceAccessProtocol.h" -#import "PLSTypeDefines.h" -#import "PLSVideoConfiguration.h" -#import "PLSUtilFunctions.h" - -#pragma mark - CameraSourceYUVOutput Format - -/*! - @typedef PLSCameraSourceYUVOutputFormat - @abstract PLSCameraSourceYUVOutput 的 YUV 类型。 - @since v1.0.0 - */ -typedef NS_OPTIONS(NSUInteger, PLSCameraSourceOutputFormat) { - PLSCameraSourceOutputFormatNV12 = 0, - PLSCameraSourceOutputFormatI420 = 1, - PLSCameraSourceOutputFormat32BGRA = 2 -}; - -@class PLSCameraSource; - -/*! - @protocol PLSCameraSourceDelegate - @brief 相机采集协议. - */ -@protocol PLSCameraSourceDelegate - -@optional - -/*! - @method cameraSource:didFocusAtPoint: - @brief 焦点变化回调. - - @param source PLSCameraSource 实例 - @param point 当前的相机焦点 -*/ -- (void)cameraSource:(PLSCameraSource *)source didFocusAtPoint:(CGPoint)point; - -/*! - @method cameraSource:didGetOriginPixelBuffer: - @brief 采集之后没有经过任何处理的视频帧回调. - - @param source PLSCameraSource 实例 - @param pixelBuffer 视频帧 - - @return 如果需要替换掉 pixelBuffer,则返回替换的视频帧,否则直接返回 pixelBuffer - */ -- (CVPixelBufferRef)cameraSource:(PLSCameraSource *)source - didGetOriginPixelBuffer:(CVPixelBufferRef)pixelBuffer - sampleTimingInfo:(CMSampleTimingInfo)sampleTimingInfo; - -/*! - @method cameraSource:didGetOriginSampleBuffer: - @abstract 相机原始 sample buffer - - @param source PLSCameraSource 实例 - @param sampleBuffer 视频帧 - - @since 3.2.1 - */ -- (void)cameraSource:(PLSCameraSource *)source didGetOriginSampleBuffer:(CMSampleBufferRef)sampleBuffer; - -/*! - @method cameraSource:didGetResultPixelBuffer:sampleTimingInfo: - @brief 经过美颜滤镜处理之后的视频帧回调 - - @param source PLSCameraSource 实例 - @param pixelBuffer 视频帧 - @param sampleTimingInfo 视频帧对应的时间戳 - */ -- (void)cameraSource:(PLSCameraSource *)source didGetResultPixelBuffer:(CVPixelBufferRef)pixelBuffer sampleTimingInfo:(CMSampleTimingInfo)sampleTimingInfo; - -/*! - @method cameraSource:didGetPreviewPixelBuffer:sampleTimingInfo: - @brief 预览的视频帧回调(合拍的时候录用到). - - @param source PLSCameraSource 实例 - @param pixelBuffer 视频帧 - @param sampleTimingInfo 视频帧对应的时间戳 - */ -- (void)cameraSource:(PLSCameraSource *)source didGetPreviewPixelBuffer:(CVPixelBufferRef)pixelBuffer sampleTimingInfo:(CMSampleTimingInfo)sampleTimingInfo; - -@end - -/*! - @class PLSCameraSource - @brief 相机采集类 - */ -@interface PLSCameraSource : NSObject -< -PLSSourceAccessProtocol -> - -/*! - @property delegate - @brief 采集回调代理. - */ -@property (weak, nonatomic) id delegate; - -/*! - @property videoConfiguration - @brief 视频参数配置. - */ -@property (strong, nonatomic) PLSVideoConfiguration *videoConfiguration; - -/*! - @property cameraPosition - @brief 相机位置. - */ -@property (assign, nonatomic) AVCaptureDevicePosition cameraPosition; - -/*! - @property torchOn - @brief 闪光灯是否打开. - */ -@property (assign, nonatomic, getter=isTorchOn) BOOL torchOn; - -/*! - @property previewView - @brief 预览 view. - */ -@property (strong, nonatomic) UIView *previewView; - -/*! - @property running - @brief 相机采集是否处于运行状态. - */ -@property (assign, nonatomic, readonly, getter=isRunning) BOOL running; - -/*! - @property videoOrientation - @brief 相机采集的方向. - */ -@property (assign, nonatomic) AVCaptureVideoOrientation videoOrientation; - -/*! - @property focusPointOfInterest - @brief 相机焦点,默认: {0.5, 0.5}. - */ -@property (assign, nonatomic) CGPoint focusPointOfInterest; - -/*! - @property continuousAutofocusEnable - @brief 是否持续对焦,默认:YES. - */ -@property (assign, nonatomic, getter=isContinuousAutofocusEnable) BOOL continuousAutofocusEnable; - -/*! - @property smoothAutoFocusEnabled - @brief 是否平滑对焦,默认:NO. - */ -@property (assign, nonatomic, getter=isSmoothAutoFocusEnabled) BOOL smoothAutoFocusEnabled; - -/*! - @property innerFocusViewShowEnable - @brief 点击预览 view 发生对焦的时候,是否显示对焦动画. - */ -@property (assign, nonatomic) BOOL innerFocusViewShowEnable; - -/*! - @property renderQueue - @brief 预览的渲染队列. - */ -@property (strong, nonatomic) dispatch_queue_t renderQueue; - -/*! - @property videoZoomFactor - @brief 视频放大因子. - */ -@property (assign, nonatomic) CGFloat videoZoomFactor; - -/*! - @property videoActiveFormat - @brief 采集设备参数. - */ -@property (strong, nonatomic) AVCaptureDeviceFormat *videoActiveFormat; - -/*! - @property videoFormats - @brief 采集设备参数集. - */ -@property (strong, nonatomic, readonly) NSArray *videoFormats; - -/*! - @property beautifyModeOn - @brief 是否开启美颜. - */ -@property (assign, nonatomic, getter=isBeautifyModeOn) BOOL beautifyModeOn; - -/*! - @property touchToFocusEnable - @brief 是否启用手动点击对焦. - */ -@property (assign, nonatomic, getter=isTouchToFocusEnable) BOOL touchToFocusEnable; - -/*! - @property fillMode - @brief 视频填充模式. - */ -@property (assign, nonatomic) PLSVideoFillModeType fillMode; - -/*! - @property previewOrientation - @brief 视频预览方向. - */ -@property (assign, nonatomic) PLSPreviewOrientation previewOrientation; - -/*! - @property previewRenderType - @brief 渲染类型(不建议设置). - */ -@property (assign, nonatomic) PLSPreviewRenderType previewRenderType; - -/*! - @property sessionPreset - @brief 采集像素设置. - */ -@property (strong, nonatomic) NSString *sessionPreset; - -/*! - @property videoFrameRate - @brief 采集帧率. - */ -@property (assign, nonatomic) NSUInteger videoFrameRate; - -/*! - @property previewMirrorFrontFacing - @brief 使用前置摄像头的时候预览是否镜像,一般都设置为:YES. - */ -@property (assign, nonatomic) BOOL previewMirrorFrontFacing; - -/*! - @property previewMirrorRearFacing - @brief 使用后置摄像头的时候预览是否镜像,一般都设置为:NO. - */ -@property (assign, nonatomic) BOOL previewMirrorRearFacing; - -/*! - @property streamMirrorFrontFacing - @brief 使用前置摄像头的时候编码是否镜像(生成视频文件的时候,视频是否镜像),一般都设置为:NO. - */ -@property (assign, nonatomic) BOOL streamMirrorFrontFacing; - -/*! - @property streamMirrorRearFacing - @brief 使用后置摄像头的时候编码是否镜像(生成视频文件的时候,视频是否镜像),一般都设置为:NO. - */ -@property (assign, nonatomic) BOOL streamMirrorRearFacing; - -/*! - @property outputFormat - @brief 暂不支持设置,当前只支持 32BGRA. - */ -@property (assign, nonatomic) PLSCameraSourceOutputFormat outputFormat; - -/*! - @property adaptationRecording - @brief 重力感应,自动横竖屏切换录制. - */ -@property (assign, nonatomic) BOOL adaptationRecording; - -/*! - @property flipVideoFrameEnable - @brief 翻转视频. - */ -@property (assign, nonatomic) BOOL flipVideoFrameEnable; - -/*! - @property currentOrientation - @brief 相机采集方向. - */ -@property (assign, nonatomic) AVCaptureVideoOrientation currentOrientation; - -/*! - @property captureDeviceInput - @brief 相机采集输入设备. - */ -@property (readonly, nonatomic) AVCaptureDeviceInput *captureDeviceInput; - -/*! - @property captureSession - @brief 相机采集 session. - */ -@property (readonly, nonatomic) AVCaptureSession *captureSession; - -/*! - @method hasCameraForPosition: - @brief 检查相机设备是否存在. - - @param position 检查位置. - */ -+ (BOOL)hasCameraForPosition:(AVCaptureDevicePosition)position; - -/*! - @method initWithVideoConfiguration: - @brief 初始化方法. - - @param configuration 视频参数. - - @return 实例 - */ -- (instancetype)initWithVideoConfiguration:(PLSVideoConfiguration *)configuration; - -/*! - @method initWithVideoConfiguration:eaglContext: - @brief 初始化方法. - - @param configuration 视频参数. - @param context OpenGL ES 的上下文,传: nil. - - @return 实例 - */ -- (instancetype)initWithVideoConfiguration:(PLSVideoConfiguration *)configuration eaglContext:(EAGLContext *)context; - -/*! - @method setupCaptureSession - @brief 初始化相机采集. - - @return 成功返回: YES,失败返回: NO. - */ -- (BOOL)setupCaptureSession; - -/*! - @method toggleCamera - @brief 切换相机. - */ -- (void)toggleCamera; - -/*! - @method toggleCamera: - - @param completeBlock 切换相机完成回调 - @brief 切换相机. - */ -- (void)toggleCamera:(void(^)(BOOL isFinish))completeBlock; - -/*! - @method startRunning - @brief 开始采集. - */ -- (void)startRunning; - -/*! - @method stopRunning - @brief 停止采集. - */ -- (void)stopRunning; - -/*! - @method reloadvideoConfiguration: - @brief 重置视频参数. - */ -- (void)reloadvideoConfiguration:(PLSVideoConfiguration *)videoConfiguration; - -/*! - @method setBeautify: - @brief 设置美颜级别. - - @param beautify 美颜级别(0 ~ 1.0). - */ --(void)setBeautify:(float)beautify; - -/*! - @method setWhiten: - @brief 设置美白级别. - - @param whiten 美白级别(0 ~ 1.0). - */ --(void)setWhiten:(float)whiten; - -/*! - @method setRedden: - @brief 设置红润级别. - - @param redden 红润级别(0 ~ 1.0). - */ --(void)setRedden:(float)redden; - -/*! - @method setWaterMarkWithImage:position: - @brief 设置水印. - - @param waterMarkImage 水印图片. - @param position 水印左上角位置. - */ --(void)setWaterMarkWithImage:(UIImage *)waterMarkImage position:(CGPoint)position; - -/*! - @method removeWaterMark - @brief 移除水印. - */ --(void)removeWaterMark; - -/*! - @method getScreenShotWithCompletionHandler: - @brief 实时截帧. - */ -- (void)getScreenShotWithCompletionHandler:(void(^)(UIImage *image))handle; - -@end diff --git a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSDDFileLogger.h b/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSDDFileLogger.h deleted file mode 100644 index 7ec5d96..0000000 --- a/Pod/Library/Profession/PLShortVideoKit.framework/Headers/PLSDDFileLogger.h +++ /dev/null @@ -1,487 +0,0 @@ -// Software License Agreement (BSD License) -// -// Copyright (c) 2010-2016, Deusty, LLC -// All rights reserved. -// -// Redistribution and use of this software in source and binary forms, -// with or without modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Neither the name of Deusty nor the names of its contributors may be used -// to endorse or promote products derived from this software without specific -// prior written permission of Deusty, LLC. - -// Disable legacy macros -#ifndef PLSDD_LEGACY_MACROS - #define PLSDD_LEGACY_MACROS 0 -#endif - -#import "PLSDDLog.h" - -@class PLSDDLogFileInfo; - -/** - * This class provides a logger to write log statements to a file. - **/ - - -// Default configuration and safety/sanity values. -// -// maximumFileSize -> kPLSDDDefaultLogMaxFileSize -// rollingFrequency -> kPLSDDDefaultLogRollingFrequency -// maximumNumberOfLogFiles -> kPLSDDDefaultLogMaxNumLogFiles -// logFilesDiskQuota -> kPLSDDDefaultLogFilesDiskQuota -// -// You should carefully consider the proper configuration values for your application. - -extern unsigned long long const kPLSDDDefaultLogMaxFileSize; -extern NSTimeInterval const kPLSDDDefaultLogRollingFrequency; -extern NSUInteger const kPLSDDDefaultLogMaxNumLogFiles; -extern unsigned long long const kPLSDDDefaultLogFilesDiskQuota; - - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** - * The LogFileManager protocol is designed to allow you to control all aspects of your log files. - * - * The primary purpose of this is to allow you to do something with the log files after they have been rolled. - * Perhaps you want to compress them to save disk space. - * Perhaps you want to upload them to an FTP server. - * Perhaps you want to run some analytics on the file. - * - * A default LogFileManager is, of course, provided. - * The default LogFileManager simply deletes old log files according to the maximumNumberOfLogFiles property. - * - * This protocol provides various methods to fetch the list of log files. - * - * There are two variants: sorted and unsorted. - * If sorting is not necessary, the unsorted variant is obviously faster. - * The sorted variant will return an array sorted by when the log files were created, - * with the most recently created log file at index 0, and the oldest log file at the end of the array. - * - * You can fetch only the log file paths (full path including name), log file names (name only), - * or an array of `PLSDDLogFileInfo` objects. - * The `PLSDDLogFileInfo` class is documented below, and provides a handy wrapper that - * gives you easy access to various file attributes such as the creation date or the file size. - */ -@protocol PLSDDLogFileManager -@required - -// Public properties - -/** - * The maximum number of archived log files to keep on disk. - * For example, if this property is set to 3, - * then the LogFileManager will only keep 3 archived log files (plus the current active log file) on disk. - * Once the active log file is rolled/archived, then the oldest of the existing 3 rolled/archived log files is deleted. - * - * You may optionally disable this option by setting it to zero. - **/ -@property (readwrite, assign, atomic) NSUInteger maximumNumberOfLogFiles; - -/** - * The maximum space that logs can take. On rolling logfile all old logfiles that exceed logFilesDiskQuota will - * be deleted. - * - * You may optionally disable this option by setting it to zero. - **/ -@property (readwrite, assign, atomic) unsigned long long logFilesDiskQuota; - -// Public methods - -/** - * Returns the logs directory (path) - */ -- (NSString *)logsDirectory; - -/** - * Returns an array of `NSString` objects, - * each of which is the filePath to an existing log file on disk. - **/ -- (NSArray *)unsortedLogFilePaths; - -/** - * Returns an array of `NSString` objects, - * each of which is the fileName of an existing log file on disk. - **/ -- (NSArray *)unsortedLogFileNames; - -/** - * Returns an array of `PLSDDLogFileInfo` objects, - * each representing an existing log file on disk, - * and containing important information about the log file such as it's modification date and size. - **/ -- (NSArray *)unsortedLogFileInfos; - -/** - * Just like the `unsortedLogFilePaths` method, but sorts the array. - * The items in the array are sorted by creation date. - * The first item in the array will be the most recently created log file. - **/ -- (NSArray *)sortedLogFilePaths; - -/** - * Just like the `unsortedLogFileNames` method, but sorts the array. - * The items in the array are sorted by creation date. - * The first item in the array will be the most recently created log file. - **/ -- (NSArray *)sortedLogFileNames; - -/** - * Just like the `unsortedLogFileInfos` method, but sorts the array. - * The items in the array are sorted by creation date. - * The first item in the array will be the most recently created log file. - **/ -- (NSArray *)sortedLogFileInfos; - -// Private methods (only to be used by PLSDDFileLogger) - -/** - * Generates a new unique log file path, and creates the corresponding log file. - **/ -- (NSString *)createNewLogFile; - -@optional - -// Notifications from PLSDDFileLogger - -/** - * Called when a log file was archieved - */ -- (void)didArchiveLogFile:(NSString *)logFilePath; - -/** - * Called when the roll action was executed and the log was archieved - */ -- (void)didRollAndArchiveLogFile:(NSString *)logFilePath; - -@end - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** - * Default log file manager. - * - * All log files are placed inside the logsDirectory. - * If a specific logsDirectory isn't specified, the default directory is used. - * On Mac, this is in `~/Library/Logs/`. - * On iPhone, this is in `~/Library/Caches/Logs`. - * - * Log files are named `"