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
The controls of the audio-only call screen, such as toggling the microphone or leaving the call.
The details of the audio-only call screen, such as the participant avatars and the call duration.
The header of the audio-only call screen. Empty by default.
The app bar shown in calls. The default implementation renders io.getstream.video.android.compose.ui.components.call.CallAppBar.
The center content of the call app bar. Usually the call duration or title, with the recording and reconnecting states.
The leading content of the call app bar. Usually the back button.
The trailing content of the call app bar. Usually the leave call button.
Content that renders closed captions in the active call. Empty by default.
Content shown when the user enters Picture in Picture mode.
The video content of the active call. The default implementation renders ParticipantsLayout with all the participants' videos.
Content rendered on top of the video when it is blurred by moderation. Empty by default.
Content that renders the video moderation warning.
Content drawn over the video content of the active call, excluding the controls. Empty by default.
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.
Content shown in the call lobby when the local camera is disabled. It displays the user avatar by default.
The video preview of the call lobby, rendering the local video track before joining a call.
The participant label overlaid on the call lobby preview, showing the user's name and microphone state.
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.
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.
The controls of the incoming call screen, such as accepting or declining the call.
The details of the incoming call screen, such as call participant information.
The header of the incoming call screen. Empty by default.
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.
The controls of the outgoing call screen, such as cancelling the call.
The details of the outgoing call screen, such as call participant information.
The header of the outgoing call screen. Empty by default.
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.
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.
The action picker with call actions related to the selected participant.
The indicator that shows the connection quality of a participant.
Content shown when the participant video track fails to load or is not available. The default implementation renders the participant's avatar.
The label of a participant video, showing the participant's name and device states.
Content shown for a participant's reaction.
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.