Platform docs
Auth, users, webhooks & more

Network Quality Indicator

Network quality can impact the video experience a lot. Therefore, it's always a good idea to display the network quality of the participants in the call.

Network quality in a call

When you are in a call, the network quality for each participant is delivered from the server. It's available via the connectionQuality property for each CallParticipant. The connection quality property can have the following values:

public enum ConnectionQuality: Sendable {
    case unknown
    case poor
    case good
    case excellent
}

By default, the SwiftUI SDK displays this information in the VideoCallParticipantModifier, via the ConnectionQualityIndicator view.

ConnectionQualityIndicator(connectionQuality: participant.connectionQuality)

Additionally, you can change the size and the width of the connection quality ticks, by passing the size and width parameters to the ConnectionQualityIndicator view.

If you wish to change this behaviour, you should implement the makeVideoCallParticipantModifier method and provide your own implementation that can modify or hide this view.

Add Chat to my app: getstream.io/SKILL.md

The fastest way to build with Stream. Start a new project or improve an existing one. Full CLI and documentation integration out of the box.


Ask your agent:

/stream Build me a Social App with Feeds and Moderation.
/stream Any livestream calls running?
/stream Video iOS v1: <Your Question>