luxlabs header browser preview


@class NSMutableDictionary, VCAudioRelayIO, AVAudioDevice, VCAudioSession, NSDictionary, VCAudioSessionMediaProperties, NSObject, VCAudioUnitSpatialContext, NSMutableArray, VCAudioUnitProperties, NSString, VCAudioRelay, NSArray, ATSpatialStreamDescriptions;
@protocol OS_dispatch_queue;

@interface VCAudioManager : VCObject <VCAudioIOControllerControl, VCAudioSessionDelegate> {
    struct tagHANDLE { int x0; } *_hAUIO;
    NSObject<OS_dispatch_queue> *_dispatchQueue;
    unsigned int _state;
    NSMutableArray *_allClients;
    NSMutableArray *_startingIOClients;
    BOOL _isInputMeteringEnabled;
    BOOL _isOutputMeteringEnabled;
    BOOL _isSuspended;
    BOOL _followSystemInput;
    BOOL _followSystemOutput;
    struct _VCAudioIOControllerIOState { BOOL timestampInitialized; double lastHostTime; unsigned int lastInputTimestamp; unsigned int lastInputSampleCount; double lastBlockSize; unsigned long long lastTimestamp; struct _VCSingleLinkedList { struct _VCSingleLinkedListEntry *head; BOOL initialized; void /* function */ *compare; unsigned long long countEntries; } clientIOList; struct opaqueCMSimpleQueue *eventQueue; struct opaqueVCAudioLimiter *audioLimiter; struct opaqueVCAudioBufferList *secondarySampleBuffer; struct opaqueVCAudioBufferList *interruptMixDownSampleBuffer; unsigned int audioSessionId; unsigned long long channelStateBitmap; unsigned long long prevUsedChannelStateBitmap; char logPrefix[40]; BOOL isMuted; BOOL isVoiceActivityEnabled; BOOL isMediaPriorityEnabled; double forcedMediaPriorityLastUpdateTime; BOOL isForcedMediaPriorityEnabled; unsigned char forcedMediaPriority; struct opaqueVCVoiceDetector *voiceDetector; } _sinkData;
    struct _VCAudioIOControllerIOState { BOOL timestampInitialized; double lastHostTime; unsigned int lastInputTimestamp; unsigned int lastInputSampleCount; double lastBlockSize; unsigned long long lastTimestamp; struct _VCSingleLinkedList { struct _VCSingleLinkedListEntry *head; BOOL initialized; void /* function */ *compare; unsigned long long countEntries; } clientIOList; struct opaqueCMSimpleQueue *eventQueue; struct opaqueVCAudioLimiter *audioLimiter; struct opaqueVCAudioBufferList *secondarySampleBuffer; struct opaqueVCAudioBufferList *interruptMixDownSampleBuffer; unsigned int audioSessionId; unsigned long long channelStateBitmap; unsigned long long prevUsedChannelStateBitmap; char logPrefix[40]; BOOL isMuted; BOOL isVoiceActivityEnabled; BOOL isMediaPriorityEnabled; double forcedMediaPriorityLastUpdateTime; BOOL isForcedMediaPriorityEnabled; unsigned char forcedMediaPriority; struct opaqueVCVoiceDetector *voiceDetector; } _sourceData;
    int _interruptThreadState;
    VCAudioRelay *_interruptThread;
    VCAudioRelayIO *_interruptThreadClient;
    BOOL _isInterrupting;
    struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _interruptingMutex;
    struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _inputDeviceMutex;
    struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _outputDeviceMutex;
    BOOL _spatialAudioDisabled;
    VCAudioSession *_audioSession;
    int _playbackMode;
    NSMutableDictionary *_spatialContexts;
    NSMutableDictionary *_audioSessionSinkMuted;
    VCAudioUnitSpatialContext *_currentSpatialContext;
    id /* block */ _mutedTalkerNotificationHandler;
    NSArray *_stateStrings;
    ATSpatialStreamDescriptions *_spatialStreamDescriptions;
    BOOL _isMediaPlaybackOnExternalDevice;
}

