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.