private void ReadMessage(SignalingMessage msg) { if (msg.Type?.Equals(SessionDescription.SdpType.Offer.ToString(), StringComparison.OrdinalIgnoreCase) == true) { _webRtcClient.ReceiveOffer( new SessionDescription( SessionDescription.SdpType.Offer, msg.Sdp), (sdp, err) => { if (string.IsNullOrEmpty(err)) { var signal = new SignalingMessage() { Type = sdp.Type.ToString(), Sdp = sdp.Description, }; SendViaSocket(signal); } }); } else if (msg.Type?.Equals(SessionDescription.SdpType.Answer.ToString(), StringComparison.OrdinalIgnoreCase) == true) { _webRtcClient.ReceiveAnswer( new SessionDescription( SessionDescription.SdpType.Answer, msg.Sdp), (sdp, err) => { }); } else if (msg.Candidate != null) { _webRtcClient.ReceiveCandidate(new IceCandidate( msg.Candidate.SdpMid, msg.Candidate.SdpMLineIndex, msg.Candidate.Sdp)); } }
private void ReadMessage(SignalingMessage msg) { if (msg.Type?.Equals(RTCSdpType.Offer.ToString(), StringComparison.OrdinalIgnoreCase) == true) { _webRtcClient.ReceiveOffer(new RTCSessionDescription(RTCSdpType.Offer, msg.Sdp), (sdp, err) => { if (err == null) { SendSdp(sdp); } }); } else if (msg.Type?.Equals(RTCSdpType.Answer.ToString(), StringComparison.OrdinalIgnoreCase) == true) { _webRtcClient.ReceiveAnswer(new RTCSessionDescription(RTCSdpType.Answer, msg.Sdp), (sdp, err) => { }); } else if (msg.Candidate != null) { _webRtcClient.ReceiveCandidate(new RTCIceCandidate(msg.Candidate.Sdp, msg.Candidate.SdpMLineIndex, msg.Candidate.SdpMid)); } }