luxlabs header browser preview


@class NSString, NSArray, FigCaptureLogSmartCameraGating, BWNodeOutput, BWSceneStabilityMonitor, NSObject;
@protocol OS_dispatch_group;

@interface BWMetadataDetectorGatingOutputController : NSObject <BWMetadataDetectedResultsObserver> {
    NSString *_name;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _currentPTS;
    NSArray *_detectionFrameRateRamp;
    char _detectionFrameRateRampStartIndex;
    BWSceneStabilityMonitor *_sceneStabilityMonitor;
    BOOL _firstBufferAfterSceneChangeHasCodes;
    NSObject<OS_dispatch_group> *_detectorAvailableGroup;
    BOOL _emittedFirstBufferAfterSceneChange;
    BOOL _isSmartCameraSceneConfident;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _detectedCodesLastSeenPTS;
    char _detectionFrameRateRampIndex;
    BOOL _forceSynchronizedControllersToRunDetectionImmediately;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock;
}

@property (readonly, nonatomic) BWNodeOutput *nodeOutput;
@property (nonatomic) BOOL usesSceneClassifierToGateDetection;
@property (nonatomic) BOOL shouldEmitFirstBufferAfterSceneChange;
@property (nonatomic) BOOL sceneMotionEstimatesSupported;
@property (nonatomic) BOOL lowPowerModeEnabled;
@property (nonatomic) BOOL synchronizeWithOtherControllers;
@property (readonly, nonatomic) BOOL shouldRunDetection;
@property (readonly, nonatomic) BOOL shouldApplySceneMotion;
@property (readonly, nonatomic, getter=isHandlingFirstBufferAfterSceneChange) BOOL handlingFirstBufferAfterSceneChange;
@property (readonly, nonatomic) BOOL shouldEmitBuffer;
@property (readonly, nonatomic) BOOL sceneLikelyToHaveCodes;
@property (nonatomic, getter=isSmartCameraSceneConfident) BOOL smartCameraSceneConfident;
@property (nonatomic) long long lastDetectedCodesCount;
@property (retain, nonatomic) FigCaptureLogSmartCameraGating *logger;
@property (nonatomic) BOOL forceSynchronizedControllersToRunDetectionImmediately;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } lastDetectionPTS;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)prepareToEmitBuffer:(struct opaqueCMSampleBuffer { } *)a0;
- (void)dealloc;
- (void)setLastDetectedCodesCount:(long long)a0 originalPTS:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1;
- (void)enableDetectionFrameRateControllingWithRamp:(id)a0 startIndex:(char)a1;
- (void)emitPixelBuffer:(struct __CVBuffer { } *)a0 inputSampleBuffer:(struct opaqueCMSampleBuffer { } *)a1 appliedPrimaryCaptureRect:(BOOL)a2;
- (void)node:(id)a0 didEmitCodesCount:(long long)a1 emittedIdentifiers:(id)a2 originalPTS:(struct { long long x0; int x1; unsigned int x2; long long x3; })a3;
- (id)initWithOutput:(id)a0 name:(id)a1 sceneStabilityMonitor:(id)a2 detectorAvailableGroup:(id)a3;

@end