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 RemoteVideoTrack
s 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 TVIVideoView
s. TVIRemoteVideoTrack
s rendered in smaller TVIVideoView
s will receive a
lower resolution stream compared to the video rendered in larger TVIVideoView
s. 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 TVIRemoteVideoTrack
s, 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 TVIRemoteVideoTrack
s 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 TVIRemoteVideoTrack
s. 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 TVIRemoteVideoTrack
s 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 TVIRemoteVideoTrack
s
based on TrackPriority and the TVIRemoteVideoTrack
s 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 |
---|
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