luxlabs header browser preview


@class NSMutableArray, CMCaptureFrameSenderService, BWStats, CAContext, NSObject, BWFigVideoCaptureDevice;
@protocol OS_os_transaction, BWImageQueueSinkNodePreviewTapDelegate, OS_dispatch_queue;

@interface BWImageQueueSinkNode : BWSinkNode {
    unsigned int _imageQueueCapacity;
    unsigned int _imageQueueWidth;
    unsigned int _imageQueueHeight;
    unsigned int _imageQueueRequiredFreeSlots;
    struct _CAImageQueue { } *_imageQueue;
    unsigned int _imageQueueSlot;
    unsigned long long _imageQueueCurrentFreeSlots;
    CMCaptureFrameSenderService *_frameSender;
    int _syncStrategy;
    BOOL _resetPreviewSynchronizerOnNextFrame;
    struct OpaqueBWPreviewSynchronizer { } *_previewSynchronizer;
    double _lastDisplaySamplingTime;
    double _lastDisplayVSyncInterval;
    double _lastHarmonicFractionalVSyncInterval;
    double _lastFramePTS;
    double _lastDisplayTime;
    double _lateFrameIntervalStartPTS;
    double _previousFrameDuration;
    unsigned long long _framesSinceLastHarmonicCompensation;
    BOOL _CAVSyncIntervalWorkaroundEnabled;
    BOOL _highLatencyJitterHandlingEnabled;
    BOOL _fasterLatencyRecoveryEnabled;
    BOOL _driftCompensationTimestampFilteringEnabled;
    unsigned long long _numFramesReceived;
    unsigned long long _numFramesReceivedBeforeFirstDisplayTimeout;
    NSObject<OS_os_transaction> *_holdingBuffersForClientAssertion;
    NSMutableArray *_sharedSurfaces;
    unsigned long long *_sharedBufferIDs;
    unsigned long long _sharedSurfaceCount;
    struct OpaqueFigSimpleMutex { } *_surfaceRegistrationMutex;
    NSMutableArray *_bufferIDsInQueue;
    struct _EnqueuedBufferContext **_enqueuedBufferContexts;
    unsigned long long _enqueuedBufferContextCount;
    NSMutableArray *_previewPTSHistory;
    struct OpaqueFigSimpleMutex { } *_previewPTSHistoryMutex;
    NSObject<OS_dispatch_queue> *_previewPTSHistoryQueue;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _firstFramePTS;
    long long _firstFrameHostTime;
    BOOL _didCallFirstFrameAtHostTimeCallback;
    BOOL _didCallFirstFrameCallback;
    long long _firstOverCaptureFrameHostTime;
    BOOL _didLogFirstOverCaptureFrame;
    BOOL _fenceSupportEnabled;
    BOOL _fencePortGenerationIDWillChange;
    int _framesSinceLastFenceIDWillChange;
    int _framesSinceLastFence;
    long long _lastFencedGenerationID;
    int _savedSyncStrategy;
    CAContext *_imageQueueContext;
    int _maxLossyCompressionLevel;
    struct FigCaptureVideoTransform { BOOL mirrored; int rotationDegrees; struct { int width; int height; } dimensions; } _transform;
    BWStats *_frameDisplayLatencyStats;
    int _clientPID;
    struct { unsigned int val[8]; } _clientAuditToken;
    BOOL _videoHDRImageStatisticsEnabled;
}

@property (readonly, nonatomic) struct _CAImageQueue { } *imageQueue;
@property (readonly, nonatomic) unsigned int imageQueueSlot;
@property (nonatomic) id<BWImageQueueSinkNodePreviewTapDelegate> previewTapDelegate;
@property (retain, nonatomic) BWFigVideoCaptureDevice *captureDevice;

+ (void)initialize;

- (BOOL)videoHDRImageStatisticsEnabled;
- (void)handleDroppedSample:(id)a0 forInput:(id)a1;
- (void)setVideoHDRImageStatisticsEnabled:(BOOL)a0;
- (void)setTransform:(struct FigCaptureVideoTransform { BOOL x0; int x1; struct { int x0; int x1; } x2; })a0;
- (void)prepareForCurrentConfigurationToBecomeLive;
- (void)renderSampleBuffer:(struct opaqueCMSampleBuffer { } *)a0 forInput:(id)a1;
- (void)dealloc;
- (void)configurationWithID:(long long)a0 updatedFormat:(id)a1 didBecomeLiveForInput:(id)a2;
- (id)initWithHFRSupport:(BOOL)a0 ispJitterCompensationEnabled:(BOOL)a1 clientAuditToken:(struct { unsigned int x0[8]; })a2 sinkID:(id)a3;
- (void)didReachEndOfDataForInput:(id)a0;
- (id)nodeSubType;
- (void)makeCurrentConfigurationLive;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })previewPTSAtHostTime:(unsigned long long)a0;
- (int)syncStrategy;
- (void)setFenceSupportEnabled:(BOOL)a0;
- (struct FigCaptureVideoTransform { BOOL x0; int x1; struct { int x0; int x1; } x2; })transform;
- (void)fencePortGenerationIDWillChange;
- (void)setSyncStrategy:(int)a0;
- (BOOL)fenceSupportEnabled;
- (void)registerSurfacesFromSourcePool:(id)a0;
- (int)maxLossyCompressionLevel;
- (BOOL)hasNonLiveConfigurationChanges;
- (void)setMaxLossyCompressionLevel:(int)a0;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })previewPTSDisplayedAtHostTime:(unsigned long long)a0 allowingExtrapolation:(BOOL)a1;
- (void)inputConnectionWillBeEnabled;

@end