public void OnConnectionStateChanged(ReceivingPeer peer, RTCPeerConnectionState connectionState) { switch (connectionState) { case RTCPeerConnectionState.closed: // TODO break; } }
public void OnIceCandidate(ReceivingPeer peer, RTCIceCandidate iceCandidate) { _connection.SendIceCandidate(new IceCandidateArgs { ConnectionId = peer.ConnectionId, CandidateDto = new RtcIceCandidateDto { Candidate = iceCandidate.candidate, SdpMid = iceCandidate.sdpMid, SdpMLineIndex = iceCandidate.sdpMLineIndex, UsernameFragment = iceCandidate.usernameFragment } }); }
public void OnFrameReceived(ReceivingPeer peer, Memory <byte> frame, uint rtpTimestamp, long timestamp) { _outputStream.Write(frame.Span); }
public VirtualStudioClient(Stream outputStream) { _outputStream = outputStream ?? throw new ArgumentNullException(nameof(outputStream)); _peer = new ReceivingPeer(this, true); }