Пример #1
0
 public void DidAddStream(Webrtc.RTCPeerConnection peerConnection, Webrtc.RTCMediaStream stream)
 {
     // Depreceted. Convert to OnTrack.
     foreach (var track in stream.VideoTracks)
     {
         OnTrack?.Invoke(this, RTCTrackEvent.Create(track));
     }
     foreach (var track in stream.AudioTracks)
     {
         OnTrack?.Invoke(this, RTCTrackEvent.Create(track));
     }
 }
Пример #2
0
        public void DidChangeIceConnectionState(Webrtc.RTCPeerConnection peerConnection,
                                                Webrtc.RTCIceConnectionState newState)
        {
            //System.Diagnostics.Debug.WriteLine($"OOOOOOOOOOOOOOOOOOOOOOO PeerConnection.IceConnectionState: {newState}");

            OnIceConnectionStateChange?.Invoke(this, EventArgs.Empty);

            //// Make sure that state is connected with several attempts.
            //if (newState == Webrtc.RTCIceConnectionState.Connected)
            //{
            //    Timer timer = null;
            //    int count = 5;


            //    // Make sure that state is connected with several attempts.
            //    timer = new Timer(new TimerCallback((state) =>
            //    {
            //        if (((Webrtc.RTCPeerConnection)NativeObject).ConnectionState ==
            //            Webrtc.RTCPeerConnectionState.Connected || --count == 0)
            //        {
            //            timer.Dispose();
            //            System.Diagnostics.Debug.WriteLine($"OOOOOOOOOOOOOOOOOOOOOOO PeerConnection GENERATED CONNECTED {count}");
            //            OnConnectionStateChanged?.Invoke(this, EventArgs.Empty);
            //            return;
            //        }
            //    }), null, 10, 50);
            //    return;
            //}
            //else if (newState == Webrtc.RTCIceConnectionState.Disconnected)
            //{
            //    Timer timer = null;
            //    int count = 5;

            //    // Make sure that state is disconnected with several attempsts.
            //    timer = new Timer(new TimerCallback((state) =>
            //    {
            //        if (((Webrtc.RTCPeerConnection)NativeObject).ConnectionState ==
            //            Webrtc.RTCPeerConnectionState.Disconnected || --count == 0)
            //        {
            //            timer.Dispose();
            //            OnConnectionStateChanged?.Invoke(this, EventArgs.Empty);
            //            return;
            //        }
            //    }), null, 10, 50);
            //    return;
            //}
        }
Пример #3
0
 public void DidChangeLocalCandidate(Webrtc.RTCPeerConnection peerConnection, Webrtc.RTCIceCandidate local,
                                     Webrtc.RTCIceCandidate remote, int lastDataReceivedMs, string reason)
 {
 }
Пример #4
0
 public void DidRemoveReceiver(Webrtc.RTCPeerConnection peerConnection, Webrtc.IRTCRtpReceiver rtpReceiver)
 {
 }
Пример #5
0
 public void DidAddReceiver(Webrtc.RTCPeerConnection peerConnection, Webrtc.IRTCRtpReceiver rtpReceiver,
                            Webrtc.RTCMediaStream[] mediaStreams)
 {
 }
Пример #6
0
 public void DidStartReceivingOnTransceiver(Webrtc.RTCPeerConnection peerConnection,
                                            Webrtc.RTCRtpTransceiver transceiver)
 {
 }
Пример #7
0
 // This event is optional in iOS. Decide about the connection in 'DidChangeIceConnectionState'.
 public void DidChangeConnectionState(Webrtc.RTCPeerConnection peerConnection,
                                      Webrtc.RTCPeerConnectionState newState)
 {
     //System.Diagnostics.Debug.WriteLine($"=============================== PeerConnection.RTCPeerConnectionState: {newState}");
     OnConnectionStateChanged?.Invoke(this, EventArgs.Empty);
 }
Пример #8
0
 public void DidChangeStandardizedIceConnectionState(Webrtc.RTCPeerConnection peerConnection,
                                                     Webrtc.RTCIceConnectionState newState)
 {
 }
Пример #9
0
 public void DidOpenDataChannel(Webrtc.RTCPeerConnection peerConnection, Webrtc.RTCDataChannel dataChannel)
 {
     OnDataChannel?.Invoke(this, RTCDataChannelEvent.Create(dataChannel));
 }
Пример #10
0
 public void DidRemoveIceCandidates(Webrtc.RTCPeerConnection peerConnection, Webrtc.RTCIceCandidate[] candidates)
 {
     //// TODO: Anything to do for removal???
 }
Пример #11
0
 public void DidGenerateIceCandidate(Webrtc.RTCPeerConnection peerConnection, Webrtc.RTCIceCandidate candidate)
 {
     OnIceCandidate?.Invoke(this, RTCPeerConnectionIceEvent.Create(candidate));
 }
Пример #12
0
 public void DidChangeIceGatheringState(Webrtc.RTCPeerConnection peerConnection,
                                        Webrtc.RTCIceGatheringState newState)
 {
     OnIceGatheringStateChange?.Invoke(this, EventArgs.Empty);
 }
Пример #13
0
 public void ShouldNegotiate(Webrtc.RTCPeerConnection peerConnection)
 {
     OnNegotiationNeeded?.Invoke(this, EventArgs.Empty);
 }
Пример #14
0
 public void DidRemoveStream(Webrtc.RTCPeerConnection peerConnection, Webrtc.RTCMediaStream stream)
 {
     // Depreceted.
 }
Пример #15
0
 public void DidChangeSignalingState(Webrtc.RTCPeerConnection peerConnection,
                                     Webrtc.RTCSignalingState stateChanged)
 {
     OnSignallingStateChange?.Invoke(this, EventArgs.Empty);
 }