luxlabs header browser preview


@class NSUUID, NSString, NSArray, CMContinuityCaptureConfiguration, NSDate, CMContinuityCaptureState, AVCMediaStreamNegotiator, CMContinuityCaptureStateMachine, NSObject, NSMutableArray, CMContinuityCaptureDeviceCapabilities;
@protocol ContinuityCaptureTransportDeviceStream, ContinuityCaptureTransportDevice, CMContinuityCaptureCompositeDeviceDelegate, OS_dispatch_queue;

@interface CMContinuityCaptureDeviceBase : NSObject <CMContinuityCaptureDevice> {
    NSObject<OS_dispatch_queue> *_queue;
    long long _entity;
    CMContinuityCaptureDeviceCapabilities *_capabilities;
    id<CMContinuityCaptureCompositeDeviceDelegate> _compositeDelegate;
    NSMutableArray *_streamSessionLogs;
    _Atomic BOOL _streaming;
    CMContinuityCaptureStateMachine *_stateMachine;
    CMContinuityCaptureStateMachine *_streamActionStateMachine;
    CMContinuityCaptureConfiguration *_activeConfiguration;
    id /* block */ _streamTimeoutBlock;
    unsigned long long _lastStreamNoOfFramesDispatched;
    unsigned long long _lastStreamNoOfHighLatencyFrames;
    NSDate *_lastStreamStartTime;
    NSDate *_lastStreamFirstFrameDispatchTime;
    AVCMediaStreamNegotiator *_avcStreamNegotiator;
    NSMutableArray *_pendingCompletionBlocks;
    id<ContinuityCaptureTransportDevice> _transportDevice;
    id<ContinuityCaptureTransportDeviceStream> _transportStream;
    BOOL _avcStackStarted;
    BOOL _terminated;
    id<ContinuityCaptureTransportDevice> _deviceStatusObserverDevice;
    unsigned long long _cameraCaptureStackStartTime;
    unsigned long long _avCaptureStackStartTime;
    _Atomic BOOL _observingStateMachineState;
    _Atomic BOOL _invalidated;
    _Atomic BOOL _hasStreamIntent;
}

@property (readonly, retain) NSObject<OS_dispatch_queue> *queue;
@property (readonly) long long entity;
@property (readonly, retain) CMContinuityCaptureDeviceCapabilities *capabilities;
@property (readonly, weak) id<CMContinuityCaptureCompositeDeviceDelegate> compositeDelegate;
@property (readonly, retain) NSArray *controls;
@property (readonly, retain) NSUUID *deviceID;
@property (readonly, retain) id<ContinuityCaptureTransportDeviceStream> transportStream;
@property (readonly) BOOL streaming;
@property (readonly, retain) CMContinuityCaptureConfiguration *activeConfiguration;
@property (readonly, retain) AVCMediaStreamNegotiator *avcStreamNegotiator;
@property (readonly, retain) CMContinuityCaptureStateMachine *streamActionStateMachine;
@property (readonly, retain) CMContinuityCaptureState *stateMachineCurrentState;
@property (readonly, retain) id<ContinuityCaptureTransportDevice> transportDevice;
@property (readonly, nonatomic) unsigned long long currentSessionID;
@property (readonly, nonatomic) unsigned long long cameraCaptureStackStartTime;
@property (readonly, nonatomic) unsigned long long avCaptureStackStartTime;
@property (readonly, nonatomic) BOOL invalidated;
@property (nonatomic, getter=hasStreamIntent) BOOL streamIntent;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (void)defaultStateEntryTransitionActionForState:(id)a0 onEvent:(id)a1;
+ (BOOL)defaultStateExitGuard:(id)a0 dstState:(id)a1 onEvent:(id)a2;
+ (void)defaultStateExitTransitionActionForState:(id)a0 onEvent:(id)a1;
+ (BOOL)keepRemoteClientAliveForEvent:(id)a0;

