public static class VideoBandwidthProfileOptions.Builder
extends java.lang.Object
VideoBandwidthProfileOptions
.Constructor and Description |
---|
Builder() |
public VideoBandwidthProfileOptions.Builder dominantSpeakerPriority(@Nullable TrackPriority priority)
TrackPriority
of the Dominant Speaker's RemoteVideoTrack
s. This property is null
by default and can be set to null
. A null
value results in the Twilio Media Server selecting the Dominant
Speaker's priority. This property will only be enabled if the Dominant Speaker feature is
enabled via ConnectOptions.Builder.enableDominantSpeaker(boolean)
.priority
- The track priority to use or null
.public VideoBandwidthProfileOptions.Builder maxSubscriptionBitrate(@Nullable java.lang.Long maxSubscriptionBitrate)
null
. A null
value results in the
maximum allowed bitrate for a Room
.maxSubscriptionBitrate
- The maximum bitrate for subscribe RemoteVideoTrack
s
or null
.@Deprecated public VideoBandwidthProfileOptions.Builder maxTracks(@Nullable java.lang.Long maxTracks)
ClientTrackSwitchOffControl
.
Attempting to set maxTracks when ClientTrackSwitchOffControl
is already set
will throw an exception.RemoteVideoTrack
s selected first using TrackPriority
and second using an N-Loudest policy. This property is null
by
default and can be set to null
. A null
value results in no limits on the
number of visible RemoteVideoTrack
s.maxTracks
- The maximum number of video tracks or null
.public VideoBandwidthProfileOptions.Builder mode(@Nullable BandwidthProfileMode mode)
RemoteVideoTrack
s TrackPriority
values are mapped to bandwidth
allocation in Group Rooms. This property is null
by default and can be set to
null
. A null
value results in the Twilio Media Server selecting the mode.mode
- The BandwidthProfileMode
to use or null
.public VideoBandwidthProfileOptions.Builder renderDimensions(@NonNull java.util.Map<TrackPriority,VideoDimensions> dimensions)
videoContentPreferencesMode(VideoContentPreferencesMode)
. Attempting to set
renderDimensions when the content preferences mode is already set will throw an
exception.RemoteVideoTrack
s based on TrackPriority
and the RemoteVideoTrack
s of the Dominant Speaker. The bandwidth
allocation algorithm will distribute the available downlink bandwidth proportional to the
requested render dimensions.dimensions
- A map containing at most one entry for each TrackPriority
.public VideoBandwidthProfileOptions.Builder trackSwitchOffMode(@Nullable TrackSwitchOffMode mode)
RemoteVideoTrack
s are switched off. This property is null
by default and can be set to null
. A null
value results in the Twilio
Media Server selecting the track switch off mode.mode
- The TrackSwitchOffMode
to use or null
.public VideoBandwidthProfileOptions.Builder clientTrackSwitchOffControl(@Nullable ClientTrackSwitchOffControl control)
RemoteVideoTrack
s are switched on and off based on the provided
ClientTrackSwitchOffControl
. This cannot be set along with maxTracks(Long)
, otherwise a IllegalArgumentException
will be thrown when
build()
is invoked. This property is null
by default and can be set to
null
. A null
value results in automatically selecting ClientTrackSwitchOffControl.AUTO
.control
- The ClientTrackSwitchOffControl
to use or null
.public VideoBandwidthProfileOptions.Builder videoContentPreferencesMode(@Nullable VideoContentPreferencesMode mode)
VideoContentPreferencesMode
. This cannot be set along with renderDimensions(Map)
, otherwise a IllegalArgumentException
will be thrown when
build()
is invoked. This property is null
by default and can be set to
null
. A null
value results in automatically selecting VideoContentPreferencesMode.AUTO
.mode
- The VideoContentPreferencesMode
to use or null
.public VideoBandwidthProfileOptions build()
7.0.0