luxlabs header browser preview


@class NSString;
@protocol VCBasebandCodecNotifications;

@interface VCAudioRelayIO : VCObject <NSCopying, VCBasebandCodecNotifications, VCAudioIOSink, VCAudioIOSource> {
    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; } _clientFormat;
    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; } _relayFormat;
    struct tagVCAudioRelayIOContext { struct tagVCAudioFrameFormat *clientFormat; struct tagVCAudioFrameFormat *relayFormat; void /* function */ *callback; void *callbackContext; struct opaqueVCAudioBufferList *sampleBuffer; float powerRMS; struct tagVCAudioClientControllerTimeInfo { unsigned int clientSampleRate; unsigned int controllerSampleRate; BOOL didHostTimeReferenceChange; BOOL isLastHostTimeValid; double lastHostTime; unsigned int lastClientTimestamp; unsigned int timestampOffset; unsigned long long controllerTimestamp; } timeInfo; } _micContext;
    struct tagVCAudioRelayIOContext { struct tagVCAudioFrameFormat *clientFormat; struct tagVCAudioFrameFormat *relayFormat; void /* function */ *callback; void *callbackContext; struct opaqueVCAudioBufferList *sampleBuffer; float powerRMS; struct tagVCAudioClientControllerTimeInfo { unsigned int clientSampleRate; unsigned int controllerSampleRate; BOOL didHostTimeReferenceChange; BOOL isLastHostTimeValid; double lastHostTime; unsigned int lastClientTimestamp; unsigned int timestampOffset; unsigned long long controllerTimestamp; } timeInfo; } _speakerContext;
    struct _VCRemoteCodecInfo { unsigned int codecType; double sampleRate; } _remoteCodecInfo;
    id _relay;
}

@property (readonly) const struct tagVCAudioRelayIOContext { struct tagVCAudioFrameFormat *x0; struct tagVCAudioFrameFormat *x1; void /* function */ *x2; void *x3; struct opaqueVCAudioBufferList *x4; float x5; struct tagVCAudioClientControllerTimeInfo { unsigned int x0; unsigned int x1; BOOL x2; BOOL x3; double x4; unsigned int x5; unsigned int x6; unsigned long long x7; } x6; } *micContext;
@property (readonly) const struct tagVCAudioRelayIOContext { struct tagVCAudioFrameFormat *x0; struct tagVCAudioFrameFormat *x1; void /* function */ *x2; void *x3; struct opaqueVCAudioBufferList *x4; float x5; struct tagVCAudioClientControllerTimeInfo { unsigned int x0; unsigned int x1; BOOL x2; BOOL x3; double x4; unsigned int x5; unsigned int x6; unsigned long long x7; } x6; } *speakerContext;
@property (readonly, nonatomic) BOOL isRunning;
@property BOOL usePacketThread;
@property (copy) id /* block */ startCompletionHandler;
@property (nonatomic) const struct _VCRemoteCodecInfo { unsigned int x0; double x1; } *remoteCodecInfo;
@property (readonly) struct PacketThread_s { } *packetThread;
@property (nonatomic) const struct tagVCAudioFrameFormat { 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; } x0; unsigned int x1; } *clientFormat;
@property (readonly) const struct tagVCAudioFrameFormat { 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; } x0; unsigned int x1; } *relayFormat;
@property void /* function */ *micCallback;
@property void *micCallbackContext;
@property (readonly, nonatomic) struct opaqueVCAudioBufferList { } *micBuffer;
@property unsigned int micTimestamp;
@property float micPowerRMS;
@property void /* function */ *speakerCallback;
@property void *speakerCallbackContext;
@property (readonly, nonatomic) struct opaqueVCAudioBufferList { } *speakerBuffer;
@property unsigned int speakerTimestamp;
@property float speakerPowerRMS;
@property void /* function */ *updateRemoteCodecInfoCallback;
@property void *updateRemoteCodecInfoContext;
@property (readonly) double preferredIODuration;
@property id<VCBasebandCodecNotifications> relay;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (id)init;
- (void)dealloc;
- (BOOL)isInitialized;
- (id)copyWithZone:(struct _NSZone { } *)a0;
- (void)initializeFormatContextPointers;
- (void)closeRecordings;
- (void)createAudioBuffers;
- (void)createBuffersForIOContext:(struct tagVCAudioRelayIOContext { struct tagVCAudioFrameFormat *x0; struct tagVCAudioFrameFormat *x1; void /* function */ *x2; void *x3; struct opaqueVCAudioBufferList *x4; float x5; struct tagVCAudioClientControllerTimeInfo { unsigned int x0; unsigned int x1; BOOL x2; BOOL x3; double x4; unsigned int x5; unsigned int x6; unsigned long long x7; } x6; } *)a0;
- (BOOL)createPacketThreadWithIOBufferDuration:(double)a0 name:(id)a1 error:(id *)a2;
- (void)createRecordingsWithName:(id)a0;
- (void)destroyPacketThread;
- (void)didUpdateBasebandCodec:(const struct _VCRemoteCodecInfo { unsigned int x0; double x1; } *)a0;
- (id)initWithMicContext:(const struct tagVCAudioRelayIOContext { struct tagVCAudioFrameFormat *x0; struct tagVCAudioFrameFormat *x1; void /* function */ *x2; void *x3; struct opaqueVCAudioBufferList *x4; float x5; struct tagVCAudioClientControllerTimeInfo { unsigned int x0; unsigned int x1; BOOL x2; BOOL x3; double x4; unsigned int x5; unsigned int x6; unsigned long long x7; } x6; } *)a0 speakerContext:(const struct tagVCAudioRelayIOContext { struct tagVCAudioFrameFormat *x0; struct tagVCAudioFrameFormat *x1; void /* function */ *x2; void *x3; struct opaqueVCAudioBufferList *x4; float x5; struct tagVCAudioClientControllerTimeInfo { unsigned int x0; unsigned int x1; BOOL x2; BOOL x3; double x4; unsigned int x5; unsigned int x6; unsigned long long x7; } x6; } *)a1;
- (void)internalPushAudioSamples:(struct opaqueVCAudioBufferList { } *)a0;
- (BOOL)isEqualToRelayIO:(id)a0;
- (void)printStreamFormats;
- (void)pullAudioSamples:(struct opaqueVCAudioBufferList { } *)a0;
- (void)pushAudioSamples:(struct opaqueVCAudioBufferList { } *)a0;

@end