Max link bandwidth
PlanetKit allows you to set the maximum link bandwidth. LINE Planet limits the total network bitrate to the maximum link bandwidth. This page describes how to control the bitrate in LINE Planet.
Supported call type | Minimum SDK version |
---|---|
1-to-1 call, group call (conference) | WebPlanetKit 5.1 |
Application configuration
During call setup, you must configure a call parameter or a conference parameter. Setting both the maximum sending link bandwidth (maxSendLinkBandwidth)
and the maximum receiving link bandwidth (maxRecvLinkBandwidth)
causes PlanetKit to take these values into account and limit the total network bitrate. The APIs for setting maxSendLinkBandwidth
and maxRecvLinkBandwidth
by call type and user type are as follows:
API to set the maximum sending link bandwidth | API to set the maximum receiving link bandwidth | |
---|---|---|
Caller of 1-to-1 calls | maxSendLinkBandwidth of MakeCallParams | maxReceiveLinkBandwidth of MakeCallParams |
Callee of 1-to-1 calls | maxSendLinkBandwidth of VerifyCallParams | maxReceiveLinkBandwidth of VerifyCallParams |
Participant of group calls | maxSendLinkBandwidth of ConferenceParams | maxReceiveLinkBandwidth of ConferenceParams |
In addition, PlanetKit has default values for the maximum link bandwidth, defaultMaxSendLinkBandwidth
and defaultMaxRecvLinkBandwidth
. PlanetKit sets the link bandwidth to the minimum value between the application configuration and the default maximum link bandwidth, which is called localMaxSendLinkBandwidth
and localMaxRecvLinkBandwidth
.
// Pseudocode description
localMaxSendLinkBandwidth = MIN(maxSendLinkBandwidth, defaultMaxSendLinkBandwidth)
localMaxRecvLinkBandwidth = MIN(maxRecvLinkBandwidth, defaultMaxRecvLinkBandwidth)
The eventually applied bitrate limit depends on the call type.
WebPlanetKit has the following limitations regarding screen share:
- If
maxSendLinkBandwidth
is less than 1100 kbps- When doing screen share, the actual bitrate may exceed the value set by
maxSendLinkBandwidth
.
- When doing screen share, the actual bitrate may exceed the value set by
- If
maxRecvLinkBandwidth
is less than 1100 kbps- When viewing another participant's screen share, the quality may be poor.
1-to-1 call
During the call setup phase, PlanetKit limits the bitrate to the minimum value between localMaxSendLinkBandwidth
of the local user and localMaxRecvLinkBandwidth
of the remote user (peer).
// Pseudocode description
maxTransmitBitrate = MIN(localMaxSendLinkBandwidth, peerAttribute.localMaxRecvLinkBandwidth)
maxReceiveBitrate = MIN(localMaxRecvLinkBandwidth, peerAttribute.localMaxSendLinkBandwidth)
Group call
In a group call, there is no process of finding a minimum value among the participants in the call. Instead, the bitrate is limited to localMaxSendLinkBandwidth
and localMaxRecvLinkBandwidth
.
// Pseudocode description
maxTransmitBitrate = localMaxSendLinkBandwidth
maxReceiveBitrate = localMaxRecvLinkBandwidth
Default maximum link bandwidth
WebPlanetKit applies different default maximum link bandwidths by call type, as shown in the following table (in Mbps):
Call type | defaultMaxSendLinkBandwidth | defaultMaxRecvLinkBandwidth |
---|---|---|
1-to-1 call | 2.7 | 6 |
Group call | 3.2 | 6 |
- In WebPlanetKit 5.0 or lower, you cannot set the maximum link bandwidth. Instead, the default value for the maximum receivable bandwidth is set to 6 Mbps.
- Unlike PlanetKit, WebPlanetKit does not apply different maximum link bandwidths by access network and device type.