luxlabs header browser preview


@class NSMutableDictionary, VCMediaRecorder, VCAudioIO, NSDictionary, VCCallInfoBlob, AVCBasebandCongestionDetector, NSObject, NSMutableArray, VCSecurityKeyManager, VCNetworkFeedbackController, NSString, VCAudioRuleCollection, AVCStatisticsCollector, VCSessionMediaNegotiator, VCRedundancyControllerVideo, NSArray, NSData, VCSessionParticipantOneToOneConfig;
@protocol OS_dispatch_queue, VCSessionParticipantDelegate, VCSessionParticipantStreamDelegate;

@interface VCSessionParticipant : VCObject <VCMediaStreamDelegate, VCSecurityEventHandler, VCAudioIOSink, VCAudioIOSource, VCAudioIODelegate, VCConnectionChangedHandler, VCRedundancyControllerDelegate, VCAudioPowerSpectrumSourceDelegate, VCMediaStreamGroupDelegate> {
    unsigned int _state;
    NSObject<OS_dispatch_queue> *_participantQueue;
    int _processId;
    id _delegate;
    id _streamDelegate;
    NSString *_sessionUUID;
    NSString *_idsDestination;
    NSData *_mediaBlobCompressed;
    NSDictionary *_participantInfo;
    unsigned int _transportSessionID;
    int _deviceRole;
    long long _direction;
    double _lastParticipantMKMRecoveryTime;
    double _participantMKMRecoveryTimeout;
    int _decryptionTimeOutInterval;
    BOOL _audioPausedToStart;
    BOOL _videoPausedToStart;
    NSMutableDictionary *_mediaTypeSettingsDict;
    VCAudioIO *_audioIO;
    unsigned int _preferredIOSampleRate;
    unsigned int _preferredIOSamplesPerFrame;
    VCRedundancyControllerVideo *_videoRedundancyController;
    id _reportingAgentWeak;
    BOOL _isGKVoiceChat;
    BOOL _isLowLatencyAudio;
    NSMutableDictionary *_streamGroups;
    NSMutableArray *_micStreamGroups;
    NSMutableArray *_videoStreamGroups;
    VCSecurityKeyManager *_securityKeyManager;
    VCNetworkFeedbackController *_networkFeedbackController;
    NSMutableDictionary *_mediaTypeMixingList;
}

@property (readonly, nonatomic) NSString *uuid;
@property (readonly, nonatomic) unsigned long long idsParticipantID;
@property (readonly, nonatomic) NSData *opaqueData;
@property (readonly, nonatomic) id<VCSessionParticipantDelegate> delegate;
@property (nonatomic) id<VCSessionParticipantStreamDelegate> streamDelegate;
@property (nonatomic, getter=isMuted) BOOL muted;
@property (nonatomic, getter=isAudioEnabled) BOOL audioEnabled;
@property (nonatomic, getter=isVideoEnabled) BOOL videoEnabled;
@property (nonatomic, getter=isScreenEnabled) BOOL screenEnabled;
@property (nonatomic, getter=isAudioPaused) BOOL audioPaused;
@property (nonatomic, getter=isVideoPaused) BOOL videoPaused;
@property (readonly, nonatomic) float audioPosition;
@property (readonly, nonatomic) float volume;
@property (readonly, nonatomic) NSArray *allParticipantStreamInfo;
@property (readonly, nonatomic) union tagNTP { unsigned long long wide; struct { unsigned int frac; unsigned int sec; } time; } creationTime;
@property (readonly, nonatomic) NSMutableDictionary *participantStreamTokens;
@property (retain, nonatomic) AVCStatisticsCollector *statisticsCollector;
@property (retain, nonatomic) AVCBasebandCongestionDetector *basebandCongestionDetector;
@property (nonatomic) unsigned int cellularUniqueTag;
@property (readonly, nonatomic) VCAudioRuleCollection *supportedAudioRules;
@property (readonly, nonatomic) VCSessionMediaNegotiator *mediaNegotiator;
@property (nonatomic, getter=isLocalOnWiFi) BOOL localOnWiFi;
@property (nonatomic) struct opaqueRTCReporting { } *reportingAgent;
@property (retain, nonatomic) VCSessionParticipantOneToOneConfig *oneToOneConfig;
@property (nonatomic) struct tagVCMediaQueue { } *mediaQueue;
@property (nonatomic, getter=isOneToOneModeEnabled) BOOL oneToOneModeEnabled;
@property (readonly) VCCallInfoBlob *callInfoBlob;
@property (readonly, nonatomic) int operatingMode;
@property (nonatomic) BOOL sharingEnabled;
@property (readonly, nonatomic) NSDictionary *mediaTypeMixingList;
@property (nonatomic) unsigned char presentationState;
@property (retain, nonatomic) VCMediaRecorder *mediaRecorder;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (void)addCodecModesForPayload:(int)a0 toCodecConfig:(id)a1;
+ (void)applyVideoNegotiatedSettings:(id)a0 toStreamConfiguration:(id)a1 withFeatureStringDictionary:(id)a2;
+ (unsigned int)mediaStreamGroupStateToVCStreamGroupState:(unsigned int)a0;
+ (id)mediaTypesFromStreamGroupID:(unsigned int)a0;
+ (id)participantDataWithMediaNegotiatorVersion:(int)a0 participantData:(id)a1;
+ (id)participantDataWithParticipantData:(id)a0 isReinit:(BOOL)a1;
+ (id)participantDataWithParticipantInfo:(id)a0;
+ (id)participantInfoWithParticipantData:(id)a0;
+ (id)streamGroupIDsFromParticipantData:(id)a0;

