luxlabs header browser preview


@class VCMediaNegotiatorResultsCaptions;

@interface VCMediaNegotiator : VCMediaNegotiatorBase {
    BOOL _negotiationDone;
}

@property (readonly, nonatomic) long long negotiationMode;
@property (readonly, nonatomic) BOOL isCaller;
@property (readonly, nonatomic) BOOL usePreNegotiation;
@property (readonly, nonatomic) VCMediaNegotiatorResultsCaptions *negotiatedCaptionsSettings;
@property (readonly, nonatomic) BOOL isCellular16x9Capable;

+ (void)dumpBlob:(id)a0 prefix:(id)a1 force:(BOOL)a2;
+ (BOOL)initializeLocalConfiguration:(id)a0 negotiationData:(id)a1 deviceRole:(int)a2 preferredAudioPayload:(int)a3;
+ (id)localConfigurationWithData:(id)a0 deviceRole:(int)a1 preferredAudioPayload:(int)a2;
+ (unsigned int)mappedRemoteQualityIndexForQualityIndex:(unsigned int)a0;
+ (id)negotiatedFeaturesStringWithLocalFeaturesString:(id)a0 remoteFeaturesString:(id)a1;
+ (id)negotiationBlobFromData:(id)a0;
+ (id)newCompressedBlob:(id)a0;
+ (id)newDecompressedBlob:(id)a0;
+ (id)streamGroupIDsWithMediaBlob:(id)a0;
+ (BOOL)validateLocalConfiguration:(id)a0;
+ (BOOL)validateMultiwayAudioStreamConfigurations:(id)a0;
+ (BOOL)validateMultiwayVideoStreamConfigurations:(id)a0;

- (void)dealloc;
- (id)negotiationData;
- (id)newResponseBlob;
- (BOOL)addBandwidthSettingsForMediaBlob:(id)a0 operatingMode:(int)a1 connectionType:(int)a2 maxBitrate:(unsigned int)a3;
- (id)getPreferredScreenPayloadList;
- (id)initWithLocalSettings:(id)a0;
- (id)initWithMode:(long long)a0 localSettings:(id)a1;
- (BOOL)isCellular16x9EncodeCapable;
- (BOOL)isNegotiationModeForScreenShare:(long long)a0;
- (BOOL)isNegotiationModeValid:(long long)a0;
- (BOOL)isVideoStreamSupported:(int)a0;
- (id)localeWithMediaBlobLanguage:(int)a0;
- (int)mediaBlobLanguageWithLocale:(id)a0;
- (void)negotiateAudioAllowRecording:(id)a0;
- (BOOL)negotiateAudioDTXPayload:(id)a0;
- (BOOL)negotiateAudioPrimaryPayload:(id)a0;
- (BOOL)negotiateAudioREDPayload:(id)a0;
- (void)negotiateAudioSecondaryPayloads:(id)a0;
- (BOOL)negotiateAudioSettings:(id)a0;
- (void)negotiateAudioUseSBR:(id)a0;
- (BOOL)negotiateCaptionsWithCaptionsSettings:(id)a0;
- (BOOL)negotiateFaceTimeSettings:(id)a0;
- (BOOL)negotiateHDRMode:(id)a0 videoResults:(id)a1;
- (BOOL)negotiateMomentsWithMomentsSettings:(id)a0;
- (BOOL)negotiateMultiwayAudioStreams:(id)a0;
- (BOOL)negotiateMultiwayVideoStreams:(id)a0;
- (void)negotiateRTCPFB:(id)a0;
- (BOOL)negotiateScreenSettings:(id)a0;
- (void)negotiateTilesPerFrame:(id)a0 negotiatedSettings:(id)a1;
- (BOOL)negotiateVideoSettings:(id)a0;
- (id)newStreamConfigFromMultiwayAudioStream:(id)a0;
- (id)newStreamConfigFromMultiwayVideoStream:(id)a0;
- (id)newStreamGroupCodecConfigForPayload:(int)a0;
- (BOOL)processParameterSets:(id)a0 videoResults:(id)a1;
- (BOOL)processPixelFormats:(id)a0 videoResults:(id)a1;
- (BOOL)processRemoteNegotiationData:(id)a0;
- (BOOL)processResponseBlob:(id)a0;
- (unsigned int)remoteMaxBandwidthForOperatingMode:(int)a0 connectionType:(int)a1;
- (void)saveRemoteBandwidthSettingsWithMediaBlob:(id)a0;
- (BOOL)selectBestScreenRule:(id)a0 preferredPayloadOrder:(id)a1;
- (BOOL)selectBestVideoRuleForTransport:(unsigned char)a0 payload:(int)a1 encodingType:(unsigned char)a2 localVideoRuleCollection:(id)a3 remoteVideoSettings:(id)a4 negotiatedVideoSettings:(id)a5 isScreen:(BOOL)a6;
- (id)selectVideoFeatureString:(id)a0 selectedPayload:(int)a1;
- (BOOL)setupAudioWithNegotiatedSettings:(id)a0;
- (BOOL)setupBandwidthSettingsForMediaBlob:(id)a0;
- (void)setupCaptionsForMediaBlob:(id)a0;
- (void)setupFaceTimeSettingsForMediaBlob:(id)a0 isResponse:(BOOL)a1;
- (void)setupMomentsForMediaBlob:(id)a0;
- (void)setupMultiwayAudioStreamsForMediaBlob:(id)a0;
- (void)setupMultiwayVideoStreamsForMediaBlob:(id)a0;
- (BOOL)setupScreenWithNegotiatedSettings:(id)a0;
- (BOOL)setupVideoWithNegotiatedSettings:(id)a0;

@end