@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