- (void)dealloc;
- (BOOL)activeConnection;
- (void)invalidate;
- (id)debugInfo;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (id)_debugInfo;
- (void)_startStream:(id)a0 option:(unsigned long long)a1 completion:(id /* block */)a2;
- (void)scheduleDeviceBusyNotification:(BOOL)a0;
- (void)stateMachineClearDeferredEvents;
- (id)_aggregateEventDuplicatesInAnyState:(id)a0 eventName:(id)a1;
- (id)_aggregateEventPairInAnyState:(id)a0 entryEventName:(id)a1 exitEventName:(id)a2;
- (id)_aggregateStreamEventsInInitState:(id)a0;
- (id)_aggregateStreamEventsInStreamState:(id)a0;
- (void)_handleAVCNegotiation:(long long)a0 data:(id)a1;
- (void)_stopStream:(long long)a0 option:(unsigned long long)a1 completion:(id /* block */)a2;
- (id)aggregateEvents:(id)a0;
- (void)captureStillImage:(id)a0 entity:(long long)a1 completion:(id /* block */)a2;
- (void)connectionInterrupted:(id)a0 forDevice:(id)a1;
- (void)didCaptureStillImage:(id)a0 entity:(long long)a1;
- (void)dispatchFrame:(struct opaqueCMSampleBuffer { } *)a0 entity:(long long)a1 completion:(id /* block */)a2;
- (void)enqueueReactionEffect:(id)a0 entity:(long long)a1;
- (void)forceDeviceRemoval;
- (void)handleAVCNegotiation:(long long)a0 data:(id)a1;
- (void)handleSynchronizeAudioClockCompletion;
- (id)initWithCapabilities:(id)a0 compositeDelegate:(id)a1 transportDevice:(id)a2 queue:(id)a3;
- (void)logStreamSessionSummary;
- (void)postActionCompletionForEventName:(id)a0 eventData:(id)a1 error:(id)a2;
- (BOOL)postActionGuardOfType:(unsigned long long)a0 forEventName:(id)a1 option:(unsigned long long)a2;
- (void)postActionOfType:(unsigned long long)a0 forEvent:(id)a1 option:(unsigned long long)a2;
- (void)postEvent:(id)a0 entity:(long long)a1 data:(id)a2;
- (void)printFrameBufferLog:(long long)a0;
- (void)resetTransportDevice:(id)a0;
- (void)setStreamStateTimeout:(BOOL)a0 forTime:(unsigned int)a1;
- (void)setValueForControl:(id)a0 completion:(id /* block */)a1;
- (void)setupStateMachine;
- (void)setupStreamActionStateMachine;
- (BOOL)startAVConferenceStack:(unsigned long long)a0;
- (BOOL)startCameraCaptureStack:(unsigned long long)a0;
- (void)startStream:(id)a0 option:(unsigned long long)a1 completion:(id /* block */)a2;
- (void)startStreamCompletedWithError:(id)a0;
- (void)stateMachineNotifyComplete:(id)a0;
- (void)stateMachineReStartStreamOnEvent:(id)a0 option:(unsigned long long)a1;
- (void)stateMachineStartStreamOnEvent:(id)a0 option:(unsigned long long)a1;
- (void)stateMachineStopStreamOnEvent:(id)a0 option:(unsigned long long)a1;
- (void)stateMachineStreamSubstateReceiveData:(id)a0;
- (void)stateMachineStreamSubstateSendData:(id)a0;
- (BOOL)stopCameraCaptureStack:(unsigned long long)a0;
- (void)stopCaptureStack:(unsigned long long)a0 completion:(id /* block */)a1;
- (void)stopStream:(long long)a0 option:(unsigned long long)a1 completion:(id /* block */)a2;
- (void)streamStateMachineNotifyComplete:(id)a0;
- (void)synchronizeAudioClockWithSampleTime:(unsigned long long)a0 networkTime:(unsigned long long)a1 clockGrandMasterIdentifier:(unsigned long long)a2;
- (void)terminateComplete:(id /* block */)a0;
- (void)unconditionalTransitionForState:(id)a0 andDeferringEvent:(id)a1;

@end