luxlabs header browser preview


@class NSHashTable, AVCaptureDeviceInput, CAMCaptureMovieFileOutput, CAMMemoizationCache, NSMutableArray, NSString, AVCaptureMetadataOutput, AVCaptureDevice, NSMutableSet, CAMPanoramaProcessor, AVCaptureSession, NSMutableDictionary, AVCaptureVideoThumbnailOutput, NSObject, AVSpatialOverCaptureVideoPreviewLayer, CAMPanoramaOutput, CIContext, CAMPowerController, NSURL, AVCaptureVideoDataOutput, AVCapturePhotoOutput, AVCaptureVideoPreviewLayer;
@protocol OS_dispatch_queue, OS_dispatch_semaphore;

@interface CAMCaptureEngine : NSObject <CAMPanoramaProcessorDelegate, AVCaptureVideoThumbnailContentsDelegate> {
    AVCaptureDevice *_audioCameraDevice;
    AVCaptureDeviceInput *_audioCaptureDeviceInput;
    AVCapturePhotoOutput *_stillImageOutput;
    CAMCaptureMovieFileOutput *_movieFileOutput;
    CAMPanoramaOutput *_panoramaVideoDataOutput;
    AVCaptureMetadataOutput *_metadataOutput;
    AVCaptureVideoDataOutput *_effectsPreviewVideoDataOutput;
    AVCaptureVideoThumbnailOutput *_videoThumbnailOutput;
}

@property (readonly, nonatomic) CAMMemoizationCache *_captureEngineDeviceCache;
@property (readonly, nonatomic) long long _engineOptions;
@property (readonly, nonatomic) AVCaptureSession *_captureSession;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_captureSessionQueue;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_captureResultsQueue;
@property (readonly, nonatomic) AVCaptureVideoPreviewLayer *_videoPreviewLayer;
@property (readonly, nonatomic) AVSpatialOverCaptureVideoPreviewLayer *_overCaptureVideoPreviewLayer;
@property (nonatomic, getter=isInterrupted, setter=_setInterrupted:) BOOL interrupted;
@property (readonly, nonatomic) CAMPowerController *_powerController;
@property (nonatomic, setter=_setPanoramaAssertionIdentifier:) unsigned int _panoramaAssertionIdentifier;
@property (retain, nonatomic) AVCaptureDevice *currentCameraDevice;
@property (retain, nonatomic) AVCapturePhotoOutput *currentStillImageOutput;
@property (nonatomic, getter=areManagedDevicesLockedForConfiguration) BOOL managedDevicesLockedForConfiguration;
@property (readonly, nonatomic) NSMutableDictionary *_resultsQueueRegisteredStillImageRequests;
@property (readonly, nonatomic) NSMutableSet *_resultsQueueRegisteredStillImageRequestsDispatchedToFilteringQueue;
@property (readonly, nonatomic) NSMutableDictionary *_sessionQueueCachedPhotoInitiationSettings;
@property (readonly, nonatomic) NSMutableDictionary *_resultsQueueRequestsBeingRecorded;
@property (retain, nonatomic, setter=_setResultsQueueLastCompletedVideoURL:) NSURL *_resultsQueueLastCompletedVideoURL;
@property (nonatomic, setter=_setResultsQueueLastCompletedVideoZoomFactor:) double _resultsQueueLastCompletedVideoZoomFactor;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_captureServicesQueue;
@property (readonly, nonatomic) NSMutableArray *_servicesQueueCaptureServices;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_metadataObjectsQueue;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_panoramaSampleBufferQueue;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_panoramaSubgraphQueue;
@property (nonatomic, setter=_setPanoramaImageQueue:) struct _CAImageQueue { } *_panoramaImageQueue;
@property (retain, nonatomic, setter=_setPanoramaProcessor:) CAMPanoramaProcessor *_panoramaProcessor;
@property (retain, nonatomic, setter=_setPanoramaFirstImageQueueUpdateSemaphore:) NSObject<OS_dispatch_semaphore> *_panoramaFirstImageQueueUpdateSemaphore;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_panoramaFirstImageQueueUpdateSemaphoreQueue;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_effectsPreviewSurfaceFilteringQueue;
@property (readonly, nonatomic) CIContext *_effectsPreviewSurfaceFilteringContext;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_effectsPreviewSampleBufferQueue;
@property (readonly, nonatomic) NSHashTable *_effectsPreviewSampleBufferDelegates;
@property (readonly, nonatomic) NSHashTable *_videoThumbnailContentsDelegates;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_recoveryMutexQueue;
@property (nonatomic, getter=_isPerformingRecovery, setter=_setPerformingRecovery:) BOOL _performingRecovery;
@property (nonatomic, setter=_setNumberOfRecoveryAttempts:) unsigned long long _numberOfRecoveryAttempts;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *_signpostMutexQueue;
@property (readonly, nonatomic) NSMutableSet *_didEmitCaptureIntervalStartedSignpostsForUniqueID;
@property (readonly, nonatomic) AVCaptureVideoPreviewLayer *videoPreviewLayer;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (void)preheatCaptureResources;
+ (id)_cacheKeyForDeviceType:(id)a0 position:(long long)a1;

