luxlabs header browser preview


@class NSArray, NSString, NSDictionary, BWNodeOutput, AVAudioSession, NSObject;
@protocol OS_dispatch_queue, OS_dispatch_source;

@interface BWAudioSourceNode : BWSourceNode <BWAudioSourceRecordingReadinessDelegate, BWZoomCompletionDelegate> {
    BWNodeOutput *_outputsByMicSourcePosition[3];
    NSDictionary *_sourceRequirements;
    AVAudioSession *_audioSession;
    NSString *_MXSessionAudioMode;
    struct opaqueCMSession { } *_CMSession;
    BOOL _useDecoupledIO;
    BOOL _prefersNoInterruptionsByRingtonesAndAlerts;
    NSObject<OS_dispatch_queue> *_audioSessionSetRecordingRelatedPropertyQueue;
    BOOL _isConfiguredForContinuityCapture;
    BOOL _doEndInterruption;
    BOOL _isAppAudioSession;
    BOOL _configuresSession;
    double _sessionRequiredSampleRate;
    struct { unsigned int val[8]; } _clientAuditToken;
    int _clientPID;
    NSString *_clientAudioClockDeviceUID;
    struct OpaqueCMClock { } *_clock;
    unsigned int _audioDeviceID;
    struct opaqueCMFormatDescription { } *_auOutputFormatDescription;
    unsigned int _pullDuration;
    struct OpaqueAudioComponentInstance { } *_audioUnit;
    unsigned int _auSubType;
    struct opaqueCMSimpleQueue { } *_renderProcErrorQueue;
    struct opaqueCMSimpleQueue { } *_inactiveBuffersQueue;
    struct opaqueCMSimpleQueue { } *_activeBuffersQueue;
    unsigned long long _nextExpectedHostTime;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _nextExpectedSampleTime;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _ioprocTimeStampDeltaLimit;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _prevPTS;
    unsigned int _prevNumFrames;
    NSObject<OS_dispatch_queue> *_generateSamplesDispatchQueue;
    BOOL _streamStarted;
    BOOL _endOfDataMarkerSent;
    BOOL _levelMeteringEnabled;
    int _audioLevelUnits;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _latencyOffset;
    NSObject<OS_dispatch_source> *_silenceTimer;
    long long _auRenderCount;
    long long _silenceFramesGeneratedSinceLastAURenderProc;
    struct TimestampedAudioBufferList { struct __CFAllocator *allocator; long long auRenderCount; unsigned int dataBytesCapacity; unsigned int numFrames; struct { long long value; int timescale; unsigned int flags; long long epoch; } pts; struct AudioBufferList *abl; unsigned int numPrependedSilenceFrames; double sampleTime; } _currentSilenceBuffer;
    NSObject<OS_dispatch_queue> *_preparedToRecordHandlerCallbackQueue;
    BOOL _livePhotoCaptureEnabled;
    int _audioCaptureMode;
    BOOL _videoRecordingEnabled;
    BOOL _flipStereoAudioCaptureChannels;
    float _stereoAudioCapturePairedCameraBaseFieldOfView;
    float _stereoAudioCapturePairedCameraZoomFactor;
    NSObject<OS_dispatch_queue> *_zoomHandlerQueue;
    long long _maxZoomFrequencyNanos;
    long long _nextZoomTime;
    NSObject<OS_dispatch_source> *_zoomTimer;
    float _nextZoomFactor;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _zoomLock;
    BOOL _silenceFramesFillingDisabled;
}

@property (readonly, nonatomic) NSArray *audioLevels;
@property (readonly, nonatomic) BOOL didBeginInterruption;
@property (nonatomic) BOOL interrupted;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (void)initialize;
+ (id)audioSourceNodeWithAttributes:(id)a0 sessionPreset:(id)a1 clock:(struct OpaqueCMClock { } *)a2 doConfigureAudio:(BOOL)a3 audioSession:(id)a4 CMSession:(struct opaqueCMSession { } *)a5 isAppAudioSession:(BOOL)a6 doEndInterruption:(BOOL)a7 clientAuditToken:(struct { unsigned int x0[8]; })a8 clientOSVersionSupportsDecoupledIO:(BOOL)a9 clientAudioClockDeviceUID:(id)a10 audioCaptureConnectionConfigurations:(id)a11 isConfiguredForContinuityCapture:(BOOL)a12;

- (void)setLivePhotoCaptureEnabled:(BOOL)a0;
- (void)zoomCommandHandler:(id)a0 didApplyZoomFactor:(float)a1 zoomFactorWithoutFudge:(float)a2 rampComplete:(BOOL)a3 rampCommandID:(int)a4;
- (BOOL)stop:(id *)a0;
- (BOOL)livePhotoCaptureEnabled;
- (void)setStereoAudioCapturePairedCameraZoomFactor:(float)a0;
- (void)prepareForCurrentConfigurationToBecomeLive;
- (float)stereoAudioCapturePairedCameraZoomFactor;
- (void)setLevelMeteringEnabled:(BOOL)a0;
- (void)dealloc;
- (int)audioCaptureMode;
- (struct OpaqueCMClock { } *)clock;
- (BOOL)start:(id *)a0;
- (id)nodeSubType;
- (void)makeCurrentConfigurationLive;
- (BOOL)levelMeteringEnabled;
- (void)makeOutputsLiveIfNeeded;
- (BOOL)flipStereoAudioCaptureChannels;
- (void)unprepareForRecording;
- (void)setFlipStereoAudioCaptureChannels:(BOOL)a0;
- (BOOL)videoRecordingEnabled;
- (void)setVideoRecordingEnabled:(BOOL)a0;
- (BOOL)hasNonLiveConfigurationChanges;
- (void)setStereoAudioCapturePairedCameraBaseFieldOfView:(float)a0;
- (float)stereoAudioCapturePairedCameraBaseFieldOfView;
- (void)prepareToStartRecordingWithOrientation:(int)a0 recordingSettingsID:(long long)a1 prefersNoInterruptionsByRingtonesAndAlerts:(BOOL)a2 completionHandler:(id /* block */)a3;
- (id)outputForMicSourcePosition:(int)a0;
- (void)setAudioCaptureMode:(int)a0;

@end