Slide 57
Slide 57 text
class WebRTCDataSource(
private val peerConnection: PeerConnection = PeerConnection(defaultRtcConfig),
private var dataChannel: DataChannel? = null
) {
private var peerConnectionJob: Job = SupervisorJob()
private val coroutineScope: CoroutineScope = CoroutineScope(Dispatchers.Default)
var onIceCandidateStream: Flow? = null
var peerConnectionState: StateFlow? = null
init {
dataChannel = peerConnection.createDataChannel(
label = "input",
id = 0,
ordered = true,
maxRetransmitTimeMs = -1,
maxRetransmits = -1,
protocol = "",
negotiated = false
)
onIceCandidateStream = peerConnection.onIceCandidate
peerConnectionState = peerConnection.onConnectionStateChange