luxlabs header browser preview


@class NSString, NSURL, VCAudioIO, AVCAnsweringMachineConfiguration, VCMediaRecorder, VCCannedAudioInjector, VCAudioCaptionsCoordinator, NSObject;
@protocol OS_dispatch_queue, VCAnsweringMachineDelegate;

@interface VCAnsweringMachine : VCMediaDevice <VCAudioIODelegate, VCMediaRecorderTransportDelegate, VCMediaRecorderDelegate> {
    NSObject<OS_dispatch_queue> *_dispatchQueue;
    id<VCAnsweringMachineDelegate> _delegate;
    NSObject<OS_dispatch_queue> *_delegateQueue;
    struct tagVCAnsweringMachineRealtimeContext { VCCannedAudioInjector *announcementAssetInjector; unsigned int blockCounter; unsigned int blocksToDelay; struct tagVCAnsweringMachineCommonRealtimeContext { unsigned char flags; unsigned int latestTimestamp; float averageAudioPower; } sourceCommonContext; VCAudioCaptionsCoordinator *captionsCoordinator; struct tagVCAnsweringMachineCommonRealtimeContext { unsigned char flags; unsigned int latestTimestamp; float averageAudioPower; } sinkCommonContext; VCMediaRecorder *mediaRecorder; NSString *mediaRecorderRequesterID; NSString *mediaRecorderTransactionID; long long audioToken; } _realtimeContext;
    NSString *_uuid;
    int _deviceRole;
    VCAudioIO *_audioIO;
    int _reportingModuleID;
    struct tagVCAudioFrameFormat { struct AudioStreamBasicDescription { double mSampleRate; unsigned int mFormatID; unsigned int mFormatFlags; unsigned int mBytesPerPacket; unsigned int mFramesPerPacket; unsigned int mBytesPerFrame; unsigned int mChannelsPerFrame; unsigned int mBitsPerChannel; unsigned int mReserved; } format; unsigned int samplesPerFrame; } _internalFormat;
    BOOL _stopIsAsync;
    BOOL _didInvalidate;
}

@property (readonly, nonatomic) long long messageAudioToken;
@property (readonly, nonatomic) AVCAnsweringMachineConfiguration *configuration;
@property (readonly, nonatomic) NSURL *recordingURL;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (void)terminateProcess:(id)a0 terminateSource:(id)a1 agent:(struct opaqueRTCReporting { } *)a2;

- (void)dealloc;
- (id)start;
- (void)invalidate;
- (id)stop;
- (id)initWithConfiguration:(id)a0 delegate:(id)a1 delegateQueue:(id)a2;
- (id)onStart;
- (BOOL)setUpAnnouncementAssetInjection;
- (BOOL)autoRunOnStart;
- (void)cleanupAnnouncementAssetInjection;
- (void)cleanupCaptionsCoordinator;
- (void)cleanupMediaRecorder;
- (void)cleanupPeriodicReporting;
- (void)cleanupRealtimeContext;
- (struct __CFDictionary { } *)clientSpecificUserInfo;
- (BOOL)configureAudioIO;
- (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; })defaultAudioFormat;
- (struct tagVCAudioIOConfiguration { unsigned int x0; unsigned int x1; int x2; int x3; unsigned int x4; unsigned char x5; BOOL x6; id x7; int x8; unsigned int x9; unsigned int x10; BOOL x11; unsigned long long x12; unsigned int x13; long long x14; long long x15; unsigned long long x16; BOOL x17; BOOL x18; struct tagVCAudioIODelegateContext { id x0; void /* function */ *x1; void *x2; id x3; long long x4; id x5; } x19; struct tagVCAudioIODelegateContext { id x0; void /* function */ *x1; void *x2; id x3; long long x4; id x5; } x20; })defaultAudioIOConfiguration;
- (int)deviceRoleForCallSource:(unsigned char)a0;
- (void)didResumeAudioIO:(id)a0;
- (void)didSuspendAudioIO:(id)a0;
- (void)didUpdateBasebandCodec:(const struct _VCRemoteCodecInfo { unsigned int x0; double x1; } *)a0;
- (void)mediaRecorder:(id)a0 shouldProcessRequest:(id)a1 recipientID:(id)a2;
- (id)newInjectorConfigurationForAnnouncementAsset:(id)a0;
- (id)onStop;
- (struct __CFDictionary { } *)reportingInitialConfiguration;
- (void)serverDidDie;
- (BOOL)setUpConfigurationIndependentInternalState;
- (BOOL)setUpInternalStateWithConfiguration:(id)a0;
- (void)setUpRealtimeDefaults;
- (BOOL)setupCaptionsCoordinator;
- (void)setupInternalFormat;
- (BOOL)setupMediaRecorder;
- (void)setupPeriodicReporting;
- (BOOL)setupRealtimeContextWithToken:(long long)a0;
- (BOOL)setupReportingAgentWithCallID:(unsigned int)a0;
- (void)stopMediaRecording;
- (void)streamToken:(long long)a0 didEndProcessingRequest:(id)a1 stillImageURL:(id)a2 movieURL:(id)a3 error:(id)a4;
- (void)streamToken:(long long)a0 didFinishRequest:(id)a1 didSucceed:(BOOL)a2;
- (void)streamToken:(long long)a0 didStartProcessingRequest:(id)a1 error:(id)a2;
- (void)streamToken:(long long)a0 didUpdateCapabilities:(unsigned int)a1;
- (void)streamTokenDidCleanupAllRequests:(long long)a0;

@end