- (BOOL)setVolume:(float)a0;
- (void)dealloc;
- (void)start;
- (void)stop;
- (BOOL)setState:(unsigned int)a0;
- (id)microphoneGroup;
- (void)reportCameraCompositionEnabled:(BOOL)a0;
- (id)stopScreenGroup;
- (id)cameraGroupsExt;
- (void)dispatchedStart;
- (BOOL)rtcpPSFBForLTRAckStoreBagConfig;
- (id)applyMediaState:(unsigned int)a0 forMediaType:(unsigned int)a1;
- (void)applyScreenEnabledSetting:(BOOL)a0;
- (id)applyVideoEnabledSetting:(BOOL)a0;
- (void)audioPowerSpectrumSinkDidRegister;
- (void)audioPowerSpectrumSinkDidUnregister;
- (void)callDelegateWithBlock:(id /* block */)a0;
- (void)callStreamDelegateWithBlock:(id /* block */)a0;
- (id)cameraGroups;
- (id)captionsGroup;
- (int)captureSourceIDFromStreamGroupID:(unsigned int)a0;
- (void)collectAudioChannelMetrics:(struct { unsigned int x0; unsigned int x1[5]; unsigned int x2; double x3; struct CGSize { double x0; double x1; } x4; double x5; unsigned int x6; double x7; unsigned int x8; unsigned int x9; } *)a0;
- (void)collectCaptionsChannelMetrics:(struct { unsigned int x0; unsigned int x1[5]; unsigned int x2; double x3; struct CGSize { double x0; double x1; } x4; double x5; unsigned int x6; double x7; unsigned int x8; unsigned int x9; } *)a0;
- (void)collectVideoChannelMetrics:(struct { unsigned int x0; unsigned int x1[5]; unsigned int x2; double x3; struct CGSize { double x0; double x1; } x4; double x5; unsigned int x6; double x7; unsigned int x8; unsigned int x9; } *)a0;
- (BOOL)completeStreamSetup:(id)a0;
- (BOOL)configureAudioIOWithDeviceRole:(int)a0 operatingMode:(int)a1;
- (BOOL)configureMultiwayStreamGroups;
- (BOOL)configureOneToOneAudioStreamsWithDeviceRole:(int)a0;
- (BOOL)configureOneToOneAudioStreamsWithDeviceRole:(int)a0 streamInfoArray:(id)a1;
- (BOOL)configureOneToOneVideoStreamsWithDeviceRole:(int)a0;
- (BOOL)configureOneToOneVideoStreamsWithDeviceRole:(int)a0 streamInfoArray:(id)a1;
- (BOOL)configureOneToOneWithConfig:(id)a0;
- (BOOL)configureStreamInfosForMultiway:(id)a0 streamGroupID:(unsigned int)a1;
- (BOOL)configureWithDeviceRole:(int)a0 negotiatedVideoEnabled:(BOOL)a1 negotiatedScreenEnabled:(BOOL)a2 operatingMode:(int)a3;
- (void)createRedundancyControllers;
- (void)didChangeActualNetworkBitrateForStreamGroup:(id)a0;
- (void)didChangeReceivingStreamsForStreamGroup:(id)a0;
- (void)didChangeSendingStreamsForStreamGroup:(id)a0;
- (void)didDecryptionTimeOutForMKMRecoveryForStreamGroup:(id)a0;
- (void)didEncryptionKeyRollTimeout;
- (void)didMediaDecryptionTimeOutForStreamGroup:(id)a0;
- (void)didResumeAudioIO:(id)a0;
- (void)didSuspendAudioIO:(id)a0;
- (void)didUpdateBasebandCodec:(const struct _VCRemoteCodecInfo { unsigned int x0; double x1; } *)a0;
- (void)dispatchSetMediaType:(unsigned int)a0 mixingWithMediaType:(unsigned int)a1;
- (BOOL)dispatchedConfigureWithDeviceRole:(int)a0 negotiatedVideoEnabled:(BOOL)a1 negotiatedScreenEnabled:(BOOL)a2 operatingMode:(int)a3;
- (void)dispatchedSetAudioEnabled:(BOOL)a0;
- (void)dispatchedSetAudioPaused:(BOOL)a0;
- (void)dispatchedSetMediaState:(unsigned int)a0 forMediaType:(unsigned int)a1;
- (void)dispatchedSetScreenEnabled:(BOOL)a0;
- (void)dispatchedSetVideoEnabled:(BOOL)a0;
- (void)dispatchedSetVideoPaused:(BOOL)a0;
- (void)dispatchedStartOneToOneStreams;
- (void)dispatchedStop;
- (id)generateEncryptionKey;
- (id)getAudioDumpName;
- (void)handleActiveConnectionChange:(id)a0;
- (BOOL)handleEncryptionInfoChange:(id)a0;
- (void)handleRemoteOneToOneSwitchWithStreamGroup:(id)a0 fromStreamID:(unsigned short)a1 toStreamID:(unsigned short)a2;
- (void)handleStreamGroupsActiveConnectionChange:(id)a0;
- (void)handleSymptomReportForDecryptionError;
- (id)initWithConfig:(id)a0 delegate:(id)a1;
- (BOOL)isActiveMediaType:(unsigned int)a0;
- (BOOL)isAudioStream:(id)a0;
- (BOOL)isOneToOneTemporalSupportedForSettings:(id)a0 streamDirection:(long long)a1;
- (BOOL)isStreamGroupActive:(id)a0;
- (BOOL)isVideoStream:(id)a0;
- (void)logAllStreamTokens;
- (id)newAudioRateControlConfigWithMediaControlInfoVersion:(unsigned char)a0 enableFeedbackController:(BOOL)a1 isOneToOne:(BOOL)a2;
- (id)newOneToOneAudioStreamConfigWithAudioSettings:(id)a0 streamDirection:(long long)a1 streamGroupId:(unsigned int)a2 streamSsrc:(unsigned int)a3;
- (id)newOneToOneVideoStreamConfigWithStreamDirection:(long long)a0 streamGroupId:(unsigned int)a1 streamSsrc:(unsigned int)a2 encodingType:(unsigned char)a3 videoSettings:(id)a4;
- (id)newOneToOneVideoStreamMultiwayConfiguration:(unsigned char)a0 streamGroupId:(unsigned int)a1 videoSettings:(id)a2 streamDirection:(long long)a3;
- (id)newVideoRateControlConfigWithMediaControlInfoVersion:(unsigned char)a0 enableMediaControlInfoGenerator:(BOOL)a1 enableFeedbackController:(BOOL)a2 isOneToOne:(BOOL)a3;
- (void)onDidResumeAudio;
- (void)onPauseAudioStreams;
- (void)onStartAudioIO;
- (long long)participantMicrophoneToken;
- (long long)participantScreenToken;
- (char *)participantStateToString:(unsigned int)a0;
- (long long)participantVideoToken;
- (id)pauseAudioStreams:(BOOL)a0;
- (id)pauseVideo:(BOOL)a0;
- (unsigned int)preferredIOSampleRateForGroupID:(unsigned int)a0;
- (unsigned int)preferredIOSamplesPerFrameForGroupID:(unsigned int)a0;
- (unsigned int)preferredRTPTimestampRateForGroupID:(unsigned int)a0;
- (void)pullAudioSamples:(struct opaqueVCAudioBufferList { } *)a0;
- (void)pushAudioSamples:(struct opaqueVCAudioBufferList { } *)a0;
- (void)redundancyController:(id)a0 redundancyIntervalDidChange:(double)a1;
- (void)redundancyController:(id)a0 redundancyPercentageDidChange:(unsigned int)a1;
- (void)resetDecryptionTimeout;
- (BOOL)rtcpPSFBForFeedbackStoreBagConfig;
- (id)screenGroup;
- (int)securityKeyHolderUsageForStreamConfigDirection:(long long)a0;
- (void)sendAudioPowerSpectrumSourceRegistration:(BOOL)a0;
- (void)serverDidDie;
- (BOOL)setAudioPosition:(float)a0;
- (id)setAudioStreamGroupsPaused:(BOOL)a0;
- (id)setCameraStreamGroupsPaused:(BOOL)a0;
- (void)setMediaState:(unsigned int)a0 forMediaType:(unsigned int)a1;
- (void)setMediaType:(unsigned int)a0 mixingWithMediaType:(unsigned int)a1;
- (id)setPaused:(BOOL)a0 onStreamGroups:(id)a1;
- (void)setStreamGroup:(unsigned int)a0 syncSourceStreamGroupID:(unsigned int)a1;
- (BOOL)setupAudioStreamConfiguration:(id)a0 audioRules:(id)a1;
- (BOOL)setupMediaSyncForStreamGroup:(id)a0;
- (void)setupMediaTypeSettingsWithConfig:(id)a0;
- (void)setupNetworkAddressesForMediaConfig:(id)a0;
- (void)setupPreferredIOSettings;
- (BOOL)setupSecurityKeyHolderForStreamConfig:(id)a0;
- (BOOL)setupStreamGroupMediaSync;
- (BOOL)shouldSetPause:(BOOL)a0 onStream:(id)a1;
- (void)startAudioDump;
- (id)startAudioIO;
- (id)startCameraStreamGroups;
- (id)startMediaStreams:(id)a0;
- (id)startMicStreamGroups;
- (void)startMultiwayStreams;
- (void)startOneToOneStreams;
- (id)startScreenGroup;
- (id)startStreamGroups;
- (id)startStreamGroups:(id)a0;
- (void)startSystemAudioCapture;
- (id)startVideo;
- (void)stopAudioDump;
- (id)stopAudioIO;
- (void)stopAudioIOCompletion;
- (id)stopAudioStreams;
- (void)stopInternal;
- (id)stopMediaStreams:(id)a0;
- (id)stopMicStreamGroups;
- (id)stopMultiwayStreams;
- (void)stopOneToOneStreams;
- (void)stopStreamGroups;
- (id)stopStreamGroups:(id)a0;
- (void)stopSystemAudioCapture;
- (void)stopVideoCaptureClient;
- (void)streamGroup:(id)a0 didChangeMediaPriority:(unsigned char)a1;
- (void)streamGroup:(id)a0 didChangePlayoutRTPTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1;
- (void)streamGroup:(id)a0 didChangeState:(unsigned int)a1;
- (void)streamGroup:(id)a0 didRemoteEnableChange:(BOOL)a1;
- (void)streamGroup:(id)a0 didRemotePauseChange:(BOOL)a1;
- (void)streamGroup:(id)a0 didRequestRedundancy:(BOOL)a1;
- (void)streamGroup:(id)a0 didSuspendStreams:(BOOL)a1;
- (void)streamGroup:(id)a0 didSwitchFromStreamID:(unsigned short)a1 toStreamID:(unsigned short)a2;
- (void)streamGroup:(id)a0 remoteMediaStalled:(BOOL)a1 duration:(double)a2;
- (void)streamGroup:(id)a0 requestKeyFrameGenerationWithStreamID:(unsigned short)a1 firType:(int)a2;
- (unsigned int)streamGroupStateFromStreamGroupID:(unsigned int)a0;
- (id)streamGroupWithID:(unsigned int)a0;
- (id)streamGroupsForIDs:(id)a0;
- (id)streamGroupsForMediaType:(unsigned int)a0;
- (void)swapScreenStreamGroupSyncSourceWithState:(unsigned int)a0;
- (id)systemAudioGroup;
- (id)updateActiveStateForStreamGroup:(id)a0;
- (void)updateAudioSpectrumState;
- (BOOL)updateConfigurationWithDeviceRole:(int)a0;
- (id)updateMediaState:(unsigned int)a0 forStreamGroups:(id)a1;
- (BOOL)updateMediaStatesWithConfig:(id)a0;
- (void)updateOneToOneVideoStreamCustomResolution:(id)a0 videoSettings:(id)a1;
- (id)updateStreamGroups:(id)a0;
- (void)updateVideoPaused:(BOOL)a0;
- (void)vcMediaStream:(id)a0 requestKeyFrameGenerationWithStreamID:(unsigned short)a1 firType:(int)a2;
- (void)vcMediaStreamServerDidDie:(id)a0;

@end