luxlabs header browser preview


@class NSArray, BWFigVideoCaptureStream, NSString;

@interface BWBravoStreamSelector : NSObject {
    BWFigVideoCaptureStream *_wideStream;
    BWFigVideoCaptureStream *_teleStream;
    BWFigVideoCaptureStream *_superWideStream;
    float _teleMaxAEGain;
    float _teleAEGainHysteresisLag;
    BOOL _teleAEHysteresisUseEIT;
    float _teleMaxEIT;
    float _teleMinTeleToWideEITThresholdPercentage;
    float _teleMaxTeleToWideEITThresholdPercentage;
    float _teleToWideFocusDistance;
    float _wideToTeleFocusDistance;
    int _teleMaxSubsequentFramesAtMaxGain;
    int _teleMaxSubsequentFramesAtMaxEIT;
    BOOL _teleSwitchBasedOnExposureAndFocusTargetOffsetEnabled;
    float _superWideMaximumAETargetOffset;
    float _superWideMaximumAETargetOffsetHysteresisLag;
    int _superWideToWideNumberOfConsecutiveFramesWithMaximumAETargetOffset;
    int _superWideToWideNumberOfConsecutiveFramesWithMaximumAETargetOffsetThreshold;
    double _digitalFlashMinTeleToWideEITThreshold;
    double _digitalFlashMaxTeleToWideEITThreshold;
    double _digitalFlashMinTeleToWideEITThresholdWithHumansPresent;
    double _digitalFlashMaxTeleToWideEITThresholdWithHumansPresent;
    int _digitalFlashTeleToWideNumberOfConsecutiveFramesWithHumanPresentThreshold;
    BOOL _digitalFlashAdjustEITForTargetOffsetAndBias;
    BOOL _afRecommendedMasterPortTypeForWideTeleAutoSwitchEnabled;
    BOOL _afRecommendedMasterPortTypeForWideSuperWideAutoSwitchEnabled;
    unsigned int _afMaxFocusPositionStepForStableStatus;
    BWFigVideoCaptureStream *_currentMasterStream;
    struct { long long selectionBehavior; unsigned long long restrictedSelectionConditions; } _selectionConfiguration;
    struct { long long selectionBehavior; unsigned long long restrictedSelectionConditions; } _pendingSelectionConfiguration;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _pendingSelectionConfigurationLock;
    NSArray *_lastPotentialMasterStreams;
    NSArray *_lastEligibleFallbackPortTypes;
    BOOL _allowSwitchesWithFineMovement;
    float _previousZoomFactor;
    long long _timeOfLastZoomFactorChange;
    long long _timeOfLastPortTypeMadeEligibleByZoom;
    NSString *_lastPortTypeMadeEligibleByZoom;
    long long _timeOfLastFocusModeChange;
    long long _timeOfLastExposureModeChange;
    BOOL _waitingForSlaveFocusAfterZoomChange;
    int _teleMaxGainReachedCounter;
    int _teleMaxEITReachedCounter;
    int _numberOfConsecutiveFramesWithHumans;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _eligibleFallbackPortTypesLock;
    NSArray *_eligibleFallbackPortTypes;
    NSArray *_supportedFallbackPortTypes;
    float _minLuxLevelChangeForSceneChange;
    double _digitalFlashMinEITPercentageChangeForSceneChange;
    float _minFocusDistanceChangeForSceneChange;
    BOOL _resetSceneChangeMonitoring;
    BOOL _sceneChangeDetected;
    int _initialLuxLevel;
    double _initialEIT;
    float _initialFocusDistance;
    BOOL _superWideWaitForStableFocusOnce;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _superWideFirstFrameReceivedTime;
    int _lastSuperWideLogicalLensFocusPosition;
    BOOL _superWideLogicalLensFocusPositionChangedOnce;
    unsigned int _superWideLogicalLensFocusPositionChangedTimeoutInMilliSeconds;
    BOOL _superWideFocusIsStableOnce;
    float _exposureRangeLowForRecommendedMasterSwitch;
    float _exposureRangeHighForRecommendedMasterSwitch;
}

@property (readonly, nonatomic) BOOL superWideAutoSwitchingSupported;
@property (readonly, nonatomic) float wideToSuperWideFocusDistance;
@property (readonly, nonatomic) float superWideToWideFocusDistance;
@property (nonatomic) float teleMaxAEGain;
@property (nonatomic) float teleMaxEIT;
@property (nonatomic) struct { long long x0; unsigned long long x1; } selectionConfiguration;
@property (copy, nonatomic) NSArray *eligibleFallbackPortTypes;
@property (readonly, nonatomic) BWFigVideoCaptureStream *slaveStreamBlockingFocusAndExposureStability;
@property (readonly, nonatomic) BWFigVideoCaptureStream *preferredMasterStreamIgnoringEligibleFallbackPortTypes;
@property (readonly, nonatomic) BWFigVideoCaptureStream *recommendedMasterStream;
@property (readonly, nonatomic) int lastSelectionReason;

+ (void)initialize;

- (BOOL)telephotoLimitsReachedForFrameStatisticsByPortType:(id)a0;
- (void)dealloc;
- (void)exposureModeDidChange;
- (void)focusModeDidChange;
- (id)recommendMasterStreamUsingCurrentMasterStream:(id)a0 frameStatisticsByPortType:(id)a1 zoomFactor:(float)a2 digitalFlashMode:(int)a3 detectedObjects:(id)a4 cameraControlsStatisticsMasterStream:(id)a5;
- (id)initWithStreamSelectionAttributes:(id)a0 wideStream:(id)a1 teleStream:(id)a2 superWideStream:(id)a3 cameraCalibrationValid:(BOOL)a4;
- (id)preferredMasterPortTypeForFrameStatisticsByPortType:(id)a0 zoomFactor:(float)a1;
- (void)resetWithZoomFactor:(float)a0 currentMasterStream:(id)a1;

@end