Skip to main content
Version: 5.5

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 typeMinimum 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 bandwidthAPI to set the maximum receiving link bandwidth
Caller of 1-to-1 callswithMaxSendLinkBandwidthKey() of PlanetKitMakeCallSettingBuilder iOS, macOSwithMaxRecvLinkBandwidthKey() of PlanetKitMakeCallSettingBuilder iOS, macOS
Callee of 1-to-1 callswithMaxSendLinkBandwidthKey() of PlanetKitVerifyCallSettingBuilder iOS, macOSwithMaxRecvLinkBandwidthKey() of PlanetKitVerifyCallSettingBuilder iOS, macOS
Participant of group callswithMaxSendLinkBandwidthKey() of PlanetKitJoinConferenceSettingBuilder iOS, macOSwithMaxRecvLinkBandwidthKey() of PlanetKitJoinConferenceSettingBuilder iOS, macOS

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

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 typeEthernetWi-Fi2G3G4G5G
Android, iOSNA1.6/30.1/0.10.7/0.71.6/32.1/3
macOS, Windows10/104/6NANANANA