luxlabs header browser preview


@class VCAudioTier, NSDictionary, VCRedundancyControllerAudio, VCAudioRedBuilder, VCTransportSession, VCPacketBundler, NSMutableArray, NSString, VCAudioTierPicker, AVCStatisticsCollector, NSArray, VCAudioPayload, VCAudioPayloadConfig;
@protocol VCAudioTransmitterDelegate;

@interface VCAudioTransmitter : NSObject <VCAudioIOSink, VCConnectionChangedHandler> {
    VCAudioRedBuilder *_redBuilder;
    VCRedundancyControllerAudio *_redundancyController;
    struct opaqueVCAudioBufferList { } *_encodeBuffer;
    BOOL _lastIsTalking;
    double _lastTierSwitch;
    double _audioInterval;
    int _audioTierChangeRequestCount;
    unsigned int _maxAudioPacketSize;
    unsigned int _constantTransportOverhead;
    long long _blockSize;
    float _blockSeconds;
    double _lastUpdateQualityIndicator;
    VCAudioTier *_requestedAudioTier;
    char *_lastInputSampleBuffer;
    unsigned int _lastInputSampleBufferSize;
    int _audioHeaderSize;
    BOOL _audioTierHysteresis;
    BOOL _lastAudioStalled;
    void *_packetThread;
    unsigned int _currentTargetBitrate;
    unsigned int _currentDuplication;
    unsigned int _redundancyPercentage;
    double _redundancyInterval;
    unsigned int _redundancyControllerNumPayloads;
    unsigned int _redundancyControllerMaxDelay20ms;
    AVCStatisticsCollector *_statisticsCollector;
    unsigned int _sentAudioBytes;
    unsigned int _encodedBytes;
    unsigned int _totalTxAudioBytes;
    unsigned int _estimateTxAudioBytes;
    unsigned int _audioFrameCounter;
    unsigned int _silenceFrameCounter;
    unsigned int _vadSegmentCounter;
    struct tagHANDLE { int x0; } *_rtpHandle;
    struct tagHANDLE { int x0; } *_afrc;
    struct tagHANDLE { int x0; } *_mediaQueue;
    struct tagHANDLE { int x0; } *_rtpVideo;
    void *_controlInfoGenerator;
    BOOL _useRateControl;
    BOOL _isUseCaseWatchContinuity;
    BOOL _allowAudioSwitching;
    BOOL _supportsAdaptation;
    BOOL _needsPacketThread;
    BOOL _isLocalCellular_LowestConnectionQuality;
    BOOL _isRemoteCellular_LowestConnectionQuality;
    BOOL _isConnectedOnIPv6_LowestConnectionQuality;
    BOOL _includeRedSequenceOffset;
    unsigned int _redNumPayloads;
    unsigned int _redMaxDelay20ms;
    BOOL _transmitROC;
    NSMutableArray *_audioPayloads;
    VCAudioPayload *_currentDTXPayload;
    VCAudioPayload *_currentAudioPayload;
    int _currentRedPayloadType;
    unsigned int _currentAudioCap;
    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; } _inputFormat;
    struct opaqueRTCReporting { } *_reportingAgent;
    int _reportingModuleID;
    VCTransportSession *_transportSession;
    id _delegate;
    unsigned int _tierNetworkBitrate;
    unsigned int _qualityIndex;
    int _ratType;
    double _lastReportingCallbackTime;
    double _lastReportingCallbackTimeShort;
    struct tagVCIDSChannelDataFormat { unsigned short streamIDs[12]; unsigned char numOfStreamIDs; BOOL probingGroupIDIsSet; unsigned short probingGroupID; unsigned char priority; BOOL pktCountingFlag; BOOL participantIDIsSet; unsigned long long participantID; BOOL participantGenerationCounterIsSet; BOOL ignorePriority; BOOL statsIDIsSet; unsigned short statsID; struct { unsigned short serverTimestamp; unsigned short serverPacketInterval; unsigned short totalServerPacketReceived; unsigned short totalServerPacketSent; unsigned short uplinkBandwidthEstimate; } statsPayload; BOOL isTransitionPacket; BOOL isHopByHopEncrypted; BOOL encryptionSequenceNumberIDIsSet; unsigned long long encryptionSequenceNumber; BOOL baseLayerStreamIdIsSet; unsigned short baseLayerStreamId; BOOL isRetransmitted; BOOL isHighlyBurstyTraffic; BOOL requireOneToOneProbingSequence; BOOL relayServerPassThroughPacket; } _idsChannelDataFormat;
    BOOL _alwaysOnAudioRedundancyEnabled;
    BOOL _cellularAllowRedLowBitratesEnabled;
    BOOL _wifiAllowRedLowBitratesEnabled;
    struct tagVCMemoryPool { struct { void *x0; long long x1; } x0; unsigned long long x1; } *_audioBundlePool;
    unsigned long long _remoteIDSParticipantID;
    BOOL _useChannelDataFormat;
    BOOL _supportsCodecBandwidthUpdate;
    struct ifnet_interface_advisory { union { struct { unsigned char version; unsigned char direction; unsigned short _reserved; int rate_trend_suggestion; unsigned long long timestamp; unsigned long long max_bandwidth; unsigned long long total_byte_count; unsigned long long average_throughput; unsigned int flushable_queue_size; unsigned int non_flushable_queue_size; unsigned int average_delay; unsigned char frequency_band; unsigned char intermittent_state; unsigned short estimated_intermittent_period; unsigned short single_outage_period; unsigned char bt_coex; unsigned char quality_score_delay; unsigned char quality_score_loss; unsigned char quality_score_channel; } ; struct { struct ifnet_interface_advisory_header { unsigned char version; unsigned char direction; unsigned char interface_type; unsigned char reserved; } header; struct ifnet_interface_advisory_capacity { int rate_trend_suggestion; unsigned long long timestamp; unsigned long long max_bandwidth; unsigned long long total_byte_count; unsigned long long average_throughput; unsigned int flushable_queue_size; unsigned int non_flushable_queue_size; unsigned int average_delay; } capacity; union { struct ifnet_interface_advisory_wifi_context { unsigned char frequency_band; unsigned char intermittent_state; unsigned short estimated_intermittent_period; unsigned short single_outage_period; unsigned char bt_coex; unsigned char quality_score_delay; unsigned char quality_score_loss; unsigned char quality_score_channel; unsigned char radio_coex; unsigned short wlan_duty_cycle; unsigned int wifi_observed_tx_bitrate[6]; } wifi_context; struct ifnet_interface_advisory_cell_context { unsigned char radio_access_technology; short reference_signal_level; short signal_level; char signal_quality; unsigned char uplink_bler; unsigned char downlink_bler; unsigned char bandwidth_limitation_indication; unsigned char cdrx_state; unsigned short cdrx_cycle; unsigned short estimated_outage_period; unsigned char outage_state; unsigned char __pad; } cell_context; } ; } ; } ; } _lastNWConnectionNotification;
    struct tagVCCryptor { } *_sframeCryptor;
    struct tagVCAudioIssueDetector { } *_audioIssueDetector;
    BOOL _audioDumpEnabled;
    struct tagVCAudioDump { } *_encoderOutAudioDump;
    struct tagVCAudioDump { } *_encoderInAudioDump;
    struct tagVCAudioDumpPayloadInfo { BOOL audioDumpEnabled; int payloadType; BOOL isOctetAligned; BOOL isEVSHeaderFull; struct AudioStreamBasicDescription *format; } _payloadInfo;
    int _payloadUsed;
    BOOL _canSendPacket;
    int _sentBytes;
    unsigned char _tierPickerMode;
    BOOL _ramStadSRCEnabled;
    unsigned int _rtpTimestampBase;
    BOOL _shouldApplyRedAsBoolean;
    unsigned int _sentAudioBytesShort;
    unsigned int _packetExpirationTimeInMillisecond;
    BOOL _targetBitrateIsAudioOnly;
}

