You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.4 KiB
109 lines
4.4 KiB
//
|
|
// SCCaptureWorker.h
|
|
// Snapchat
|
|
//
|
|
// Created by Lin Jia on 10/19/17.
|
|
//
|
|
//
|
|
|
|
#import "SCCaptureResource.h"
|
|
|
|
#import <SCFoundation/SCQueuePerformer.h>
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
/*
|
|
In general, the function of SCCapturer is to use some resources (such as SCManagedCapturerListenerAnnouncer), to do
|
|
something (such as announce an event).
|
|
|
|
SCCaptureWorker abstract away the "do something" part of SCCapturer. It has very little internal states/resources.
|
|
|
|
SCCaptureWorker is introduced to be shared between CaptureV1 and CaptureV2, to minimize duplication code.
|
|
|
|
*/
|
|
|
|
@interface SCCaptureWorker : NSObject
|
|
|
|
+ (SCCaptureResource *)generateCaptureResource;
|
|
|
|
+ (void)setupWithCaptureResource:(SCCaptureResource *)captureResource
|
|
devicePosition:(SCManagedCaptureDevicePosition)devicePosition;
|
|
|
|
+ (void)setupCapturePreviewLayerController;
|
|
|
|
+ (void)startRunningWithCaptureResource:(SCCaptureResource *)captureResource
|
|
token:(SCCapturerToken *)token
|
|
completionHandler:(dispatch_block_t)completionHandler;
|
|
|
|
+ (BOOL)stopRunningWithCaptureResource:(SCCaptureResource *)captureResource
|
|
token:(SCCapturerToken *)token
|
|
completionHandler:(sc_managed_capturer_stop_running_completion_handler_t)completionHandler;
|
|
|
|
+ (void)setupVideoPreviewLayer:(SCCaptureResource *)resource;
|
|
|
|
+ (void)makeVideoPreviewLayer:(SCCaptureResource *)resource;
|
|
|
|
+ (void)redoVideoPreviewLayer:(SCCaptureResource *)resource;
|
|
|
|
+ (void)startStreaming:(SCCaptureResource *)resource;
|
|
|
|
+ (void)setupLivenessConsistencyTimerIfForeground:(SCCaptureResource *)resource;
|
|
|
|
+ (void)destroyLivenessConsistencyTimer:(SCCaptureResource *)resource;
|
|
|
|
+ (void)softwareZoomWithDevice:(SCManagedCaptureDevice *)device resource:(SCCaptureResource *)resource;
|
|
|
|
+ (void)captureStillImageWithCaptureResource:(SCCaptureResource *)captureResource
|
|
aspectRatio:(CGFloat)aspectRatio
|
|
captureSessionID:(NSString *)captureSessionID
|
|
shouldCaptureFromVideo:(BOOL)shouldCaptureFromVideo
|
|
completionHandler:
|
|
(sc_managed_capturer_capture_still_image_completion_handler_t)completionHandler
|
|
context:(NSString *)context;
|
|
|
|
+ (void)startRecordingWithCaptureResource:(SCCaptureResource *)captureResource
|
|
outputSettings:(SCManagedVideoCapturerOutputSettings *)outputSettings
|
|
audioConfiguration:(SCAudioConfiguration *)configuration
|
|
maxDuration:(NSTimeInterval)maxDuration
|
|
fileURL:(NSURL *)fileURL
|
|
captureSessionID:(NSString *)captureSessionID
|
|
completionHandler:(sc_managed_capturer_start_recording_completion_handler_t)completionHandler;
|
|
|
|
+ (void)stopRecordingWithCaptureResource:(SCCaptureResource *)captureResource;
|
|
|
|
+ (void)cancelRecordingWithCaptureResource:(SCCaptureResource *)captureResource;
|
|
|
|
+ (SCVideoCaptureSessionInfo)activeSession:(SCCaptureResource *)resource;
|
|
|
|
+ (BOOL)canRunARSession:(SCCaptureResource *)resource;
|
|
|
|
+ (void)turnARSessionOn:(SCCaptureResource *)resource;
|
|
|
|
+ (void)turnARSessionOff:(SCCaptureResource *)resource;
|
|
|
|
+ (void)clearARKitData:(SCCaptureResource *)resource;
|
|
|
|
+ (void)updateLensesFieldOfViewTracking:(SCCaptureResource *)captureResource;
|
|
|
|
+ (CMTime)firstWrittenAudioBufferDelay:(SCCaptureResource *)resource;
|
|
|
|
+ (BOOL)audioQueueStarted:(SCCaptureResource *)resource;
|
|
|
|
+ (BOOL)isLensApplied:(SCCaptureResource *)resource;
|
|
|
|
+ (BOOL)isVideoMirrored:(SCCaptureResource *)resource;
|
|
|
|
+ (BOOL)shouldCaptureImageFromVideoWithResource:(SCCaptureResource *)resource;
|
|
|
|
+ (void)setPortraitModePointOfInterestAsynchronously:(CGPoint)pointOfInterest
|
|
completionHandler:(dispatch_block_t)completionHandler
|
|
resource:(SCCaptureResource *)resource;
|
|
|
|
+ (void)prepareForRecordingWithAudioConfiguration:(SCAudioConfiguration *)configuration
|
|
resource:(SCCaptureResource *)resource;
|
|
|
|
+ (void)stopScanWithCompletionHandler:(dispatch_block_t)completionHandler resource:(SCCaptureResource *)resource;
|
|
|
|
+ (void)startScanWithScanConfiguration:(SCScanConfiguration *)configuration resource:(SCCaptureResource *)resource;
|
|
|
|
@end
|