VideoComponentFactory

A factory for creating the components used by the Video Compose SDK.

Each method has a default implementation that renders the built-in component, so you only need to override the components you want to customize. The factory is provided through VideoTheme, and the built-in components read it via VideoTheme.componentFactory.

VideoTheme(
componentFactory = object : VideoComponentFactory {
@Composable
override fun RowScope.CallAppBarTrailingContent(
params: CallAppBarTrailingContentParams,
) {
// Custom trailing content
}
},
) {
CallContent(call = call)
}

Use CompoundComponentFactory to layer overrides on top of the current factory for a subtree.

Functions

Link copied to clipboard

The controls of the audio-only call screen, such as toggling the microphone or leaving the call.

Link copied to clipboard

The details of the audio-only call screen, such as the participant avatars and the call duration.

Link copied to clipboard

The header of the audio-only call screen. Empty by default.

Link copied to clipboard

The app bar shown in calls. The default implementation renders io.getstream.video.android.compose.ui.components.call.CallAppBar.

Link copied to clipboard

The center content of the call app bar. Usually the call duration or title, with the recording and reconnecting states.

Link copied to clipboard

The leading content of the call app bar. Usually the back button.

Link copied to clipboard

The trailing content of the call app bar. Usually the leave call button.

Link copied to clipboard

Content that renders closed captions in the active call. Empty by default.

Link copied to clipboard

Content shown when the user enters Picture in Picture mode.

Link copied to clipboard

The video content of the active call. The default implementation renders ParticipantsLayout with all the participants' videos.

Link copied to clipboard

Content rendered on top of the video when it is blurred by moderation. Empty by default.

Link copied to clipboard

Content that renders the video moderation warning.

Link copied to clipboard

Content drawn over the video content of the active call, excluding the controls. Empty by default.

Link copied to clipboard

The set of controls the user can use in the call lobby to change their audio and video device state before joining a call. Intentionally independent from ControlActions, so overriding the in-call controls does not affect the lobby.

Link copied to clipboard

Content shown in the call lobby when the local camera is disabled. It displays the user avatar by default.

Link copied to clipboard

The video preview of the call lobby, rendering the local video track before joining a call.

Link copied to clipboard

The participant label overlaid on the call lobby preview, showing the user's name and microphone state.

Link copied to clipboard

The set of controls the user can use to change their audio and video device state, browse other types of settings, or leave the call. The default implementation renders io.getstream.video.android.compose.ui.components.call.controls.ControlActions.

Link copied to clipboard

The incoming call screen, shown when the user receives a call from other people. The default implementation renders io.getstream.video.android.compose.ui.components.call.ringing.incomingcall.IncomingCallContent.

Link copied to clipboard

The controls of the incoming call screen, such as accepting or declining the call.

Link copied to clipboard

The details of the incoming call screen, such as call participant information.

Link copied to clipboard

The header of the incoming call screen. Empty by default.

Link copied to clipboard

The outgoing call screen, shown when the user is calling other people. The default implementation renders io.getstream.video.android.compose.ui.components.call.ringing.outgoingcall.OutgoingCallContent.

Link copied to clipboard

The controls of the outgoing call screen, such as cancelling the call.

Link copied to clipboard

The details of the outgoing call screen, such as call participant information.

Link copied to clipboard

The header of the outgoing call screen. Empty by default.

Link copied to clipboard

The sound indicator shown inside a participant label, showing the microphone state and audio level. The container applies the position and padding through ParticipantLabelSoundIndicatorContentParams.modifier.

Link copied to clipboard

A single participant video with a label, connection indicator, reactions and actions. The default implementation renders io.getstream.video.android.compose.ui.components.call.renderer.ParticipantVideo.

Link copied to clipboard

The action picker with call actions related to the selected participant.

The indicator that shows the connection quality of a participant.

Link copied to clipboard

Content shown when the participant video track fails to load or is not available. The default implementation renders the participant's avatar.

Link copied to clipboard

The label of a participant video, showing the participant's name and device states.

Link copied to clipboard

Content shown for a participant's reaction.

Link copied to clipboard

Content shown in place of the shared screen while the screen sharing session is loading or not available. The default implementation renders the sharing participant's avatar.