render Compose
Composable extension for rendering AlertComponent in Jetpack Compose
Composable render function for AudioCard.
Composable extension for rendering AudioDecibelCheck in Jetpack Compose
Composable extension for rendering AudioGrid in Jetpack Compose
Composable extension for rendering CardVideoDisplay in Jetpack Compose
NOTE: This is a placeholder implementation. Full video rendering requires platform-specific code.
For production use, implement platform-specific video renderers:
Android: Use AndroidView with SurfaceViewRenderer from WebRTC
AndroidView(
factory = { context ->
SurfaceViewRenderer(context).apply {
init(EglBase.create().eglBaseContext, null)
setScalingType(if (forceFullDisplay)
RendererCommon.ScalingType.SCALE_ASPECT_FILL
else RendererCommon.ScalingType.SCALE_ASPECT_FIT)
setMirror(doMirror)
// Attach video track from stream
videoStream?.getVideoTracks()?.firstOrNull()?.let { track ->
track.addSink(this)
}
}
},
update = { view ->
// Update when stream changes
},
onRelease = { view ->
view.release()
}
)iOS: Use UIViewRepresentable with RTCMTLVideoView
UIKitView(
factory = {
val videoView = RTCMTLVideoView()
videoView.contentMode = if (forceFullDisplay)
UIViewContentMode.scaleAspectFill
else UIViewContentMode.scaleAspectFit
// Attach video track from stream
videoStream?.getVideoTracks()?.firstOrNull()?.let { track ->
track.add(videoView)
}
videoView
},
update = { view ->
// Update when stream changes
}
)See Flutter's card_video_display.dart (757 lines) for reference implementation. Key features to implement:
RTCVideoRenderer lifecycle (init, attach stream, dispose)
Stream polling for async track availability
Layered rendering (video + placeholder + overlay)
Mirror transform for local camera
Object-fit control (cover vs contain)
Composable extension for rendering ControlButtonsAltComponent in Jetpack Compose
Composable extension for rendering ControlButtonsComponentTouch in Jetpack Compose
Composable extension for rendering FlexibleVideo in Jetpack Compose
Composable extension for rendering MainAspectComponent in Jetpack Compose
Composable extension for rendering MainContainerComponent in Jetpack Compose
Composable extension for rendering MainGridComponent in Jetpack Compose
Composable extension for rendering MainScreenComponent in Jetpack Compose
Composable render function for MiniAudio.
Composable render function for MiniCard.
This extension function renders the MiniCard using Jetpack Compose, utilizing the interface's helper methods for customization. Users can override getInitials(), shouldShowVideo(), and getContainerStyle() in custom implementations to customize behavior.
Composable extension for rendering OtherGridComponent in Jetpack Compose
Composable extension for rendering Pagination in Jetpack Compose
Renders pagination at TOP of grid with proper breakout room support. Shows icons for breakout rooms matching Flutter modern_pagination.
Composable extension for rendering SubAspectComponent in Jetpack Compose