Package-level declarations

Functions

Link copied to clipboard
fun buildDefaultLobbyControlActions(call: Call, onCallAction: (CallAction) -> Unit, isCameraEnabled: Boolean = if (LocalInspectionMode.current) { true } else { call.camera.isEnabled.value }, isMicrophoneEnabled: Boolean = if (LocalInspectionMode.current) { true } else { call.microphone.isEnabled.value }, showHifiAudioToggle: Boolean = false): List<@Composable () -> Unit>

Builds the default set of Lobby Control actions based on the call device states.

Link copied to clipboard
fun CallLobby(modifier: Modifier = Modifier, call: Call, user: User = StreamVideo.instance().user, labelPosition: Alignment, isCameraEnabled: Boolean = if (LocalInspectionMode.current) { true } else { call.camera.isEnabled.value }, isMicrophoneEnabled: Boolean = if (LocalInspectionMode.current) { true } else { call.microphone.isEnabled.value }, video: ParticipantState.Video = ParticipantState.Video( sessionId = call.sessionId, track = VideoTrack( streamId = call.sessionId, video = if (LocalInspectionMode.current) { org.webrtc.VideoTrack(1000L) } else { call.camera.mediaManager.videoTrack }, ), enabled = isCameraEnabled, paused = false, ), permissions: VideoPermissionsState = rememberCallPermissionsState(call = call), onRendered: (View) -> Unit = {}, onRenderedContent: @Composable (video: ParticipantState.Video) -> Unit = { DefaultOnRenderedSlot(call, it, onRendered) }, onDisabledContent: @Composable () -> Unit = { DefaultOnDisabledSlot(user) }, onCallAction: (CallAction) -> Unit = { DefaultOnCallActionHandler.onCallAction(call, it) }, lobbyControlsContent: @Composable (modifier: Modifier, call: Call) -> Unit = { modifier, call -> DefaultLobbyControlsSlot(modifier, call, isCameraEnabled, isMicrophoneEnabled, onCallAction) })

fun CallLobby(modifier: Modifier = Modifier, call: Call, user: User = StreamVideo.instance().user, isCameraEnabled: Boolean = if (LocalInspectionMode.current) { true } else { call.camera.isEnabled.value }, isMicrophoneEnabled: Boolean = if (LocalInspectionMode.current) { true } else { call.microphone.isEnabled.value }, video: ParticipantState.Video = ParticipantState.Video( sessionId = call.sessionId, track = VideoTrack( streamId = call.sessionId, video = if (LocalInspectionMode.current) { org.webrtc.VideoTrack(1000L) } else { call.camera.mediaManager.videoTrack }, ), enabled = isCameraEnabled, paused = false, ), permissions: VideoPermissionsState = rememberCallPermissionsState(call = call), onRendered: (View) -> Unit = {}, onRenderedContent: @Composable (video: ParticipantState.Video) -> Unit = { DefaultOnRenderedSlot(call, it, onRendered) }, onDisabledContent: @Composable () -> Unit = { DefaultOnDisabledSlot(user) }, videoPreviewModifier: Modifier = defaultVideoPreviewModifier(), participantLabelContent: @Composable BoxScope.() -> Unit = { DefaultParticipantLabelSlot(user, isMicrophoneEnabled, Alignment.BottomStart) }, onCallAction: (CallAction) -> Unit = { DefaultOnCallActionHandler.onCallAction(call, it) }, lobbyControlsContent: @Composable (modifier: Modifier, call: Call) -> Unit = { modifier, call -> DefaultLobbyControlsSlot(modifier, call, isCameraEnabled, isMicrophoneEnabled, onCallAction) })

Represents the UI in a preview call that renders a local video track to pre-display a video before joining a call.