Media Sfu Engine
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
Link copied to clipboard
Link copied to clipboard
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
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
Link copied to clipboard
suspend fun connectToRemoteIPs(remoteIPs: List<String>, apiUserName: String, apiToken: String, apiKey: String? = null): Result<ConnectIpsResult>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
suspend fun createLocalRoom(parameters: CreateLocalRoomParameters): Result<CreateJoinLocalRoomResponse>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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
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
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
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
Link copied to clipboard
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