luxlabs header browser preview


@class VCAudioCaptionsCoordinator, NSString, NSArray, VCSessionBandwidthAllocationTable, NSMutableDictionary, NSDictionary, VCPositionalInfo, VCSessionParticipantMediaStreamInfo, TimingCollection, NSNumber, NSObject;
@protocol OS_dispatch_source, OS_nw_activity;

@interface VCSessionParticipantRemote : VCSessionParticipant <VCSessionDownlinkBandwidthAllocatorClient> {
    BOOL _remoteSystemAudioPaused;
    BOOL _receivedFirstFrame;
    VCSessionBandwidthAllocationTable *_mediaTable;
    VCSessionBandwidthAllocationTable *_repairMediaTable;
    BOOL _isVideoDegraded;
    BOOL _isRedundancyRequested;
    BOOL _isRemoteMediaStalled;
    struct tagVCAudioStreamGroupPriorityInfo { BOOL isAudioActive; unsigned int audioActiveProbabilityThreshold; unsigned int audioInactiveProbabilityThreshold; unsigned int audioActiveAccumulationThreshold; unsigned int audioInactiveAccumulationThreshold; unsigned int audioActiveCount; unsigned int lastAudioPriority; unsigned int refreshCounter; } _mediaPriorityInfo;
    TimingCollection *_perfTimers;
    BOOL _haveReportedPerfTimers;
    BOOL _isMediaSuspended;
    BOOL _oneToOneVideoEnabled;
    BOOL _outOfProcessCodecsEnabled;
    int _thermalLevel;
    struct __CFDictionary { } *_mediaTypeToSpatialAudioMetadataEntryMap;
    NSObject<OS_nw_activity> *_nwActivity;
    NSObject<OS_nw_activity> *_participantPoorConnectionNwActivity;
    NSObject<OS_nw_activity> *_participantMediaStallNwActivity;
    double _lastVideoExpectationSwitch;
    BOOL _isVideoExpected;
    BOOL _isVideoJitterForPlayoutEnabled;
    BOOL _remoteScreenEnabledStateChanged;
    NSMutableDictionary *_jbSynchronizerPerSyncGroupID;
    NSMutableDictionary *_remoteMediaStates;
    NSObject<OS_dispatch_source> *_remoteStreamGroupStateUpdateTimer;
    VCAudioCaptionsCoordinator *_captionsCoordinator;
}

@property (readonly, nonatomic) VCSessionParticipantMediaStreamInfo *micStreamInfo;
@property (readonly, nonatomic) VCSessionParticipantMediaStreamInfo *cameraStreamInfo;
@property (readonly, nonatomic) VCSessionParticipantMediaStreamInfo *screenStreamInfo;
@property (readonly, nonatomic) NSNumber *optedInAudioStreamID;
@property (readonly, nonatomic) NSNumber *optedInVideoStreamID;
@property (nonatomic, getter=isRemoteVideoEnabled) BOOL remoteVideoEnabled;
@property (nonatomic, getter=isRemoteAudioEnabled) BOOL remoteAudioEnabled;
@property (nonatomic, getter=isRemoteScreenEnabled) BOOL remoteScreenEnabled;
@property (nonatomic, getter=isScreenControlEnabled) BOOL screenControlEnabled;
@property (nonatomic, getter=isRemoteVideoPaused) BOOL remoteVideoPaused;
@property (nonatomic, getter=isRemoteAudioPaused) BOOL remoteAudioPaused;
@property (readonly, nonatomic) BOOL isVideoExpected;
@property (nonatomic) unsigned char videoQuality;
@property (nonatomic) unsigned int visibilityIndex;
@property (nonatomic) unsigned int prominenceIndex;
@property (readonly, nonatomic) unsigned int lastDisplayedFrameRTPTimestamp;
@property (nonatomic) struct _VCSessionParticipantCapabilities { BOOL isPeace; unsigned int participantType; int controlChannelVersion; BOOL supportsGFTSwitchToOneToOne; BOOL isDawnburstOrLater; } capabilities;
@property (readonly, nonatomic) VCPositionalInfo *positionalInfo;
@property (readonly, nonatomic) NSDictionary *participantSpatialAudioSourceIDs;
@property (nonatomic) BOOL isServerRTxEnabled;
@property (readonly) NSString *uuid;
@property (readonly) NSArray *mediaEntries;
@property (readonly) BOOL isVisible;

