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) | PlanetKit 3.3 |
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 PlanetKitMakeCallParam.Builder | maxReceiveBandwidth() of PlanetKitMakeCallParam.Builder |
Callee of 1-to-1 calls | maxSendLinkBandwidth() of PlanetKitVerifyCallParam.Builder | maxReceiveBandwidth() of PlanetKitVerifyCallParam.Builder |
Participant of group calls | maxSendLinkBandwidth() of PlanetKitConferenceParam.Builder | maxReceiveBandwidth() of PlanetKitConferenceParam.Builder |
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.
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
PlanetKit has its own default maximum link bandwidths, defaultMaxSendLinkBandwidth
and defaultMaxRecvLinkBandwidth
. These values depend on the access network and device type.
For the default values, refer to the following table. Each cell stands for defaultMaxSendLinkBandwidth
/defaultMaxRecvLinkBandwidth
in Mbps.
Platform type | Ethernet | Wi-Fi | 2G | 3G | 4G | 5G |
---|---|---|---|---|---|---|
Android, iOS | NA | 1.6/3 | 0.1/0.1 | 0.7/0.7 | 1.6/3 | 2.1/3 |
macOS, Windows | 10/10 | 4/6 | NA | NA | NA | NA |