@property (retain, nonatomic) VCAudioSessionMediaProperties *currentAudioSessionMediaProperties;
@property (retain, nonatomic) VCAudioUnitProperties *currentAudioUnitProperties;
@property (retain, nonatomic) NSDictionary *vpOperatingModeToAudioSessionMediaFormatMapping;
@property (retain) AVAudioDevice *currentInputDevice;
@property (retain) AVAudioDevice *currentOutputDevice;
@property (nonatomic, getter=isMicrophoneMuted) BOOL microphoneMuted;
@property (nonatomic, getter=isMixingVoiceWithMediaEnabled) BOOL mixingVoiceWithMediaEnabled;
@property (nonatomic) BOOL isInDaemon;
@property (nonatomic) BOOL isGKVoiceChat;
@property (nonatomic, getter=isSpeakerPhoneEnabled) BOOL speakerPhoneEnabled;
@property (readonly, nonatomic) struct _VCAudioIOControllerIOState { BOOL x0; double x1; unsigned int x2; unsigned int x3; double x4; unsigned long long x5; struct _VCSingleLinkedList { struct _VCSingleLinkedListEntry *x0; BOOL x1; void /* function */ *x2; unsigned long long x3; } x6; struct opaqueCMSimpleQueue *x7; struct opaqueVCAudioLimiter *x8; struct opaqueVCAudioBufferList *x9; struct opaqueVCAudioBufferList *x10; unsigned int x11; unsigned long long x12; unsigned long long x13; char x14[40]; BOOL x15; BOOL x16; BOOL x17; double x18; BOOL x19; unsigned char x20; struct opaqueVCVoiceDetector *x21; } *sinkIO;
@property (readonly, nonatomic) struct _VCAudioIOControllerIOState { BOOL x0; double x1; unsigned int x2; unsigned int x3; double x4; unsigned long long x5; struct _VCSingleLinkedList { struct _VCSingleLinkedListEntry *x0; BOOL x1; void /* function */ *x2; unsigned long long x3; } x6; struct opaqueCMSimpleQueue *x7; struct opaqueVCAudioLimiter *x8; struct opaqueVCAudioBufferList *x9; struct opaqueVCAudioBufferList *x10; unsigned int x11; unsigned long long x12; unsigned long long x13; char x14[40]; BOOL x15; BOOL x16; BOOL x17; double x18; BOOL x19; unsigned char x20; struct opaqueVCVoiceDetector *x21; } *sourceIO;
@property (readonly, nonatomic) BOOL supportsVoiceActivityDetection;
@property (readonly, nonatomic) NSDictionary *reportingStats;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)sharedSystemAudioOutputInstance;
+ (unsigned char)audioIOType:(id)a0 shouldEnableAudioInput:(BOOL)a1;
+ (id)audioSessionForMode:(int)a0;
+ (struct AudioStreamBasicDescription { double x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; })sessionFormatForSampleRate:(double)a0;
+ (id)sharedSystemAudioInputInstance;
+ (id)sharedVoiceChatInstance;
+ (void)terminateProcess:(id)a0 terminateSource:(id)a1 agent:(struct opaqueRTCReporting { } *)a2;