@property (retain, nonatomic) VCAudioTierPicker *audioTierPicker;
@property (readonly, nonatomic) VCAudioPayloadConfig *currentAudioPayloadConfig;
@property (readonly, nonatomic) VCPacketBundler *audioBundler;
@property (readonly, nonatomic) VCAudioTier *currentAudioTier;
@property (readonly, nonatomic) int audioTxBitrate;
@property (readonly, nonatomic) int actualAudioSendingBitrate;
@property (readonly, nonatomic) unsigned int lastSentAudioSampleTime;
@property (readonly, nonatomic) unsigned int sentAudioBytes;
@property (readonly, nonatomic) unsigned int encodedBytes;
@property (readonly, nonatomic) unsigned int redNumPayloads;
@property (readonly, nonatomic) unsigned int redMaxDelay20ms;
@property (readonly, nonatomic) NSDictionary *dtxMetrics;
@property (nonatomic) int operatingMode;
@property unsigned char inputMeter;
@property id<VCAudioTransmitterDelegate> delegate;
@property (readonly, nonatomic) BOOL isRedEnabled;
@property (readonly, nonatomic) BOOL ignoreSilence;
@property (nonatomic) unsigned int targetBitrate;
@property (nonatomic) unsigned int rateChangeCounter;
@property (nonatomic) struct { unsigned int averageNetworkBitrate; unsigned int networkBitrate[5]; unsigned int averageMediaBitrate; double averageFramerate; struct CGSize { double width; double height; } frameResolution; double lastAudioHostTime; unsigned int lastAudioSampleTime; double lastVideoHostTime; unsigned int lastVideoSampleTime; unsigned int noVoiceActivityPacketCount; } currentChannelMetrics;
@property (nonatomic) BOOL isAudioStalled;
@property (nonatomic) int qualityIndicator;
@property (nonatomic) unsigned int maxIDSStreamIdCount;
@property (retain, nonatomic) NSArray *supportedNumRedundantPayload;
@property (nonatomic) BOOL sendActiveVoiceOnly;
@property (nonatomic, getter=isCurrentDTXEnabled) BOOL currentDTXEnable;
@property (nonatomic) unsigned char mediaControlInfoVersion;
@property (nonatomic) BOOL useWiFiTiers;
@property BOOL periodicReportingEnabled;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (id)initWithConfig:(id)a0;
- (void)dealloc;
- (void)start;
- (void)stop;
- (void)handleCodecModeChangeEvent:(struct _VCAudioCodecModeChangeEvent { int x0; int x1; int x2; unsigned int x3; struct EVSRFParams { unsigned int x0; unsigned int x1; } x4; })a0 didUpdateBandwidth:(BOOL *)a1 didUpdateBitrate:(BOOL *)a2;
- (void)currentPayloadUsed:(int)a0 payloadUsed:(id *)a1;
- (void)initAudioValues;
- (BOOL)allocateLastInputSampleBuffer:(unsigned int)a0;
- (void)audioIssueDetectorCreateAndConfigure;
- (void)audioIssueDetectorStopAndFinalize;
- (BOOL)chooseAudioNetworkBitrate;
- (void)gatherRealtimeStats:(struct __CFDictionary { } *)a0;
- (void)handleActiveConnectionChange:(id)a0;
- (void)handleActiveConnectionChangeDefault:(id)a0;
- (void)handleActiveConnectionChangeMultiway:(id)a0;
- (BOOL)isCodecModeChangeRequestValid:(struct _VCAudioCodecModeChangeEvent { int x0; int x1; int x2; unsigned int x3; struct EVSRFParams { unsigned int x0; unsigned int x1; } x4; })a0;
- (void)logTierInfo:(int)a0;
- (unsigned int)maximumSamplesPerFrame;
- (float)nextAudioInterval:(int)a0;
- (id)packetsPerBundle;
- (void)processNWConnectionNotification:(struct ifnet_interface_advisory { union { struct { unsigned char x0; unsigned char x1; unsigned short x2; int x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; unsigned long long x7; unsigned int x8; unsigned int x9; unsigned int x10; unsigned char x11; unsigned char x12; unsigned short x13; unsigned short x14; unsigned char x15; unsigned char x16; unsigned char x17; unsigned char x18; } x0; struct { struct ifnet_interface_advisory_header { unsigned char x0; unsigned char x1; unsigned char x2; unsigned char x3; } x0; struct ifnet_interface_advisory_capacity { int x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned int x5; unsigned int x6; unsigned int x7; } x1; union { struct ifnet_interface_advisory_wifi_context { unsigned char x0; unsigned char x1; unsigned short x2; unsigned short x3; unsigned char x4; unsigned char x5; unsigned char x6; unsigned char x7; unsigned char x8; unsigned short x9; unsigned int x10[6]; } x0; struct ifnet_interface_advisory_cell_context { unsigned char x0; short x1; short x2; char x3; unsigned char x4; unsigned char x5; unsigned char x6; unsigned char x7; unsigned short x8; unsigned short x9; unsigned char x10; unsigned char x11; } x1; } x2; } x1; } x0; } *)a0;
- (void)pushAudioSamples:(struct opaqueVCAudioBufferList { } *)a0;
- (void)redundancyController:(id)a0 redundancyIntervalDidChange:(double)a1;
- (void)redundancyController:(id)a0 redundancyPercentageDidChange:(unsigned int)a1;
- (unsigned int)redundancyControllerModeForOperatingMode:(int)a0 isRedEnabled:(BOOL)a1;
- (void)registerReportingTask;
- (void)removeUnusedAudioPayloads;
- (void)reportRTCPPacket;
- (void)reportRedundancyConfigChange;
- (BOOL)sendCodecModeChangeEvent:(struct _VCAudioCodecModeChangeEvent { int x0; int x1; int x2; unsigned int x3; struct EVSRFParams { unsigned int x0; unsigned int x1; } x4; })a0;
- (unsigned int)sentAudioBytesShort;
- (void)setCellTech:(int)a0 remoteCellular:(int)a1 isIPV6:(int)a2 audioCap:(unsigned int)a3;
- (void)setRedNumPayloads:(int)a0 withMaxDelay:(int)a1 shouldResetHistory:(BOOL)a2;
- (void)setStreamIDs:(id)a0;
- (BOOL)setupAudio:(id *)a0;
- (BOOL)setupAudioEncoders;
- (void)setupAudioHeaderSize;
- (BOOL)setupAudioTierPicker;
- (BOOL)setupEncoderBuffer;
- (BOOL)shouldUpdateCodecBandwidth:(struct _VCAudioCodecModeChangeEvent { int x0; int x1; int x2; unsigned int x3; struct EVSRFParams { unsigned int x0; unsigned int x1; } x4; })a0;
- (BOOL)shouldUpdateCodecBitrate:(struct _VCAudioCodecModeChangeEvent { int x0; int x1; int x2; unsigned int x3; struct EVSRFParams { unsigned int x0; unsigned int x1; } x4; })a0;
- (void)updateAudioTxBitrate;
- (void)updateAudioTxRate;
- (void)useAudioPayload:(id)a0 withBitrate:(unsigned int)a1;
- (void)useAudioTier:(id)a0;

@end