TVIConnectOptionsBuilder Class Reference

Inherits from NSObject
Declared in TVIConnectOptions.h

Overview

TVIConnectOptionsBuilder is a builder class for TVIConnectOptions.

  audioTracks

A collection of local audio tracks which will be shared in the Room.

@property (nonatomic, copy, nonnull) NSArray<TVILocalAudioTrack*> *audioTracks

Declared In

TVIConnectOptions.h

  automaticSubscriptionEnabled

Enables or disables automatic Track subcription in Group Rooms.

@property (nonatomic, assign, getter=isAutomaticSubscriptionEnabled) BOOL automaticSubscriptionEnabled

Discussion

By default, your LocalParticipant will subscribe to every RemoteParticipant’s Tracks. You can disable this by setting automaticSubscriptionEnabled to NO. Note that this does not take effect in Peer-to-Peer (P2P) Rooms, where the setting is silently ignored.

Declared In

TVIConnectOptions.h

  dataTracks

A collection of local data tracks which will be shared in the Room.

@property (nonatomic, copy, nonnull) NSArray<TVILocalDataTrack*> *dataTracks

Declared In

TVIConnectOptions.h

  delegateQueue

The queue where the Room and associated classes will invoke delegate methods.

@property (nonatomic, strong, nullable) dispatch_queue_t delegateQueue

Discussion

All delegate methods except for TVIVideoViewDelegate and TVICameraCaptureDelegate are performed on this queue. Any TVIRoom instance which is created with these options will maintain a strong reference to the queue until it is destroyed. The default value of nil indicates that the main dispatch queue will be used.

Declared In

TVIConnectOptions.h

  dominantSpeakerEnabled

Enables or disables the Dominant Speaker API.

@property (nonatomic, assign, getter=isDominantSpeakerEnabled) BOOL dominantSpeakerEnabled

Discussion

Set this to YES to enable the Dominant Speaker API when using Group Rooms. This option has no effect in Peer-to-Peer Rooms. The default value is NO.

Declared In

TVIConnectOptions.h

  encodingParameters

Encoding parameters to use when sharing media in the Room.

@property (nonatomic, strong, nullable) TVIEncodingParameters *encodingParameters

Discussion

The default value is nil which indicates that parameters will be chosen by the media engine. Setting both videoEncodingMode and EncodingParameters.maxVideoBitrate is not allowed and will result in an NSInvalidArgumentException.

Declared In

TVIConnectOptions.h

  iceOptions

A custom ICE configuration used to connect to a Room.

@property (nonatomic, strong, nullable) TVIIceOptions *iceOptions

Declared In

TVIConnectOptions.h

  insightsEnabled

Enables or disables Insights statistics collection.

@property (nonatomic, assign, getter=areInsightsEnabled) BOOL insightsEnabled

Discussion

The default value is YES. Insights reports metrics about the Media that your Participant sends and receives in a Room.

Declared In

TVIConnectOptions.h

  networkPrivacyPolicy

This policy restricts which communication routes can be used to send and receive media with other Participants.

@property (nonatomic, assign) TVILocalNetworkPrivacyPolicy networkPrivacyPolicy

Discussion

The default value is allowAll on iOS 11-13 and blockLocal on iOS 14 and above.

Declared In

TVIConnectOptions.h

  networkQualityEnabled

Enables or disables the Network Quality API.

@property (nonatomic, assign, getter=isNetworkQualityEnabled) BOOL networkQualityEnabled

Discussion

Set this to YES to enable the Network Quality API when using Group Rooms. This option has no effect in Peer-to-Peer Rooms. The default value is NO.

Declared In

TVIConnectOptions.h

  networkQualityConfiguration

Sets the verbosity level for network quality information returned by the Network Quality API.

@property (nonatomic, strong, nullable) TVINetworkQualityConfiguration *networkQualityConfiguration

Discussion

If a TVINetworkQualityConfiguration is not provided, the default configuration is used: TVINetworkQualityVerbosityMinimal for the Local Participant and TVINetworkQualityVerbosityNone for the Remote Participants.

Declared In

TVIConnectOptions.h

  preferredAudioCodecs

The collection of preferred audio codecs.

@property (nonatomic, copy, nonnull) NSArray<TVIAudioCodec*> *preferredAudioCodecs

Discussion

The list specifies which audio codecs will be preferred when negotiating audio between participants. The preferences are applied in the order found in the list starting with the most preferred audio codec to the least preferred audio codec. Audio codec preferences are not guaranteed to be satisfied because not all participants are guaranteed to support all audio codecs. TVIOpusCodec is the default audio codec if no preferences are set.

Declared In

TVIConnectOptions.h

  preferredVideoCodecs

The collection of preferred video codecs.

@property (nonatomic, copy, nonnull) NSArray<TVIVideoCodec*> *preferredVideoCodecs

Discussion

The list specifies which video codecs will be preferred when negotiating video between participants. The preferences are applied in the order found in the list starting with the most preferred video codec to the least preferred video codec. Video codec preferences are not guaranteed to be satisfied because not all participants are guaranteed to support all video codecs. TVIVp8Codec is the default video codec if no preferences are set.

Setting both videoEncodingMode and preferredVideoCodecs is not allowed and will result in an NSInvalidArgumentException.

Declared In

TVIConnectOptions.h

  region

The region that the Client will connect to.

@property (nonatomic, copy, nonnull) NSString *region

Discussion

By default, the Client will connect to the nearest signaling Server determined by latency based routing. Setting a value other than “gll” bypasses routing and guarantees that signaling traffic will be terminated in the region that you prefer. If you are connecting to a Group Room created with the “gll” Media Region (either Ad-Hoc or via the REST API), then the Room’s Media Region will be selected based upon your Client’s region. The default value is gll.

Declared In

TVIConnectOptions.h

  roomName

The name of the Room which you want to connect to.

@property (nonatomic, copy, nullable) NSString *roomName

Discussion

You can provide the name of new or existing Room. The default value of nil indicates that a new Room will be created.

Declared In

TVIConnectOptions.h

  videoEncodingMode

Specify the VideoEncodingMode. This is a beta API.

@property (nonatomic, copy, nullable) TVIVideoEncodingMode videoEncodingMode

Discussion

The default value is unset. Attempting to set videoEncodingMode while either EncodingParameters.maxVideoBitrate or preferredVideoCodecs is set will result in an NSInvalidArgumentException being thrown.

Declared In

TVIConnectOptions.h

  videoTracks

A collection of local video tracks which will be shared in the Room.

@property (nonatomic, copy, nonnull) NSArray<TVILocalVideoTrack*> *videoTracks

Declared In

TVIConnectOptions.h

  bandwidthProfileOptions

Configure how the available downlink bandwidth is shared among the TVIRemoteVideoTracks you have subscribed to in a Group or Small-Group Room. This property has no effect in Peer-to-Peer Rooms.

@property (nonatomic, strong, nullable) TVIBandwidthProfileOptions *bandwidthProfileOptions

Declared In

TVIConnectOptions.h

– init

You should not initialize TVIConnectOptionsBuilder directly, use a TVIConnectOptionsBuilderBlock instead.

- (null_unspecified instancetype)init

Declared In

TVIConnectOptions.h