MediaSfuEngine

class MediaSfuEngine(socketConfig: SocketConfig = SocketConfig(), deviceProvider: () -> WebRtcDevice?? = null)

Constructors

Link copied to clipboard
constructor(socketConfig: SocketConfig = SocketConfig(), deviceProvider: () -> WebRtcDevice?? = null)

Functions

Link copied to clipboard
suspend fun addVideosToGrid(participants: List<Participant> = parameters.participants, streams: List<Stream> = parameters.lStreams, forceUpdate: Boolean = false): Result<Unit>
Link copied to clipboard
suspend fun autoAdjustLayout(n: Int, eventType: Any? = null, shareScreenStarted: Boolean = false, shared: Boolean = false): Result<List<Int>>
Link copied to clipboard
Link copied to clipboard
suspend fun checkMediaPermission(permissionType: String, audioSetting: String = "allow", videoSetting: String = "allow", screenshareSetting: String = "approval", chatSetting: String = "allow"): Result<Int>
Link copied to clipboard
suspend fun compareScreenStates(restart: Boolean = false, screenStates: List<ScreenState> = parameters.screenStates, prevScreenStates: List<ScreenState> = parameters.prevScreenStates, activeNames: List<String> = parameters.activeNames): Result<Unit>
Link copied to clipboard
suspend fun connect(url: String, config: SocketConfig = socketConfig): Result<Unit>
Link copied to clipboard
suspend fun connectAudioTransport(stream: Any? = null, audioConstraints: Map<String, Any>? = null, targetOption: String = "all"): Result<Unit>
Link copied to clipboard
Link copied to clipboard
suspend fun connectLocal(link: String, timeoutMillis: Long = 10000, config: SocketConfig = socketConfig.copy( transports = listOf("websocket"), autoConnect = true )): Result<ResponseLocalConnection>
Link copied to clipboard
suspend fun connectReceiveTransport(consumer: WebRtcConsumer, consumerTransport: WebRtcTransport, remoteProducerId: String, serverConsumerTransportId: String): Result<Unit>
Link copied to clipboard
suspend fun connectScreenTransport(stream: Any? = null, targetOption: String = "all"): Result<Unit>
Link copied to clipboard
suspend fun connectToRemoteIPs(remoteIPs: List<String>, apiUserName: String, apiToken: String, apiKey: String? = null): Result<ConnectIpsResult>
Link copied to clipboard
suspend fun connectVideoTransport(videoParams: Any? = null, videoConstraints: Map<String, Any>? = null, targetOption: String = "all"): Result<Unit>
Link copied to clipboard
suspend fun controlParticipantMedia(participantId: String, participantName: String, type: String, coHost: String = "", roomName: String = ""): Result<Unit>
Link copied to clipboard
suspend fun createSendTransport(option: String, audioConstraints: Map<String, Any>? = null, videoConstraints: Map<String, Any>? = null): Result<Unit>
Link copied to clipboard
suspend fun disconnect(): Result<Unit>
Link copied to clipboard
Link copied to clipboard
fun greet(): String
Link copied to clipboard
fun initializeDevice(context: Any?)
Link copied to clipboard
Link copied to clipboard
suspend fun joinConRoom(roomName: String, islevel: String, member: String, sec: String, apiUserName: String): Result<ResponseJoinRoom>
Link copied to clipboard
Link copied to clipboard
suspend fun joinLocalRoom(roomName: String, islevel: String, member: String, sec: String, apiUserName: String): Result<ResponseJoinLocalRoom>
Link copied to clipboard
suspend fun joinRoom(roomName: String, islevel: String, member: String, sec: String, apiUserName: String): Result<ResponseJoinRoom>
Link copied to clipboard
suspend fun mixVideoStreams(alVideoStreams: List<Stream> = emptyList(), nonAlVideoStreams: List<Stream> = emptyList(), refParticipants: List<Participant> = emptyList()): Result<List<Any>>
Link copied to clipboard
suspend fun prepopulateMedia(mediaType: String, constraints: Map<String, Any>? = null, targetOption: String = "all"): Result<Unit>
Link copied to clipboard
suspend fun processVideoStreams(participants: List<Participant> = emptyList(), allVideoStreams: List<Stream> = emptyList(), oldAllStreams: List<Stream> = emptyList(), adminVidID: String? = null): Result<Unit>
Link copied to clipboard
suspend fun reorderStreams(add: Boolean = true, screenChanged: Boolean = false, streams: List<Stream> = parameters.newLimitedStreams): Result<Unit>
Link copied to clipboard
suspend fun resumeConsumer(stream: MediaStream?, consumer: WebRtcConsumer?, kind: String, remoteProducerId: String): Result<Unit>
Link copied to clipboard
suspend fun resumePauseStreams(participants: List<Participant> = parameters.participants, dispActiveNames: List<String> = parameters.dispActiveNames, consumerTransports: List<WebRtcTransport> = parameters.consumerTransportsWebRtc, screenId: String? = parameters.screenId.ifEmpty { null }, islevel: String = parameters.islevel): Result<Unit>
Link copied to clipboard
Link copied to clipboard
suspend fun startScreenSharing(targetWidth: Int = 1920, targetHeight: Int = 1080): Result<Unit>
Link copied to clipboard
suspend fun stopScreenSharing(): Result<Unit>
Link copied to clipboard
suspend fun triggerScreenUpdate(refActiveNames: List<String> = parameters.activeNames, roomName: String = parameters.roomName, eventType: EventType = parameters.eventType, shared: Boolean = parameters.shared, shareScreenStarted: Boolean = parameters.shareScreenStarted, whiteboardStarted: Boolean = parameters.whiteboardStarted, whiteboardEnded: Boolean = parameters.whiteboardEnded): Result<Unit>
Link copied to clipboard
suspend fun updateGridLayout(rows: Int = 2, columns: Int = 2, forceFullDisplay: Boolean = false): Result<Unit>