+ (BOOL)isDeviceLargeScreen;
+ (unsigned int)maxAudioNetworkBitrateForLocalInterfaceOnWiFi:(BOOL)a0 isLowLatencyAudio:(BOOL)a1;
+ (unsigned int)maxBdatNetworkBitrateForVideoQuality:(unsigned char)a0 isLocalOnWiFi:(BOOL)a1 isRedundancyRequested:(BOOL)a2;
+ (unsigned int)maxCameraNetworkBitrateForVideoQuality:(unsigned char)a0 isLocalOnWiFi:(BOOL)a1 isRedundancyRequested:(BOOL)a2 isSharingEnabled:(BOOL)a3;
+ (unsigned int)maxCameraNetworkBitrateForVideoQuality:(unsigned char)a0 useWiFiBitrate:(BOOL)a1 isSharingEnabled:(BOOL)a2;
+ (unsigned int)maxCameraNetworkBitrateWithRedundancyForVideoQuality:(unsigned char)a0 useWiFiBitrate:(BOOL)a1;
+ (unsigned int)maxFdatNetworkBitrateForVideoQuality:(unsigned char)a0 isLocalOnWiFi:(BOOL)a1 isRedundancyRequested:(BOOL)a2;
+ (unsigned int)maxFtxtNetworkBitrateForVideoQuality:(unsigned char)a0 isLocalOnWiFi:(BOOL)a1 isRedundancyRequested:(BOOL)a2;
+ (unsigned int)maxNetworkBitrateForStreamGroupID:(unsigned int)a0 videoQuality:(unsigned char)a1 isLocalOnWiFi:(BOOL)a2 isRedundancyRequested:(BOOL)a3 isSharingEnabled:(BOOL)a4;