- (void)_handleApplicationWillEnterForeground:(id)a0;
- (void)stopRecording;
- (void)clearCachedMomentCaptureSettingsForIdentifier:(id)a0;
- (void)_subgraphQueueHandlePanoramaErrorNotification:(struct __CFString { } *)a0;
- (void)_handleApplicationDidEnterBackground:(id)a0;
- (void)_commitSessionConfigurationIfNecessaryWithLogReason:(id)a0;
- (struct __CVBuffer { } *)_createOutputPixelBufferWithSize:(struct CGSize { double x0; double x1; })a0 matchingInputPixelBuffer:(struct __CVBuffer { } *)a1;
- (BOOL)_updatePanoramaSubgraphForEnteringBackground:(BOOL)a0;
- (void)changeToPanoramaDirection:(long long)a0;
- (void)unregisterEffectsPreviewSampleBufferDelegate:(id)a0;
- (void)registerEffectsPreviewSampleBufferDelegate:(id)a0;
- (void)captureOutput:(id)a0 didFinishWritingMovie:(id)a1 error:(id)a2;
- (void)_performSessionNonstartRecoveryIfNeeded;
- (void)dealloc;
- (void)_updateEffectsSubgraph;
- (void)_subgraphQueueCreatePanoramaProcessorIfNecessaryWithEncodingBehavior:(long long)a0;
- (void)enqueueCommands:(id)a0;
- (id)metadataOutput;
- (void)_beginSessionConfigurationIfRequiredByCommand:(id)a0 withContext:(id)a1 logReason:(out id *)a2 minimumExecutionTime:(out double *)a3;
- (id)_expectedResultSpecifiersForResolvedMomentCaptureMovieSettings:(id)a0;
- (id)backSuperWideCameraDevice;
- (void)_updateCurrentlyConfiguredObjects;
- (id)frontCameraDevice;
- (void)_resultsQueue_logReceivedCallbacksForID:(long long)a0 withIntroString:(id)a1;
- (void)captureOutput:(id)a0 willBeginCaptureForResolvedSettings:(id)a1;
- (void)_handleFailedSessionRecoveryAttemptAfterDelay:(BOOL)a0;
- (void)captureOutput:(id)a0 didOutputMetadataObjects:(id)a1 forMetadataObjectTypes:(id)a2 fromConnection:(id)a3;
- (void)captureOutput:(id)a0 didDropSampleBuffer:(struct opaqueCMSampleBuffer { } *)a1 fromConnection:(id)a2;
- (id)prewarmedVideoDeviceInput:(id)a0 position:(long long)a1 device:(id)a2;
- (void)registerStillImageCaptureRequest:(id)a0 withSettings:(id)a1;
- (void)captureOutput:(id)a0 didFinishProcessingLivePhotoToMovieFileAtURL:(id)a1 duration:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2 photoDisplayTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a3 resolvedSettings:(id)a4 error:(id)a5;
- (void)currentInflightCapturesStringWithCompletionHandler:(id /* block */)a0;
- (id)stillImageOutput;
- (void)unregisterCaptureService:(id)a0;
- (void)captureOutput:(id)a0 didCapturePhotoForResolvedSettings:(id)a1;
- (void)_enumerateCaptureServicesUsingBlock:(id /* block */)a0 completion:(id /* block */)a1;
- (id)_TTRKeywordIDsFromCaptureRequest:(id)a0;
- (id)overCaptureVideoPreviewLayer;
- (void)captureOutput:(id)a0 didFinishCaptureForResolvedSettings:(id)a1 error:(id)a2;
- (id)frontSuperWideCameraDevice;
- (id)_captureEngineDeviceForDeviceType:(id)a0 position:(long long)a1;
- (double)_delayForRecoveryAttempt:(unsigned long long)a0;
- (id)videoThumbnailOutput;
- (void)changePanoramaEncodingBehaviorIfNeeded:(long long)a0;
- (void)_sessionQueuePanoramaTeardown;
- (void)_handleCaptureOutputDidFinishCapturingPhoto:(id)a0 deferredPhotoProxy:(id)a1 error:(id)a2;
- (struct __CVBuffer { } *)_newFilteredPixelBufferFromPixelBuffer:(struct __CVBuffer { } *)a0 metadata:(id)a1 filters:(id)a2;
- (void)captureOutput:(id)a0 didBeginMovieCaptureForResolvedSettings:(id)a1;
- (void)_cancelDelayedSessionNonstartRecovery;
- (id)panoramaVideoDataOutput;
- (void)startPanoramaCaptureWithRequest:(id)a0;
- (id)_previewFiltersForFilterSet:(struct { long long x0; long long x1; struct CGSize { double x0; double x1; } x2; long long x3; })a0;
- (void)captureOutput:(id)a0 didStartRecordingToOutputFileAtURL:(id)a1 fromConnections:(id)a2;
- (struct { long long x0; long long x1; struct CGSize { double x0; double x1; } x2; long long x3; })_previewFilterSetForRequest:(id)a0 photo:(id)a1;
- (void)captureOutput:(id)a0 didFinishProcessingPhoto:(id)a1 error:(id)a2;
- (void)stopPanoramaCaptureInterrupted:(BOOL)a0;
- (BOOL)_lockAllEngineManagedDevices;
- (void)captureOutput:(id)a0 didFinishRecordingToOutputFileAtURL:(id)a1 fromConnections:(id)a2 error:(id)a3;
- (void)_panoramaSampleBufferQueue_stopPanoramaCaptureIfNecessaryInterrupted:(BOOL)a0;
- (void)_subgraphQueueHandlePanoramaWarningNotification:(struct __CFString { } *)a0;
- (void)_notifyServicesOfPanoramaConfigurationChangeWithImageQueue:(struct _CAImageQueue { } *)a0 direction:(long long)a1;
- (void)_subgraphQueueHandlePanoramaStatusNotification:(struct __CFString { } *)a0;
- (void)captureOutput:(id)a0 didFinishRecordingMovie:(id)a1;
- (void)captureOutput:(id)a0 didFinishProcessingLivePhotoToMovieFileAtURL:(id)a1 duration:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2 photoDisplayTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a3 metadataIdentifiers:(id)a4 resolvedSettings:(id)a5 error:(id)a6;
- (void)_handleSessionRuntimeError:(id)a0;
- (void)captureOutput:(id)a0 didFinishRecordingLivePhotoMovieForEventualFileAtURL:(id)a1 resolvedSettings:(id)a2;
- (void)unregisterVideoThumbnailContentsDelegate:(id)a0;
- (id)cachedMomentCaptureSettingsForIdentifier:(id)a0;
- (void)_scheduleDelayedRecoveryCheckIfNecessary;
- (BOOL)_isSessionModificationRequiredByCommand:(id)a0 logReason:(out id *)a1 minimumExecutionTime:(out double *)a2;
- (void)_updateContext:(id)a0;
- (id)systemPreferredCameraDevice;
- (id)prewarmedAudioDeviceInput:(id)a0 device:(id)a1;
- (void)startWithRetryCount:(unsigned long long)a0 retryInterval:(double)a1 logReason:(id)a2 completion:(id /* block */)a3;
- (void)_resetPerformingRecoveryState;
- (id)backCameraDevice;
- (void)captureOutput:(id)a0 didFinishCapturingDeferredPhotoProxy:(id)a1 error:(id)a2;
- (void)captureOutput:(id)a0 willBeginCaptureBeforeResolvingSettingsForUniqueID:(long long)a1;
- (void)_unlockAllEngineManagedDevices;
- (id)_accumulatedUserInfoFromCommand:(id)a0;
- (id)backTripleCameraDevice;
- (id)movieFileOutput;
- (void).cxx_destruct;
- (void)captureOutput:(id)a0 didOutputSampleBuffer:(struct opaqueCMSampleBuffer { } *)a1 fromConnection:(id)a2;
- (void)_didFinishStillImageCaptureForUniqueID:(long long)a0 error:(id)a1;
- (void)_subgraphQueueCreatePanoramaImageQueueIfNecessary;
- (void)_performSessionRuntimeRecovery:(id)a0;
- (id)prewarmedCaptureSession;
- (struct { long long x0; long long x1; struct CGSize { double x0; double x1; } x2; long long x3; })_previewFilterSetForRequest:(id)a0 previewSize:(struct CGSize { double x0; double x1; })a1;
- (id)_videoDeviceInputFromSession:(id)a0;
- (BOOL)_shouldStartSessionOnConfigurationChanges;
- (id)backTelephotoCameraDevice;
- (id)_coordinationInfoForRequest:(id)a0 resolvedSettings:(id)a1 videoComplementURL:(id)a2 isFiltered:(BOOL)a3;
- (void)captureOutput:(id)a0 willCapturePhotoForResolvedSettings:(id)a1;
- (void)_executeCommand:(id)a0 withContext:(id)a1;
- (id)_photoOutputFromSession:(id)a0;
- (void)_checkCallbacksForUniqueID:(long long)a0 afterDelay:(double)a1 startTime:(double)a2;
- (void)_handleSessionInterruption:(id)a0;
- (id)backWideDualCameraDevice;
- (void)registerVideoCaptureRequest:(id)a0;
- (id)frontPearlCameraDevice;
- (void)videoThumbnailOutputWillEndRenderingThumbnails:(id)a0;
- (id)_coordinationInfoForCTMVideoRequest:(id)a0 videoOutputURL:(id)a1 resolvedMomentCaptureMovieSettings:(id)a2;
- (void)captureOutput:(id)a0 readyForResponsiveRequestAfterResolvedSettings:(id)a1;
- (void)_resultsQueue_performPostprocessingForPreviewBuffer:(struct __CVBuffer { } *)a0 metadata:(id)a1 filters:(struct { long long x0; long long x1; struct CGSize { double x0; double x1; } x2; long long x3; })a2 stillImageCaptureRequestKey:(id)a3 completionHandler:(id /* block */)a4;
- (id)audioCaptureDevice;
- (void)_handleSessionInterruptionEnded:(id)a0;
- (void)_handleSessionDidStartRunning:(id)a0;
- (long long)_notificationForError:(struct __CFString { } *)a0;
- (void)_sessionQueue_startWithRetryCount:(unsigned long long)a0 retryInterval:(double)a1 logReason:(id)a2 completion:(id /* block */)a3;
- (id)_expectedResultSpecifiersForResolvedPhotoSettings:(id)a0;
- (void)cancelAutoResumeAfterDate:(id)a0;
- (void)registerCaptureService:(id)a0;
- (void)_validateSessionRecovery;
- (void)_scheduleDelayedSessionNonstartRecovery;
- (void)_recoverFromSessionRuntimeError;
- (void)_handleSessionDidStopRunning:(id)a0;
- (void)captureOutput:(id)a0 didFinishMovieCaptureForResolvedSettings:(id)a1 error:(id)a2;
- (id)backDualCameraDevice;
- (id)_validateVideoAtURL:(id)a0 forCaptureRequest:(id)a1 captureID:(long long)a2 captureError:(id)a3 isVideoComplement:(BOOL)a4 stillImageDisplayTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a5 reportedDuration:(struct { long long x0; int x1; unsigned int x2; long long x3; })a6 outActualDuration:(struct { long long x0; int x1; unsigned int x2; long long x3; } *)a7 outVideoRecordingStoppedReason:(long long *)a8 outSlowWriterFrameDrops:(BOOL *)a9;
- (void)cacheMomentCaptureSettings:(id)a0 forIdentifier:(id)a1;
- (id)audioCaptureDeviceInput;
- (id)initWithPowerController:(id)a0 options:(long long)a1;
- (void)panoramaProcessor:(id)a0 didProcessSampleBuffer:(struct opaqueCMSampleBuffer { } *)a1 withStatus:(int)a2 forRequest:(id)a3;
- (void)_enumerateCaptureServicesUsingBlock:(id /* block */)a0;
- (void)_captureOutput:(id)a0 didFinishRecordingToOutputFileAtURL:(id)a1 fromConnections:(id)a2 forVideoCaptureRequest:(id)a3 videoZoomFactor:(double)a4 error:(id)a5;
- (void)enqueueCommand:(id)a0;
- (id)effectsPreviewVideoDataOutput;
- (BOOL)_lockManagedCapturedDevice:(id)a0;
- (id)_coordinationInfoForRequest:(id)a0 photo:(id)a1;
- (void)_updateVideoThumbnailSubgraph;
- (void)registerVideoEndZoomFactor:(double)a0;
- (void)videoThumbnailOutput:(id)a0 willBeginRenderingThumbnailsWithContents:(id)a1;
- (void)stopWithCompletion:(id /* block */)a0;
- (void)_sessionQueuePanoramaSetup;
- (void)registerVideoThumbnailContentsDelegate:(id)a0;
- (void)_unlockManagedCaptureDevice:(id)a0;

@end