- (BOOL)addClient:(id)a0;
- (id)retain;
- (void)dealloc;
- (BOOL)removeClient:(id)a0;
- (unsigned long long)retainCount;
- (id)autorelease;
- (void)setMediaPlaybackOnExternalDevice:(BOOL)a0;
- (void)didSessionEnd;
- (oneway void)release;
- (id)copyWithZone:(struct _NSZone { } *)a0;
- (void)applyControllerFormatToClients:(id)a0;
- (void)didSessionPause;
- (void)setCurrentOutputDeviceInternal:(id)a0;
- (void)_cleanupDeadClients;
- (void)activateSpatialContext:(id)a0 shouldApplySpatialMetadata:(BOOL)a1;
- (void)activateStartingClient:(id)a0 applyControllerFormat:(BOOL)a1;
- (void)applyAudioSessionMute;
- (void)applySessionContextToAudioUnitProperties:(id)a0 preferredClient:(id)a1;
- (void)applySpatialMetadata:(struct OpaqueCMBlockBuffer { } *)a0;
- (BOOL)audioCallbacksRunning;
- (void)cleanupInterruptThread;
- (void)completeStartForAllStartingClients;
- (BOOL)computeAllowAudioRecordingWithPreferredClient:(id)a0;
- (void)computeFormatDescription:(struct AudioStreamBasicDescription { double x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; } *)a0 withPreferredClient:(id)a1;
- (void)computeHardwarePreferences;
- (unsigned int)computeSamplePerFrameWithPreferredClient:(id)a0 sampleRate:(unsigned int)a1;
- (void)didSessionResume;
- (void)didSessionStop;
- (void)didUpdateBasebandCodec:(const struct _VCRemoteCodecInfo { unsigned int x0; double x1; } *)a0;
- (void)enterStateStarted;
- (void)flushEventQueue:(struct opaqueCMSimpleQueue { } *)a0;
- (BOOL)getAudioSessionMediaProperties:(id)a0 forVPOperatingMode:(unsigned int)a1;
- (void)getPreferredFormat:(struct AudioStreamBasicDescription { double x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; } *)a0 blockSize:(double *)a1 vpOperatingMode:(unsigned int *)a2 forOperatingMode:(int)a3 deviceRole:(int)a4 suggestedFormat:(struct AudioStreamBasicDescription { double x0; unsigned int x1; unsigned int x2; unsigned int x3; unsigned int x4; unsigned int x5; unsigned int x6; unsigned int x7; unsigned int x8; } *)a5;
- (id)initWithAudioSessionMode:(int)a0;
- (id)newAudioSessionMediaPropertiesForSystemAudioWithPreferredClient:(id)a0 audioUnitProperties:(id)a1 isInput:(BOOL)a2;
- (id)newAudioSessionMediaPropertiesWithPreferredClient:(id)a0 audioUnitProperties:(id)a1;
- (id)newAudioUnitPropertiesForSystemAudioWithPreferredClient:(id)a0 isInput:(BOOL)a1;
- (id)newAudioUnitPropertiesWithPreferredClient:(id)a0;
- (id)preferredClientWithNewClient:(id)a0;
- (int)prewarmingClientOperatingMode;
- (void)refreshInputMetering;
- (void)refreshOutputMetering;
- (void)refreshRemoteCodecType:(unsigned int)a0 sampleRate:(double)a1;
- (int)registerAudioSessionId:(unsigned int)a0 maxChannelCountMic:(unsigned int)a1 maxChannelCountSpeaker:(unsigned int)a2 spatialMetadata:(struct OpaqueCMBlockBuffer { } *)a3;
- (void)registerClientIO:(struct _VCAudioIOControllerClientIO { void *x0; void /* function */ *x1; id x2; unsigned int x3; unsigned int x4; unsigned int x5; struct opaqueVCAudioBufferList *x6; BOOL x7; BOOL x8; } *)a0 controllerIO:(struct _VCAudioIOControllerIOState { BOOL x0; double x1; unsigned int x2; unsigned int x3; double x4; unsigned long long x5; struct _VCSingleLinkedList { struct _VCSingleLinkedListEntry *x0; BOOL x1; void /* function */ *x2; unsigned long long x3; } x6; struct opaqueCMSimpleQueue *x7; struct opaqueVCAudioLimiter *x8; struct opaqueVCAudioBufferList *x9; struct opaqueVCAudioBufferList *x10; unsigned int x11; unsigned long long x12; unsigned long long x13; char x14[40]; BOOL x15; BOOL x16; BOOL x17; double x18; BOOL x19; unsigned char x20; struct opaqueVCVoiceDetector *x21; } *)a1;
- (int)registerForMutedTalkerNotification:(id /* block */)a0;
- (int)registerForMutedTalkerNotificationWithAUIO:(struct tagHANDLE { int x0; } *)a0;
- (void)removeAllClientsForIO:(struct _VCAudioIOControllerIOState { BOOL x0; double x1; unsigned int x2; unsigned int x3; double x4; unsigned long long x5; struct _VCSingleLinkedList { struct _VCSingleLinkedListEntry *x0; BOOL x1; void /* function */ *x2; unsigned long long x3; } x6; struct opaqueCMSimpleQueue *x7; struct opaqueVCAudioLimiter *x8; struct opaqueVCAudioBufferList *x9; struct opaqueVCAudioBufferList *x10; unsigned int x11; unsigned long long x12; unsigned long long x13; char x14[40]; BOOL x15; BOOL x16; BOOL x17; double x18; BOOL x19; unsigned char x20; struct opaqueVCVoiceDetector *x21; } *)a0;
- (BOOL)resetAUIOWithProperties:(id)a0;
- (BOOL)resetAudioLimiterWithProperties:(id)a0;
- (BOOL)resetAudioSessionWithProperties:(id)a0 interruptSuccessful:(BOOL *)a1;
- (void)resetAudioTimestamps;
- (void)resetChannelMask;
- (void)serverDidDie;
- (void)setCurrentInputDeviceInternal:(id)a0;
- (void)setInputMetering;
- (void)setMute:(BOOL)a0 forClient:(id)a1;
- (void)setOutputMetering;
- (void)setSpatialMetadata:(struct OpaqueCMBlockBuffer { } *)a0 audioSessionId:(unsigned int)a1 completionHandler:(id /* block */)a2;
- (int)setVolume:(float)a0 withRampTime:(float)a1;
- (void)setupDynamicDuckingVolumeHandlerForAUIO:(struct tagHANDLE { int x0; } *)a0;
- (void)setupIODevicesForAUIO:(struct tagHANDLE { int x0; } *)a0;
- (BOOL)setupInterruptThread;
- (BOOL)setupVAD;
- (BOOL)shouldResetAudioSessionWithProperties:(id)a0;
- (BOOL)shouldResetAudioUnitWithProperties:(id)a0;
- (BOOL)startAUIOWithProperties:(id)a0;
- (BOOL)startAudioSessionWithProperties:(id)a0;
- (void)startClient:(id)a0;
- (void)startInterruptThread;
- (void)startVADWithAudioUnitProperties:(id)a0;
- (BOOL)stateIdleWithAudioUnitProperties:(id)a0 sessionProperties:(id)a1 client:(id)a2 newState:(unsigned int *)a3;
- (BOOL)stateInterruptedShouldGoToRunning:(id)a0;
- (BOOL)stateInterruptedShouldGoToStarted:(id)a0;
- (BOOL)stateInterruptedWithAudioUnitProperties:(id)a0 sessionProperties:(id)a1 client:(id)a2 newState:(unsigned int *)a3;
- (BOOL)stateRunningShouldTransitionToInterrupted:(id)a0;
- (BOOL)stateRunningShouldTransitionToStarted:(id)a0;
- (void)stateRunningToSessionStarted;
- (BOOL)stateRunningWithAudioUnitProperties:(id)a0 sessionProperties:(id)a1 client:(id)a2 newState:(unsigned int *)a3;
- (BOOL)stateSessionStartedWithAudioUnitProperties:(id)a0 sessionProperties:(id)a1 client:(id)a2 newState:(unsigned int *)a3;
- (void)stateTransitionInterruptedToRunning;
- (void)stateTransitionInterruptedToStarted;
- (void)stateTransitionRunningToInterrupted;
- (void)stopAUIO;
- (void)stopAudioSession;
- (void)stopClient:(id)a0;
- (void)stopInterruptThread;
- (void)unregisterAudioSessionId:(unsigned int)a0;
- (void)unregisterClientIO:(struct _VCAudioIOControllerClientIO { void *x0; void /* function */ *x1; id x2; unsigned int x3; unsigned int x4; unsigned int x5; struct opaqueVCAudioBufferList *x6; BOOL x7; BOOL x8; } *)a0 controllerIO:(struct _VCAudioIOControllerIOState { BOOL x0; double x1; unsigned int x2; unsigned int x3; double x4; unsigned long long x5; struct _VCSingleLinkedList { struct _VCSingleLinkedListEntry *x0; BOOL x1; void /* function */ *x2; unsigned long long x3; } x6; struct opaqueCMSimpleQueue *x7; struct opaqueVCAudioLimiter *x8; struct opaqueVCAudioBufferList *x9; struct opaqueVCAudioBufferList *x10; unsigned int x11; unsigned long long x12; unsigned long long x13; char x14[40]; BOOL x15; BOOL x16; BOOL x17; double x18; BOOL x19; unsigned char x20; struct opaqueVCVoiceDetector *x21; } *)a1;
- (int)unregisterForMutedTalkerNotificationWithAUIO:(struct tagHANDLE { int x0; } *)a0;
- (int)unregisterFromMutedTalkerNotification;
- (void)updateClient:(id)a0 settings:(const struct tagVCAudioIOControllerClientSettings { unsigned char x0; BOOL x1; BOOL x2; BOOL x3; } *)a1;
- (void)updateCurrentInputDevice:(id)a0;
- (void)updateCurrentOutputDevice:(id)a0;
- (void)updateDirectionWithClient:(id)a0 settings:(const struct tagVCAudioIOControllerClientSettings { unsigned char x0; BOOL x1; BOOL x2; BOOL x3; } *)a1 isClientRegistered:(BOOL)a2;
- (void)updateSpatialAudioWithClient:(id)a0 settings:(const struct tagVCAudioIOControllerClientSettings { unsigned char x0; BOOL x1; BOOL x2; BOOL x3; } *)a1 isClientRegistered:(BOOL)a2;
- (BOOL)updateStateWithAudioIOClient:(id)a0;
- (void)updateVoiceProcessingWithClient:(id)a0 settings:(const struct tagVCAudioIOControllerClientSettings { unsigned char x0; BOOL x1; BOOL x2; BOOL x3; } *)a1 isClientRegistered:(BOOL)a2;
- (unsigned int)vpOperationModeForConferenceOperatingMode:(int)a0 deviceRole:(int)a1;
- (void)waitIdleForClient:(id)a0;

@end