// // SCManagedStillImageCapturer_Protected.h // Snapchat // // Created by Chao Pang on 10/4/16. // Copyright © 2016 Snapchat, Inc. All rights reserved. // SC_EXTERN_C_BEGIN extern NSDictionary *cameraInfoForBuffer(CMSampleBufferRef imageDataSampleBuffer); SC_EXTERN_C_END extern NSString *const kSCManagedStillImageCapturerErrorDomain; #if !TARGET_IPHONE_SIMULATOR extern NSInteger const kSCManagedStillImageCapturerNoStillImageConnection; #endif extern NSInteger const kSCManagedStillImageCapturerApplicationStateBackground; // We will do the image capture regardless if these is still camera adjustment in progress after 0.4 seconds. extern NSTimeInterval const kSCManagedStillImageCapturerDeadline; extern NSTimeInterval const kSCCameraRetryInterval; @protocol SCManagedCapturerLensAPI; @interface SCManagedStillImageCapturer () { @protected id _lensAPI; id _performer; AVCaptureSession *_session; id __weak _delegate; NSString *_captureSessionID; SCCapturerLightingConditionType _lightingConditionType; } - (instancetype)initWithSession:(AVCaptureSession *)session performer:(id)performer lensProcessingCore:(id)lensProcessingCore delegate:(id)delegate; - (UIImage *)imageFromData:(NSData *)data currentZoomFactor:(float)currentZoomFactor targetAspectRatio:(CGFloat)targetAspectRatio fieldOfView:(float)fieldOfView state:(SCManagedCapturerState *)state sampleBuffer:(CMSampleBufferRef)sampleBuffer; - (UIImage *)imageFromData:(NSData *)data currentZoomFactor:(float)currentZoomFactor targetAspectRatio:(CGFloat)targetAspectRatio fieldOfView:(float)fieldOfView state:(SCManagedCapturerState *)state metadata:(NSDictionary *)metadata; - (UIImage *)imageFromImage:(UIImage *)image currentZoomFactor:(float)currentZoomFactor targetAspectRatio:(CGFloat)targetAspectRatio fieldOfView:(float)fieldOfView state:(SCManagedCapturerState *)state; - (CMTime)adjustedExposureDurationForNightModeWithCurrentExposureDuration:(CMTime)exposureDuration; @end