- (void)dealloc;
- (void)setMuted:(BOOL)a0;
- (void)start;
- (void)stop;
- (void)setSharingEnabled:(BOOL)a0;
- (void)setAudioPaused:(BOOL)a0;
- (void)setVideoPaused:(BOOL)a0;
- (BOOL)isInCanvas;
- (void)setVideoDegraded:(BOOL)a0;
- (void)appendStreamGroupsMediaEntries:(id)a0;
- (void)dispatchedSetRemoteVideoPaused:(BOOL)a0;
- (void)reportCameraCompositionEnabled:(BOOL)a0;
- (void)didStopReacting;
- (void)dispatchedSetRemoteAudioPaused:(BOOL)a0;
- (id)setupStreamRTP:(id)a0;
- (id)activeDownlinkStreamIDForStreamGroupID:(unsigned int)a0;
- (unsigned int)actualNetworkBitrateForStreamGroup:(unsigned int)a0;
- (unsigned int)actualNetworkBitrateWithAudioBitrates:(id)a0;
- (BOOL)addOneToOneStreamConfigToMediaStreamInfo:(id)a0 negotiatorStreamGroupConfig:(id)a1;
- (void)appendOptedInStreamID:(id)a0 toOptInStreamsIDs:(id)a1 targetBandwidthEntry:(id)a2 forceSeamlessTransition:(BOOL)a3;
- (void)appendStreamGroup:(id)a0 maxBitrate:(unsigned int)a1 mediaEntries:(id)a2;
- (id)applyVideoEnabledSetting:(BOOL)a0;
- (id)audioGroup;
- (void)cancelAndReleaseFetchTimer;
- (unsigned char)cappedVideoQualityWithShouldLimitCameraQualityForPIP:(BOOL)a0;
- (id)checkSubstreams:(id)a0 forLowerQualityIndex:(unsigned int)a1;
- (void)cleanupNwActivity;
- (void)cleanupSpatialAudio;
- (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)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;
- (void)completeAndReleaseNwActivity:(id)a0 withReason:(int)a1;
- (BOOL)configureAudioIOWithDeviceRole:(int)a0 operatingMode:(int)a1;
- (BOOL)configureWithOneToOneParticipantConfig:(id)a0 operatingMode:(int)a1;
- (void)createAndResumeFetchTimer;
- (void)createJitterBufferTargetEstimatorSynchronizer:(struct tagVCJBTargetEstimatorSynchronizer **)a0 syncGroupID:(unsigned int)a1;
- (BOOL)didNegotiateStreamGroupWithID:(unsigned int)a0;
- (void)didReceiveFirstFrameForStreamGroup:(id)a0;
- (void)dispatchedSetRemoteAudioEnabled:(BOOL)a0;
- (void)dispatchedSetRemoteScreenEnabled:(BOOL)a0;
- (void)dispatchedSetRemoteSystemAudioPaused:(BOOL)a0;
- (void)dispatchedSetRemoteVideoEnabled:(BOOL)a0;
- (void)dispatchedSetScreenControlEnabled:(BOOL)a0;
- (void)dispatchedSetVideoReceiverFeedbackDelegate:(id)a0;
- (id)entryForStreamID:(id)a0;
- (id)getAudioDumpName;
- (id)getMajorVersionNumber;
- (id)initWithConfig:(id)a0 delegate:(id)a1;
- (void)initializeParticipantType;
- (BOOL)isActiveMediaType:(unsigned int)a0;
- (BOOL)isAudioActive;
- (BOOL)isParticipantDawnburstOrLater;
- (BOOL)isParticipantPeace:(id)a0;
- (BOOL)isScreenActive;
- (BOOL)isSeamlessTransitionSupportedForStreamGroup:(id)a0;
- (BOOL)isStreamGroupActive:(id)a0;
- (void)negotiateAudioRules:(id)a0;
- (void)networkQualityDidDegrade:(BOOL)a0 isLocalNetworkQualityDegraded:(BOOL)a1;
- (id)newCaptionsStreamGroupWithStreamGroupConfig:(id)a0;
- (id)newMediaStreamConfigWithStreamConfig:(id)a0 streamGroupConfig:(id)a1 maxIDSStreamIDCount:(unsigned int)a2;
- (id)newMediaStreamConfigWithStreamGroupConfig:(id)a0 streamConfig:(id)a1 rateControlConfig:(id)a2 multiwayConfig:(id)a3;
- (id)newMediaStreamInfoWithNegotiationConfig:(id)a0 streamToken:(long long)a1;
- (id)newMediaStreamWithNegotiationConfig:(id)a0 streamToken:(long long)a1;
- (id)newMultiwayConfigWithStreamGroupStreamConfig:(id)a0 maxIDSStreamIDCount:(unsigned int)a1 groupID:(unsigned int)a2;
- (id)newStreamGroupConfigWithNegotiationConfig:(id)a0;
- (id)newSupportedRemoteMediaTypeStatesDict:(id)a0;
- (id)newVideoStreamGroupWithStreamGroupConfig:(id)a0;
- (BOOL)oneToOneIsSupportedAudioStreamGroup:(unsigned int)a0;
- (BOOL)oneToOneIsSupportedVideoStreamGroup:(unsigned int)a0;
- (unsigned int)optedInNetworkBitrateForStreamGroup:(unsigned int)a0;
- (id)optedInStreamIDForStreamGroupID:(unsigned int)a0;
- (long long)participantMicrophoneToken;
- (long long)participantScreenToken;
- (BOOL)processParticipantInfo;
- (void)pushEventToNwActivity:(long long)a0 started:(BOOL)a1;
- (void)reactionDidStart:(id)a0;
- (id)recommendedStreamIDsForSelectedMediaEntries:(id)a0 forceSeamlessTransition:(BOOL)a1;
- (void)redundancyController:(id)a0 redundancyIntervalDidChange:(double)a1;
- (void)redundancyController:(id)a0 redundancyPercentageDidChange:(unsigned int)a1;
- (unsigned int)remoteMediaStateForMediaType:(unsigned int)a0;
- (id)screenGroup;
- (void)setActiveStreamIDs:(id)a0;
- (void)setMediaRecorder:(id)a0;
- (void)setMediaSuspended:(BOOL)a0 forStreamToken:(id)a1;
- (void)setRemoteMediaStalled:(BOOL)a0;
- (void)setRemoteMediaState:(id)a0 forMediaType:(id)a1;
- (void)setRemoteMediaTypeStates:(id)a0;
- (void)setRemoteSystemAudioPaused:(BOOL)a0;
- (void)setShouldEnableFaceZoom:(BOOL)a0;
- (BOOL)setShouldEnableMLEnhance:(BOOL)a0 streamWithVideoResolution:(long long)a1 videoStreamGroup:(id)a2;
- (void)setStreamGroup:(unsigned int)a0 syncSourceStreamGroupID:(unsigned int)a1;
- (void)setTransitionToDisabled:(unsigned int)a0;
- (void)setTransitionToEnabled:(unsigned int)a0;
- (void)setTransitionToPaused:(unsigned int)a0;
- (void)setVideoReceiverFeedbackDelegate:(id)a0;
- (void)setVideoStreamDelegate:(id)a0 delegateFunctions:(const struct tagVCVideoStreamDelegateRealtimeInstanceVTable { void /* function */ *x0; } *)a1;
- (BOOL)setupAudioStreamConfiguration:(id)a0 withStreamGroupConfig:(id)a1 streamGroupStreamConfig:(id)a2;
- (BOOL)setupBandwidthAllocationTableForMediaStreamConfigs:(id)a0 streamGroupID:(unsigned int)a1 entryType:(unsigned char)a2;
- (void)setupJBTargetSynchronizers;
- (void)setupMediaStreamGroupConfig:(id)a0 withNegotiationConfig:(id)a1;
- (int)setupSpatialAudioWithMetadata:(void *)a0 spatialMetadataEntryMap:(struct __CFDictionary { } *)a1;
- (int)setupSpatialInfoForStreamGroupConfig:(id)a0;
- (BOOL)setupStreamConfigWithCodecs:(id)a0 streamConfig:(id)a1 codecConfigs:(id)a2 featureStringsDict:(id)a3;
- (BOOL)setupStreamGroupWithConfig:(id)a0;
- (BOOL)setupStreamGroups;
- (BOOL)setupVideoStreamConfiguration:(id)a0 withStreamGroupStreamConfig:(id)a1 codecConfigs:(id)a2 multiwayConfig:(id)a3 groupID:(unsigned int)a4;
- (BOOL)shouldEnableMLEnhanceHighTier;
- (BOOL)shouldEnableMLEnhanceLowTier;
- (BOOL)shouldEnableMLEnhanceOneToOne;
- (BOOL)shouldEnablePacketRetransmissionForStreamGroupID:(unsigned int)a0;
- (BOOL)shouldSetupStreamGroupWithID:(unsigned int)a0;
- (int)spatialChannelIndex:(unsigned int *)a0 spatialAudioSourceID:(unsigned long long *)a1 forMediaType:(unsigned int)a2;
- (void *)spatialMetadataEntryForMediaType:(unsigned int)a0;
- (id)startAudioIO;
- (id)startScreenGroup;
- (id)stopAudioStreams;
- (int)storeSpatialAudioMetadataEntry:(void *)a0 forMediaType:(unsigned int)a1;
- (BOOL)supportsGFTSwitchToOneToOne;
- (BOOL)supportsNegotiatedCoordinateSystem;
- (id)systemAudioStreamInfo;
- (void)updateAndHandleVideoMediaStall:(BOOL)a0 isOneToOneStream:(BOOL)a1;
- (void)updateAudioSpectrumState;
- (void)updateDownlinkBandwithAllocatorClientConfigurations:(id)a0;
- (id)updateMediaState:(unsigned int)a0 forStreamGroup:(id)a1;
- (void)updateOneToOneAudioPositionalInfo:(const struct tagVCSpatialAudioMetadataPositionalInfo { float x0; float x1; float x2; unsigned int x3; unsigned int x4; unsigned int x5; } *)a0;
- (void)updatePositionalInfo:(id)a0 shouldReapply:(BOOL)a1;
- (void)updateScreenStreamConfigurationWithStreamGroupResult:(id)a0 multiwayConfig:(id)a1 screenStreamConfig:(id)a2;
- (void)updateShouldEnableFaceZoom;
- (void)updateShouldEnableMLEnhance;
- (void)updateShouldEnableMLEnhanceHighTierMultiway;
- (void)updateShouldEnableMLEnhanceLowTierMultiway;
- (void)updateShouldEnableMLEnhanceOneToOne;
- (void)updateStreamConfigWithMLEnhance:(id)a0;
- (void)updateThermalLevel:(int)a0;
- (void)updateVideoMultiwayConfig:(id)a0 withStreamGroupStreamConfig:(id)a1;
- (void)validateMediaEntries:(id)a0;
- (id)videoGroup;

@end