Example #1
0
        private void OnPeerDisconnected()
        {
            Logger.Log($"Peer disconnected.");

            //// Update the video source if needed
            //var selectedVideoTrack = LocalVideoTracks.SelectedItem;
            //if (selectedVideoTrack.IsRemote)
            //{

            //    _remoteVideoPlayer.Pause();
            //    _remoteVideoPlayer.Source = null;
            //    remoteVideo.SetMediaPlayer(null);
            //    _remoteVideoSource?.NotifyError(MediaStreamSourceErrorStatus.ConnectionToServerLost);
            //    _remoteMediaSource?.Dispose();
            //}

            ThreadHelper.RunOnMainThread(() =>
            {
                // Remove all remote tracks
                for (int i = AudioTracks.Count - 1; i >= 0; --i)
                {
                    if (AudioTracks[i].IsRemote)
                    {
                        AudioTracks.RemoveAt(i);
                    }
                }
                for (int i = VideoTracks.Count - 1; i >= 0; --i)
                {
                    if (VideoTracks[i].IsRemote)
                    {
                        VideoTracks.RemoveAt(i);
                    }
                }
            });
        }