TVIVideoBandwidthProfileOptions Class Reference

Inherits from NSObject
Declared in TVIVideoBandwidthProfileOptions.h

Overview

VideoBandwidthProfileOptions enables you to configure how available bandwidth is shared among the TVIRemoteVideoTrack(s) in a Group Room.

  clientTrackSwitchOffControl

Optional parameter to configure the mode for switching off/on subscribed RemoteVideoTracks based on the subscriber’s rendering environment. Switching off a RemoteVideoTrack means no media is sent by the media server to the client for that track even though it has been subscribed to by the client. This feature helps in conserving network bandwidth and CPU resources by avoiding unnecessary transmission and decoding of remote tracks. This feature supersedes the maxTracks parameter. Attempting to set clientTrackSwitchOffControl when maxTracks is already set will throw an exception.

@property (nonatomic, copy, readonly, nonnull) TVIClientTrackSwitchOffControl clientTrackSwitchOffControl

Discussion

The default value is TVIClientTrackSwitchOffControlAuto.

Declared In

TVIVideoBandwidthProfileOptions.h

  contentPreferencesMode

Optional parameter to configure the mode for specifying content preferences for the TVIRemoteVideoTrack. When set to TVIVideoContentPreferencesModeAuto the SDK determines the render dimensions by inspecting the attached TVIVideoViews. TVIRemoteVideoTracks rendered in smaller TVIVideoViews will receive a lower resolution stream compared to the video rendered in larger TVIVideoViews. When set to TVIVideoContentPreferencesModeManual you can set the dimensions programmatically by calling TVIRemoteVideoTrack.setContentPreferences(). This feature supersedes the renderDimensions parameter. Attempting to set contentPreferencesMode when renderDimensions is already set will thrown an exception.

@property (nonatomic, copy, readonly, nonnull) TVIVideoContentPreferencesMode contentPreferencesMode

Discussion

The default value is TVIVideoContentPreferencesModeAuto.

Declared In

TVIVideoBandwidthProfileOptions.h

  dominantSpeakerPriority

Optional property to specify the default TrackPriority of the Dominant Speaker’s TVIRemoteVideoTrack(s).

@property (nonatomic, copy, readonly, nullable) TVITrackPriority dominantSpeakerPriority

Declared In

TVIVideoBandwidthProfileOptions.h

  maxSubscriptionBitrate

Optional property to specify the maximum downlink video bandwidth in Kilobits per second (Kbps).

@property (nonatomic, strong, readonly, nullable) NSNumber *maxSubscriptionBitrate

Discussion

The maximum bitrate for subscribed TVIRemoteVideoTracks, or none to allow the maximum possible in the Room. The default is 2,400 Kbps.

Declared In

TVIVideoBandwidthProfileOptions.h

  maxTracks

Optional property to specify the maximum number of visible TVIRemoteVideoTracks selected first using TrackPriority and second using an N-Loudest policy.

@property (nonatomic, strong, readonly, nullable) NSNumber *maxTracks

Discussion

The maximum number of video tracks. By default there are no limits on the number of visible TVIRemoteVideoTracks. This property is deprecated in favor of clientTrackSwitchOffControl. Attempting to set maxTracks when clientTrackSwitchOffControl is already set will throw an exception.

Declared In

TVIVideoBandwidthProfileOptions.h

  mode

Optional property to specify how TVIRemoteVideoTracks TrackPriority values are mapped to bandwidth allocation in Group Rooms.

@property (nonatomic, copy, readonly, nullable) TVIBandwidthProfileMode mode

Declared In

TVIVideoBandwidthProfileOptions.h

  renderDimensions

VideoRenderDimensions allows you to specify the desired render dimensions of TVIRemoteVideoTracks based on TrackPriority and the TVIRemoteVideoTracks of the Dominant Speaker. The bandwidth allocation algorithm will distribute the available downlink bandwidth proportional to the requested render dimensions.

@property (nonatomic, strong, readonly, nullable) TVIVideoRenderDimensions *renderDimensions

Discussion

This property is deprecated in favor of contentPreferencesMode. Attempting to set renderDimensions when contentPreferencesMode is already set will throw an exception.

Declared In

TVIVideoBandwidthProfileOptions.h

  trackSwitchOffMode

Optional property to configure how TVIRemoteVideoTrack(s) are switched off.

@property (nonatomic, copy, readonly, nullable) TVITrackSwitchOffMode trackSwitchOffMode

Declared In

TVIVideoBandwidthProfileOptions.h

+ optionsWithBlock:

Creates an instance of TVIVideoBandwidthProfileOptions using a builder block.

+ (nonnull instancetype)optionsWithBlock:(nonnull TVIVideoBandwidthProfileOptionsBuilderBlock)block

Parameters

block

The builder block which will be used to configure the TVIVideoBandwidthProfileOptions instance.

Return Value

An instance of TVIVideoBandwidthProfileOptions.

Declared In

TVIVideoBandwidthProfileOptions.h

– init

Developers shouldn’t initialize this class directly.

- (null_unspecified instancetype)init

Discussion

Use the class methods optionsWithBlock: instead.

Declared In

TVIVideoBandwidthProfileOptions.h