Package-level declarations

Functions

Link copied to clipboard
fun LivestreamPlayer(modifier: Modifier = Modifier, call: Call, enablePausing: Boolean = true, onPausedPlayer: (isPaused: Boolean) -> Unit? = {}, backstageContent: @Composable BoxScope.(Call) -> Unit = { LivestreamBackStage(call) }, videoRendererConfig: VideoRendererConfig = videoRenderConfig(), livestreamFlow: Flow<ParticipantState.Video?> = call.state.participants.flatMapLatest { participants: List<ParticipantState> -> // For each participant, create a small Flow that watches videoEnabled. val participantVideoFlows = participants.map { participant -> participant.videoEnabled.map { enabled -> participant to enabled } } // Combine these Flows: whenever a participant’s videoEnabled changes, // we re-calculate which participants have video. combine(participantVideoFlows) { participantEnabledPairs -> participantEnabledPairs .filter { (_, isEnabled) -> isEnabled } .map { (participant, _) -> participant } } }.flatMapLatest { participantWithVideo -> participantWithVideo.firstOrNull()?.video ?: flow { emit(null) } }, rendererContent: @Composable BoxScope.(Call) -> Unit = defaultRenderer, overlayContent: @Composable BoxScope.(Call) -> Unit = defaultLivestreamPlayerOverlay, liveStreamEndedContent: @Composable BoxScope.(Call) -> Unit = { LivestreamEndedUi(call) }, liveStreamHostVideoNotAvailableContent: @Composable BoxScope.(Call) -> Unit = { HostVideoNotAvailableUi(call) }, liveStreamErrorContent: @Composable BoxScope.(Call, () -> Unit) -> Unit = { _, retryJoin -> LivestreamErrorUi(call, retryJoin) }, onRetryJoin: () -> Unit = {})

Renders a livestream video player UI based on the current state of the provided call.

Inherited functions

Link copied to clipboard
fun BoxScope.LivestreamPlayerOverlay(call: Call, isAudioEnabled: Boolean = true, onAudioToggle: (Boolean) -> Unit = {})